AI Cho Mọi Người

AI Cho Mọi Người

Đại số tuyến tính cơ bản

Giới thiệu

Đại số tuyến tính là toán của ma trận (matrix) và vectơ (vector). Cho \(n\) là một số nguyên dương và \(R\) là tập hợp các số thực. Vector \(\mathop {\overrightarrow v }\limits^{}\) có độ dài \(n\) chứa các số thực được ký hiệu \(\overrightarrow v \in R^n\). Ví dụ vector \(\mathop {\overrightarrow v }\limits^{}\) có 3 phần tử \(\mathop {\overrightarrow v }\limits^{} = \left( {v_1 ,v_2 ,v_3 } \right) \in \left( {R,R,R} \right) = R^3\).

Matrix \(A\) là một mảng hình chữ nhật và chứa các phần tử là số thực, với \(m\) dòng và \(n\) cột; được ký hiệu là \({\rm A} \in R^{m \times n}\). Ví dụ matrix có 3 dòng và 2 cột được biểu diễn như sau

$$
A = \left[ \begin{array}{l}
\begin{array}{*{20}c}
{a_{11} } & {a_{12} } \\
\end{array} \\
\begin{array}{*{20}c}
{a_{21} } & {a_{22} } \\
\end{array} \\
\begin{array}{*{20}c}
{a_{31} } & {a_{32} } \\
\end{array} \\
\end{array} \right] \in \left[ \begin{array}{l}
\begin{array}{*{20}c}
R & R \\
\end{array} \\
\begin{array}{*{20}c}
R & R \\
\end{array} \\
\begin{array}{*{20}c}
R & R \\
\end{array} \\
\end{array} \right] \equiv R^{3 \times 2}
$$

trong đó phần tử \(a_{ij}\) là phần tử tại dòng \(i\) và cột \(j\).

Để hiểu được đại số tuyến tính các bạn cần phải biết qua các khái niêm toán học về số, biến, phương trình, và cơ bản phép tính số học trên các số thực: Các kí hiệu được mô tả: dấu công (+), dấu trừ (-), dấu nhân (được hiểu ngầm), dấu chia (/).

Vector

Vector là một đoạn thẳng có hướng. Ngoài những toán tử bình thường như phép cộng, phép trừ, phép nhân, phép chia, vector còn có tính độ dài và nhân chéo. Cho 2 vector \(\overrightarrow u = \left( {u_1 ,u_2 ,u_3 } \right)\) và \(\overrightarrow v = \left( {v_1 ,v_2 ,v_3 } \right)\).

Phép cộng 2 vector

$$\overrightarrow u + \overrightarrow v = \left( {u_1 + v_1 ,u_2 + v_2 ,u_3 + v_3 } \right)$$

Phép trừ 2 vector

$$\overrightarrow u – \overrightarrow v = \left( {u_1 – v_1 ,u_2 – v_2 ,u_3 – v_3 } \right)$$

Phép nhân vector với một số

$$\alpha \overrightarrow u = \left( {\alpha u_1 ,\alpha u_2 ,\alpha u_3 } \right)$$

Tính độ dài của một vector

$$\left\| {\overrightarrow u} \right\| = \sqrt {u_1^2 + u_2^2 + u_3^2 }$$

Phép nhân 2 vector (dot product)

$$
\overrightarrow u .\overrightarrow v = u_1 v_1 + u_2 v_2 + u_3 v_3
$$

Các bạn có thể hiểu inner product và dot product là như nhau. Các bạn có thể đọc thêm ở đây để hiểu thêm về inner product và dot product: https://www.quora.com/Whats-the-difference-between-the-inner-product-and-the-dot-product

Phép nhân chéo 2 vector (cross-product)

$$
\overrightarrow u \times \overrightarrow v = \left( {u_2 v_3 – u_3 v_2 ,u_3 v_1 – u_1 v_3 ,u_1 v_2 – u_2 v_1 } \right)
$$

Hadamard product (Schur product)

Hadamard product là phép nhân giữa hai ma trận, trong đó các cặp phần tử tương ứng giữa hai ma trận nhân cho nhau. Công thức của Hadamard product được định nghĩa như sau

$$\overrightarrow u \odot \overrightarrow v = (u_1 v_1 ,u_2 v_2 ,u_3 v_3 )$$

Ví dụ cho 2 vector \(\vec{a}\) và \(\vec{b}\) có 3 phần tử như sau

$$
\mathop {\overrightarrow a }\limits^{} = \begin{bmatrix}
1\\
2\\
3
\end{bmatrix}
$$

$$
\mathop {\overrightarrow b }\limits^{} = \begin{bmatrix}
4\\
5\\
6
\end{bmatrix}
$$

Mặc định vector ở dạng vector cột, nên khi muốn viết ngắn gọn, chúng ta thường chuyển sang viết dạng vector dòng bằng phép chuyển vị (transpose) như sau

