Học không có giám sát cheatsheet

Star

Bởi Afshine AmidiShervine Amidi

Dịch bởi Trần Tuấn Anh và Đàm Minh Tiến

Giới thiệu về học không giám sát

Động lực Mục tiêu của học không giám sát (Unsupervised learning) là tìm được quy luật ẩn (hidden pattern) trong tập dữ liệu không được gán nhãn $\{x^{(1)},...,x^{(m)}\}$.

Bất đẳng thức Jensen Cho $f$ là một hàm lồi và $X$ là một biến ngẫu nhiên. Chúng ta có bất đẳng thức sau:

\[\boxed{E[f(X)]\geqslant f(E[X])}\]

Phân cụm

Tối đa hoá kì vọng

Các biến Latent Các biến Latent là các biến ẩn/ không thấy được khiến cho việc dự đoán trở nên khó khăn, và thường được kí hiệu là $z$. Đây là các thiết lập phổ biến mà các biến latent thường có:

Thiết lậpBiến Latent $z$$x|z$Các bình luận
Sự kết hợp của $k$ Gaussians$\textrm{Multinomial}(\phi)$$\mathcal{N}(\mu_j,\Sigma_j)$$\mu_j\in\mathbb{R}^n, \phi\in\mathbb{R}^k$
Phân tích hệ số$\mathcal{N}(0,I)$$\mathcal{N}(\mu+\Lambda z,\psi)$$\mu_j\in\mathbb{R}^n$

Thuật toán Thuật toán tối đa hoá kì vọng (EM) mang lại một phương thức có hiệu quả trong việc ước lượng tham số $\theta$ thông qua tối đa hoá giá trị ước lượng likelihood bằng cách lặp lại việc tạo nên một cận dưới cho likelihood (E-step) và tối ưu hoá cận dưới (M-step) như sau:

\[\boxed{Q_i(z^{(i)})=P(z^{(i)}|x^{(i)};\theta)}\]
\[\boxed{\theta_i=\underset{\theta}{\textrm{argmax }}\sum_i\int_{z^{(i)}}Q_i(z^{(i)})\log\left(\frac{P(x^{(i)},z^{(i)};\theta)}{Q_i(z^{(i)})}\right)dz^{(i)}}\]
Illustration

Phân cụm k-means

Chúng ta kí hiệu $c^{(i)}$ là cụm của điểm dữ liệu $i$ và $\mu_j$ là điểm trung tâm của cụm $j$.

Thuật toán Sau khi khởi tạo ngẫu nhiên các tâm cụm (centroids) $\mu_1,\mu_2,...,\mu_k\in\mathbb{R}^n$, thuật toán $k$-means lặp lại bước sau cho đến khi hội tụ:

\[\boxed{c^{(i)}=\underset{j}{\textrm{arg min}}||x^{(i)}-\mu_j||^2}\quad\textrm{và}\quad\boxed{\mu_j=\frac{\displaystyle\sum_{i=1}^m1_{\{c^{(i)}=j\}}x^{(i)}}{\displaystyle\sum_{i=1}^m1_{\{c^{(i)}=j\}}}}\]
Illustration

Hàm Distortion Để nhận biết khi nào thuật toán hội tụ, chúng ta sẽ xem xét hàm distortion được định nghĩa như sau:

\[\boxed{J(c,\mu)=\sum_{i=1}^m||x^{(i)}-\mu_{c^{(i)}}||^2}\]

Phân cụm phân cấp

Thuật toán Là một thuật toán phân cụm với cách tiếp cận phân cấp kết tập, cách tiếp cận này sẽ xây dựng các cụm lồng nhau theo một quy tắc nối tiếp.

Các loại Các loại thuật toán hierarchical clustering khác nhau với mục tiêu là tối ưu hoá các hàm đối tượng khác nhau sẽ được tổng kết trong bảng dưới đây:

Liên kết WardLiên kết trung bìnhLiên kết hoàn chỉnh
Tối thiểu hoá trong phạm vi khoảng cách của một cụmTối thiểu hoá khoảng cách trung bình giữa các cặp cụmTối thiểu hoá khoảng cách tối đa giữa các cặp cụm

Các số liệu đánh giá phân cụm

Trong quá trình thiết lập học không giám sát, sẽ khá khó khăn để đánh giá hiệu năng của một mô hình vì chúng ta không có các nhãn đủ tin cậy như trong trường hợp của học có giám sát.

Hệ số Silhouette Bằng việc kí hiệu $a$ và $b$ là khoảng cách trung bình giữa một điểm mẫu với các điểm khác trong cùng một lớp, và giữa một điểm mẫu với các điểm khác thuộc cụm kế cận gần nhất, hệ số silhouette $s$ đối với một điểm mẫu đơn được định nghĩa như sau:

