# MATHAIR NOTE: ## Lession 1: Lịch sử trí tuệ loài người Trí tuệ nhân tạo AI VD: AI phục hồi màu hình ảnh ## Lession 2: HÀM VÀ KHÔNG GIAN HÀM ### I. Hàm số & tham số: Ví dụ: $f_1(x) = 2x$ $\to$ hàm tuyến tính Dạng tổng quát: affine function $f(x) = ax + b, x \in \mathbb{R}$ Quadratic functions: $f(x) = ax^2 + bx + x, a \neq 0$ $a, b, c \in \mathbb{R}$ là tham số của hàm, gọi chung là $\theta$ Biểu diễn hàm số (graphing) trên 2D: $(x, y = f(x))$ hoặc $(x, \theta) | f(x, \theta) = const$ : level sets / curves / contour lines / map. * Hàm số tịnh tuyến: * $y = f(\theta, x) = ax + b, x = 1$ * $y = f(x, \theta) = ax + b$ * $a$: xoay quanh O và $b$: tịnh tiến hàm * Hàm số phi tuyến: * Hàm logistic sigmoid: $\sigma(z) = \frac{1}{1 + e^{-z}} = \frac{e^z}{e^z + 1}$ * Hàm tanh: $f(z) = tanh(z) = 2\sigma(2z) - 1 = \frac{e^z - e^{-z}}{e^{z} + e^{-z}} = \frac{e^{2z} - 1}{e^{2z} + 1} = \frac{1 - e^{-2z}}{1 + e^{-2z}}$ * Dạng tổng quát: $f(x) = \sigma(ax + b), f(x) = tanh(ax + b)$ Hàm được mô tả thông qua các phép tính trên biến và tham số: $f(x, \theta)$ hoặc $f_\theta(x)$ với $f_\theta: X \to Y, x \in X, \theta \in \Theta$ Tham số thay đổi tạo ra không gian hàm: $\digamma_\Theta := {f(x, \theta): \theta \in \Theta}$ ### II. Không gian hàm: Tìm hàm tối ưu trong function space: representation & search. Ta cần "đo" hướng & độ lớn của hàm, khoảng cách (hay mức độ giống nhau) giữa các hàm, xác định hướng di chuyển "nhanh nhất" trong không gian hàm, ... $\to$ giúp tìm kiếm các phần tử (hàm) trong không gian này. Vector và không gian vector là công cụ để biểu diễn độ lớn, hướng và khoảng cách không gian hàm. ## Lession 3: Vector và Không gian Vector ### I. Khái quát: Rất hữu ích khi hình dung vector theo 2 mặt: * Vector $\equiv$ một mũi tên $\longmapsto$ (có gốc & ngọn, hướng và độ lớn) * Vector $\equiv$ một điểm $\odot$ trong không gian vector. * Vector space $\equiv$ 4-tuple ($\mathbb{V, R}, +, *$). Trong đó: * $\mathbb{V}:$ là không gian các vector * $\mathbb{R}:$ trường các số sẽ tính toán trên các vector này. * $+$: phép cộng các vector với nhau. * $*$: phép nhân các vector với nhau. * Định nghĩa: Nếu tập $V$ cùng 2 phép toán thỏa 2 điều kiện * cộng 2 phần tử: $u + v \in V, \forall u, v \in V$ (tịnh tiến) * nhân với 1 số, ví dụ số thực: $av \in V, \forall v \in V, a \in \mathbb(R)$ thì tập V là một không gian vector, và $v \in V$ là một vector. * Nếu ta tịnh tiến (add +) hoặc co giãn (scale *, scalar multiply) các vector trong V thì chúng vẫn thuộc V. ### II. Một số không gian vector (V, R, +, *) tiêu biểu: ***Không gian tọa độ (coordinate space):*** Ví dụ 1: mô tả một người (chiều cao, cân nặng, tuổi, ...) $V = \mathbb{R}^n = \mathbb{R} * \mathbb{R} * ... * \mathbb{R}$: Cartesian (direct) product $V \ni v = (v_1 ... v_n) =: [v_i], v_i \in \mathbb{R}, \forall \in {1,...,n}$ Vẽ trong hệ tọa độ Descartes (Cartesian coordinate system): * Phép cộng 2 vectors: * $v_i = u_i + w_i$ * $v = u + w \in V$ * Phép nhân scalar: * $v_i = \alpha u_i$ * $v = \alpha u \in V$ (element-wise) ***Không gian các tensors (mảng đa chiều):*** Ví dụ 2: biểu diễn dữ liệu hình ảnh, video Tensor bậc 0 (scalars) $\mathbb{R} \ni v$ Tensor bậc 1 (vectors) $\mathbb{R}^m \ni v = [v_i]$ Tensor bậc 2 (ma trận) $V = \mathbb{R}^{m * n} \ni v = [v_{ij}].$ Tensor bậc 3 $V = \mathbb{R}^{m * b * p} \ni v = [v_{ijk}]$ với $v_{ijk} \in R, i \in \{1, ..., m\}, j \in \{1, ..., n\}, k \in \{1, ..., p\}$ tensor = multidimensional array * Phép cộng 2 vectors: * $v_{ijk} = u^{ijk} + v^{ijk}$ * $v = u + w \in V$ * Phép nhân 2 vectors: * $v_{ijk} = \alpha u_{ijk}$ * $v = \alpha u \in V$ ***Không gian các hàm đa thức:*** $P_n(\mathbb{R}):$ không gian các hàm đa thức của $z \in \mathbb{R}$ có bậc $\leq n$ $f(z) = a_0 + a_1z + a_2z^2 +...+ a_nz^n = \sum_{i = 0}^{n}a_iz^i \in P_n(\mathbb{R})$ $g(z) = b_0 + b_1z + b_2z^2 + ... + b_nz^n = \sum_{i = 0}^{n}b_iz^i \in P_n(\mathbb{R})$ Cộng 2 vectors: h = f + g = $\sum_{i = 0}^{n} (a_i + b_i)z^i \in P_n(\mathbb{R})$ Nhân scalar: $v = \alpha f; v(z) = \sum_{i = 0}^{n}\alpha a_iz^i \in P_n(\mathbb{R})$ Lưu ý: $\{1, z, z^2, ..., z^n\}$ cũng là các vector trong $P_n(\mathbb{R})$ * $\{e_i\} = \{z^i\}_{i = 0}^n$ được gọi là một hệ cơ số (bias) của $P_n(\mathbb{R})$ * $\forall v \in V = P_n(\mathbb{R}): v = a_0e_0 + ... + a_ne_n = \sum_{i = 0}^{n} a_ie_i$ $v =$ linear combination của các vector cơ sở. ## Lession 4: Cont. ### III. Hệ cơ sở $\to$ Không gian tọa độ: Ý nghĩa của hệ cơ sở (basis) trong không gian vector: * Hướng, trục (directions) * cột, mốc (landmarks) * đặc trưng (features) * từ vựng (words) * chuẩn, mẫu (prototypes, patterns, templates) * regularities, abstraction, ... Chọn và sắp xếp 1 hệ cơ sở (ordered basis) $\xi = (e_1, ..., e_n) \xrightarrow{\forall v \in V}$ decomposition $[v]_\xi =$ coordinates $(a_1, ..., a_n) \in \mathbb{R}^n$ Ví dụ: $P_n(\mathbb{R}) \ni v(z) = \sum_{i = 0}^n a_iz^i, a_i \in \mathbb{R}, \forall i = 0, ..., n:$ $\varepsilon = \{e_i = z^i\}_{i = 0}^{n} \to [v]_\varepsilon = (a_0, ..., a_n) \in \mathbb{R}^{n+1}$ $V \xrightarrow{\varepsilon} \mathbb{R}^n:$ mọi vector spaces đều có thể quy về $\mathbb{R}^n$ Dimension n: số basis vectors nhỏ nhất để mô tả $\forall v \in V$ ### IV. Hàm tuyến tính $\to$ ma trận: Hàm $f: V \to W$ biến đổi từ không gian vector V qua W. Chọn basis $\beta$ sao cho $V \xrightarrow[space]{coordinate} [v]_\beta \in \mathbb{R}^n, \forall v \in V$ Chọn basis $D$ sao cho $W \xrightarrow[space]{coordinate} [w]_D \in \mathbb{R}^m, \forall w \in W$ Hàm $w = f(v) \xrightarrow[space]{coordinate} [w]_D = f_D^\beta[v]_\beta.$ * $f: V \to W$ là linear nếu $f(au + bv) = af(u) + bf(v)$. Cộng và scale đầu vào $\to$ đầu ra cộng và scale tương ứng. * $f(au + bv) \neq af(u) + bf(v):$ hàm phi tuyến (nonlinear) ### V. Tích vô hướng & khoảng cách của 2 vectors trong $\mathbb{R}^n$: $a_i \approx$ mức độ giống / khác nhau giữa v và basis vector $e_i$ trong V $a.b = \sum_{i = 1}^{n} a_ib_i \in \mathbb{R} \approx$ mức độ liên quan giữa $a, b \in \mathbb{R}^n$. Là cơ sở để tính độ lớn, khoảng cách, góc, ..., giữa các vectors. ## Lession 5: Hàm số và Trí tuệ ### I. Mối quan hệ giữa hàm, basis và coordinates: Chứng minh được trong inner product space $(V, \mathbb{R}, +, *, .)$: Representation theorem : $\forall$ linear $f: V \to \mathbb{R}$ $\exists$ unique $v_f \in V s.t f(v) = (v_f, v), \forall v \in V$ Mỗi basis vector = 1 hàm tuyến tính. Trong hệ cơ số trực chuẩn (orthonormal basis) $\mu$: * lỉnear prod. (v, u) in V $\Longrightarrow$ dot prod. $[v]_\mu .[u]_\mu$ in $\mathbb{R}^n$ $\Longrightarrow \forall$ abstract vector space $V \equiv{\mu}$ Euclidean space $\mathbb{R}^n$ * coordinates $[v]_\mu =$ inner products $(v, u_i), i = 1, ..., n$ * Trong thực tế ta chỉ xấp xỉ orthonormal basis vectors, và dùng inner products như coordinates. ### II. Basis và coordinates trong Machine Learning: Đa số ML model xây dựng hàm bằng cách: * Chọn trong input space 1 tập các vectors làm cơ sở: * just right: linearly independent basis vectors. Tập $\{ e_1, ..., e_n\} = \varepsilon \subset V$ độc lập tuyến tính nếu $0_v = \sum a_ie_i$ chỉ đúng khi $a_i = 0, \forall i = 1, ..., n$ * overcomplete: dictionary, codebook, bag-of-features * undercomplete: bottleneck/dimensionality/reduction * Để tăng expressive của function space: affine + nonlinear mappings of coordinates vector x: $x^f \longleftarrow \sigma(Ax+b)$ TF-IDF Static: tích của * TF Score (term frequency) của từng từ trong document. * IDF Score (inverse document frequency) mức độ hiếm của từ trong tất cả các documents. ## Lession 6:Đạo hàm và cực trị ### I. Machine Learning as curve-fitting: Machine Learning problem = 5-tuples (T, E, F, P, A) * Target function $f(x, \theta)$ * Performance: object/cost/loss function $P(f(x, \theta), E)$ * Trong ML: $\theta$ trở thành biến và data $E$ thành tham số $\Longrightarrow$ optimize $P(\theta, E)$ ML as "curve-fitting" ### II. Gradient as steepest direction & extremums: Xét 1 hàm số bất kỳ $f: V \to W$ giữa 2 vector spaces Xét 1 hướng cố định trong input space $v \in V$ Ta muốn mô tả tốc độ thay đổi (rate of change) nếu có của $f(x)$ theo hướng v tại điểm x bất kỳ, ký hiệu $\partial_xf(x) \equiv \frac{\partial f(x)}{\partial v}$ Đạo hàm có hướng của f(x) tại điểm x theo hướng v cho trước. Ký hiệu: $\partial$ hay $d$ (cho hàm đơn biến) dùng để chỉ 1 lượng vô cùng bé (infinitesimal).