$$
\vec a^T = \begin{bmatrix}
1 & 2 & 3
\end{bmatrix}
$$

$$
\vec b^ = \begin{bmatrix}
4 & 5 & 6
\end{bmatrix}
$$

Cosine similarity

Cosine similarity giữa 2 vector là một metric, được dùng để tính mức độ giống nhau giữa 2 vector. Cosine similarity được định nghĩa như sau

$$
cos(\Theta) = \frac{\vec{u}\cdot \vec{v}}{\left \| \vec{u} \right \| \left \| \vec{v} \right \|}\\
\,\,\,\,\,\,\,\,\,\,\,\,\,\,= \frac{\sum_i u_iv_i}{\sqrt{\sum_i u_i^2}\sqrt{\sum_i v_i^2}}
$$

Matrix

Cho matrix A và matrix B với các phần tử bên trong A và B tương ứng là \(a_{ij}$ và $b_{ij}\).

Phép cộng 2 matrix: Các phần tử tương ứng cộng cho nhau

$$
C = A + B
$$
trong đó \(c_{ij} = a_{ij} + b_{ij}\).

Phép trừ 2 matrix: Các phần tử tương ứng trừ cho nhau

$$
C = A – B
$$
trong đó \(c_{ij} = a_{ij} – b_{ij}\).

Phép nhân 2 matrix: Nhân 2 matrix \(A \in R^{m \times n}\) và \(B \in R^{n \times k} \) cho ra kết quả là matrix \(C \in R^{n \times k}\) được xác định bởi công thức

$$
C = AB
$$
trong đó \(c_{ij} = \sum\limits_{l = 1,n} {a_{il} } b_{lj}\).

Cụ thể với 2 matrix A và B định nghĩa ở trên ta được

$$
\left[ \begin{array}{l}
\begin{array}{*{20}c}
{a_{11} } & {a_{12} } \\
\end{array} \\
\begin{array}{*{20}c}
{a_{21} } & {a_{22} } \\
\end{array} \\
\begin{array}{*{20}c}
{a_{31} } & {a_{32} } \\
\end{array} \\
\end{array} \right]\left[ {\begin{array}{*{20}c}
{b_{11} } & {b_{12} } \\
{b_{21} } & {b_{22} } \\
\end{array}} \right] = \left[ \begin{array}{l}
\begin{array}{*{20}c}
{a_{11} b_{11} + a_{12} b_{21} } & {a_{11} b_{12} + a_{12} b_{22} } \\
\end{array} \\
\begin{array}{*{20}c}
{a_{21} b_{11} + a_{22} b_{21} } & {a_{21} b_{12} + a_{22} b_{22} } \\
\end{array} \\
\begin{array}{*{20}c}
{a_{31} b_{11} + a_{32} b_{21} } & {a_{31} b_{12} + a_{32} b_{22} } \\
\end{array} \\
\end{array} \right]
$$

Matrix chuyển vị \(A^T\): Chuyển đổi từ dòng sang cột

$$
\left[ {\begin{array}{*{20}c}
{\alpha _1 } & {\alpha _2 } & {\alpha _3 } \\
{\beta _1 } & {\beta _2 } & {\beta _3 } \\
\end{array}} \right]^T = \left[ {\begin{array}{*{20}c}
{\alpha _1 } & {\beta _1 } \\
{\alpha _2 } & {\beta _2 } \\
{\alpha _3 } & {\beta _3 } \\
\end{array}} \right]
$$

Nhân matrix với vector: Matrix nhân với vector là trường hợp đặt biệt của 2 matrix nhân cho nhau. Kết quả của ma trận \(A \in R^{3 \times 2}\) và vector \(\overrightarrow x \in R^{2 \times 1}\) cho ra vector \(\overrightarrow y \in R^{3 \times 1}\) được xác định như sau

$$
\begin{array}{l}
\overrightarrow y = A\overrightarrow x \\
\Leftrightarrow \left[ {\begin{array}{*{20}c}
{y_1 } \\
{y_2 } \\
{y_3 } \\
\end{array}} \right] = \left[ \begin{array}{l}
\begin{array}{*{20}c}
{a_{11} } & {a_{12} } \\
\end{array} \\
\begin{array}{*{20}c}
{a_{21} } & {a_{22} } \\
\end{array} \\
\begin{array}{*{20}c}
{a_{31} } & {a_{32} } \\
\end{array} \\
\end{array} \right]\left[ {\begin{array}{*{20}c}
{x_1 } \\
{x_2 } \\
\end{array}} \right] \\
\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\, = \left[ {\begin{array}{*{20}c}
{a_{11} x_1 + a_{12} x_2 } \\
{a_{21} x_1 + a_{22} x_2 } \\
{a_{31} x_1 + a_{32} x_2 } \\
\end{array}} \right] \\
\end{array}
$$