\[\boxed{s=\frac{b-a}{\max(a,b)}}\]

Chỉ số Calinski-Harabaz Bằng việc kí hiệu $k$ là số cụm, các chỉ số $B_k$ và $W_k$ về độ phân tán giữa và trong một cụm lần lượt được định nghĩa như là

\[B_k=\sum_{j=1}^kn_{c^{(i)}}(\mu_{c^{(i)}}-\mu)(\mu_{c^{(i)}}-\mu)^T,\quad\quad W_k=\sum_{i=1}^m(x^{(i)}-\mu_{c^{(i)}})(x^{(i)}-\mu_{c^{(i)}})^T\]

Chỉ số Calinski-Harabaz $s(k)$ cho biết khả năng phân cụm tốt đến đâu của một mô hình phân cụm, ví dụ như với score cao hơn thì sẽ dày đặc hơn và việc phân cụm tốt hơn. Nó được định nghĩa như sau:

\[\boxed{s(k)=\frac{\textrm{Tr}(B_k)}{\textrm{Tr}(W_k)}\times\frac{N-k}{k-1}}\]

Giảm số chiều dữ liệu

Phép phân tích thành phần chính

Là một kĩ thuật giảm số chiều dữ liệu, kĩ thuật này sẽ tìm các hướng tối đa hoá phương sai để chiếu dữ liệu lên trên đó.

Giá trị riêng, vector riêng Cho ma trận $A\in\mathbb{R}^{n\times n}$, $\lambda$ là giá trị riêng của $A$ nếu tồn tại một vector $z\in\mathbb{R}^n\backslash\{0\}$, gọi là vector riêng, như vậy ta có:

\[\boxed{Az=\lambda z}\]

Định lý Spectral Với $A\in\mathbb{R}^{n\times n}$. Nếu $A$ đối xứng thì $A$ có thể chéo hoá bởi một ma trận trực giao $U\in\mathbb{R}^{n\times n}$. Bằng việc kí hiệu $\Lambda=\textrm{diag}(\lambda_1,...,\lambda_n)$, ta có:

\[\boxed{\exists\Lambda\textrm{ đường chéo},\quad A=U\Lambda U^T}\]

Chú thích: vector riêng tương ứng với giá trị riêng lớn nhất được gọi là vector riêng chính của ma trận $A$.

Thuật toán Phép phân tích thành phần chính (Principal Component Analysis, PCA) là một kĩ thuật giảm số chiều dữ liệu, nó sẽ chiếu dữ liệu lên $k$ chiều bằng cách tối đa hoá phương sai của dữ liệu như sau:

\[\boxed{x_j^{(i)}\leftarrow\frac{x_j^{(i)}-\mu_j}{\sigma_j}}\quad\textrm{where}\quad\boxed{\mu_j = \frac{1}{m}\sum_{i=1}^mx_j^{(i)}}\quad\textrm{và}\quad\boxed{\sigma_j^2=\frac{1}{m}\sum_{i=1}^m(x_j^{(i)}-\mu_j)^2}\]

Thủ tục này tối đa hoá phương sai giữa các không gian $k$-chiều.

Illustration

Phân tích thành phần độc lập

Là một kĩ thuật tìm các nguồn tạo cơ bản.

Giả định Chúng ta giả sử rằng dữ liệu $x$ được tạo ra bởi vector nguồn $n$-chiều $s=(s_1,...,s_n)$, với $s_i$ là các biến ngẫu nhiên độc lập, thông qua một ma trận mixing và non-singular $A$ như sau:

\[\boxed{x=As}\]

Mục tiêu là tìm ma trận unmixing $W=A^{-1}$.

Giải thuật Bell và Sejnowski ICA Giải thuật này tìm ma trận unmixing $W$ bằng các bước dưới đây:

\[p(x)=\prod_{i=1}^np_s(w_i^Tx)\cdot|W|\]
\[l(W)=\sum_{i=1}^m\left(\sum_{j=1}^n\log\Big(g'(w_j^Tx^{(i)})\Big)+\log|W|\right)\]

Vì thế, quy tắc học của stochastic gradient ascent là với mỗi ví dụ huấn luyện $x^{(i)}$, chúng ta sẽ cập nhật $W$ như sau:

\[\boxed{W\longleftarrow W+\alpha\left(\begin{pmatrix}1-2g(w_1^Tx^{(i)})\\1-2g(w_2^Tx^{(i)})\\\vdots\\1-2g(w_n^Tx^{(i)})\end{pmatrix}{x^{(i)}}^T+(W^T)^{-1}\right)}\]