Cơ bản về Học không Giám sát
Học không giám sát là một nhánh của
học máy trong đó thuật toán học các mẫu, cấu trúc hoặc mối quan hệ trong dữ liệu
đầu vào mà không có sự giám sát rõ ràng hoặc nhãn đầu ra. Khác với học có giám
sát, nơi mô hình được huấn luyện trên dữ liệu có nhãn với các giá trị đầu ra đã
biết, học không giám sát xử lý dữ liệu chưa gắn nhãn và nhằm mục đích khám phá
các mẫu hoặc hiểu biết ẩn trong chính dữ liệu đó.
Có một số loại kỹ thuật học không giám sát, nhưng hai loại phổ biến nhất là phân cụm (clustering) và giảm chiều (dimensionality reduction):
1. Phân cụm (Clustering):
Quá trình chia một bộ dữ liệu thành các nhóm hoặc cụm gồm các điểm dữ liệu
tương tự nhau dựa trên một phép đo độ tương tự hoặc khoảng cách nào đó. Mục
tiêu là gom các điểm dữ liệu giống nhau lại với nhau nhiều hơn so với những điểm
ở cụm khác. Các thuật toán phân cụm phổ biến bao gồm K-means, phân cụm thứ bậc
(hierarchical clustering), và phân cụm dựa trên mật độ (ví dụ DBSCAN). Phân cụm
được ứng dụng rộng rãi trong phân đoạn khách hàng, phát hiện bất thường, phân
đoạn ảnh, và phân cụm tài liệu.
Phân cụm là kỹ thuật cơ bản trong
học không giám sát, với mục tiêu tổ chức dữ liệu chưa gắn nhãn thành các nhóm
có ý nghĩa dựa trên sự tương đồng nội tại giữa các điểm dữ liệu. Các thuật toán
phân cụm nhằm tìm cấu trúc hoặc tổ chức tự nhiên trong dữ liệu mà không cần
nhãn hay giám sát.
Một trong những thuật toán phân cụm
được sử dụng rộng rãi là K-means, nó phân bộ dữ liệu thành K cụm bằng cách lặp
lại quá trình gán mỗi điểm vào tâm cụm gần nhất và cập nhật các tâm cụm theo
trung bình của các điểm được gán cho nó. K-means có tính toán hiệu quả và dễ
triển khai, phù hợp cho các bộ dữ liệu lớn với số cụm vừa phải.
Phân cụm thứ bậc (Hierarchical
clustering) là một phương pháp khác tổ chức các điểm dữ liệu thành một cấu trúc
phân cấp (dendrogram). Phương pháp này lặp lại việc gộp hoặc tách các cụm theo
tiêu chí liên kết (ví dụ single-linkage, complete-linkage, average-linkage) cho
đến khi tất cả điểm thuộc về một cụm hoặc đạt số cụm mong muốn. Phân cụm thứ bậc
cung cấp cái nhìn theo cấp bậc về cấu trúc dữ liệu và không yêu cầu phải biết
trước số cụm.
Các thuật toán phân cụm dựa trên
mật độ như DBSCAN (Density-Based Spatial Clustering of Applications with Noise)
xác định cụm dựa trên vùng mật độ cao bị ngăn cách bởi vùng mật độ thấp. DBSCAN
gán mỗi điểm vào một trong các loại: điểm lõi (core), điểm biên (border), hoặc
điểm nhiễu (noise) dựa trên mật độ và kết nối với các điểm khác. Cách tiếp cận
này bền vững với nhiễu và có thể tự động xác định số cụm, phù hợp cho dữ liệu
có cấu trúc phức tạp và mật độ cụm thay đổi.
K-means Clustering:
K-means hoạt động theo nguyên tắc
tối thiểu hóa tổng bình phương khoảng cách trong cùng cụm (within-cluster sum
of squared distances), còn gọi là inertia hoặc distortion. Thuật toán thường gồm
các bước: khởi tạo tâm cụm (centroids), bước gán (assignment) — gán mỗi điểm
cho tâm cụm gần nhất (thường dùng khoảng cách Euclid), và bước cập nhật
(update) — tính lại tâm cụm bằng trung bình các điểm được gán. Quá trình lặp
cho đến khi hội tụ (tâm cụm không đổi hoặc đạt ngưỡng thay đổi nhỏ).
Hạn chế của K-means: cần biết trước
số cụm K, nhạy cảm với khởi tạo tâm cụm ban đầu (khởi tạo khác nhau có thể dẫn
đến kết quả khác nhau). Các chiến lược giảm nhạy như khởi tạo nhiều lần với các
khởi tạo ngẫu nhiên khác nhau hoặc dùng K-means++ để khởi tạo thông minh có thể
cải thiện độ bền. Dù vậy, nhờ độ đơn giản và khả năng mở rộng, K-means vẫn là
công cụ phổ biến cho nhiều ứng dụng (phân đoạn khách hàng, nén ảnh, phát hiện bất
thường, v.v.).
Hierarchical Clustering:
Phân cụm thứ bậc có hai cách tiếp
cận chính: agglomerative (bottom-up) — bắt đầu mỗi điểm là 1 cụm đơn lẻ rồi lặp
gộp các cặp cụm dựa trên khoảng cách hoặc độ tương đồng cho đến khi dừng; divisive
(top-down) — bắt đầu với một cụm chứa tất cả điểm rồi chia nhỏ theo tiêu chí
phân tách. Phân cụm thứ bậc tạo ra một dendrogram biểu diễn cấu trúc phân cấp,
giúp người dùng khai thác các mức độ phân chia khác nhau.
Ưu điểm: không cần chỉ định số cụm
trước, cung cấp quan sát theo cấp bậc. Nhược điểm: có thể tốn kém tính toán và
không mở rộng tốt cho bộ dữ liệu rất lớn (độ phức tạp tính toán tăng theo bình
phương hoặc lập phương số điểm). Với các tối ưu và cấu trúc dữ liệu phù hợp,
phân cụm thứ bậc vẫn là công cụ giá trị cho phân tích khám phá.
Cả K-means và hierarchical đều có
ưu — nhược riêng; lựa chọn thuật toán phụ thuộc vào đặc tính dữ liệu và mục
tiêu phân tích. K-means phù hợp khi cụm rõ và số cụm biết trước; hierarchical
thì linh hoạt và cho cấu trúc phân cấp — thử nghiệm và đánh giá là cần thiết để
chọn thuật toán phù hợp.
2. Các kỹ thuật Giảm chiều
(PCA, t-SNE)
Kỹ thuật giảm chiều là công cụ
thiết yếu trong học máy và phân tích dữ liệu để giảm số lượng đặc trưng trong
dataset trong khi vẫn bảo tồn cấu trúc và mối quan hệ quan trọng. Hai kỹ thuật
phổ biến: PCA (Principal Component Analysis) và t-SNE (t-distributed Stochastic
Neighbor Embedding).
Principal Component Analysis
(PCA): PCA là kỹ thuật giảm chiều tuyến tính xác định các thành phần chính
(principal components) — các hướng trực giao mà dữ liệu có phương sai lớn nhất.
PCA chiếu dữ liệu ban đầu lên một không gian con có chiều thấp hơn do các thành
phần chính tạo thành, giúp giảm chiều dữ liệu. Thành phần chính thu được bằng
cách thực hiện eigendecomposition trên ma trận hiệp phương sai của dữ liệu hoặc
dùng SVD (singular value decomposition). PCA thường dùng cho EDA, trích xuất đặc
trưng và lọc nhiễu; nó có tính toán hiệu quả và dễ giải thích (interpretable),
phù hợp cho dataset lớn với nhiều đặc trưng.
Cụ thể, eigendecomposition cho ra
vector riêng (eigenvectors) và trị riêng (eigenvalues) của ma trận hiệp phương
sai; eigenvectors là các hướng tối đa phương sai và eigenvalues biểu diễn lượng
phương sai theo từng hướng. Các thành phần chính được chọn dựa trên
eigenvectors tương ứng các eigenvalues lớn nhất vì chúng nắm giữ nguồn biến động
quan trọng nhất.
t-SNE (t-distributed
Stochastic Neighbor Embedding): t-SNE là kỹ thuật giảm chiều phi tuyến tập
trung bảo tồn cấu trúc cục bộ của dữ liệu khi chiếu xuống không gian có chiều
thấp. t-SNE xây dựng phân phối xác suất biểu diễn độ tương đồng cặp điểm trong
không gian chiều cao, rồi xây dựng phân phối tương tự trong không gian thấp chiều
và tối thiểu hóa Kullback–Leibler divergence (KL divergence) giữa hai phân phối
đó. Kết quả là t-SNE rất hữu ích để trực quan hóa các cụm hoặc manifold phức tạp
trong dữ liệu, nhưng t-SNE tốn tài nguyên tính toán và nhạy cảm với lựa chọn
siêu tham số (ví dụ perplexity). Chọn perplexity phù hợp rất quan trọng để có
trực quan hóa có ý nghĩa.
Ngoài PCA và t-SNE còn có các kỹ
thuật khác như ICA (Independent Component Analysis) — tìm các thành phần độc lập
thống kê, thường dùng trong tách nguồn mù (blind source separation) và xử lý
tín hiệu — và autoencoders (mạng nơ-ron tự mã hóa) — mô hình học không giám sát
dùng mạng nơ-ron để học biểu diễn nén trong không gian ẩn bằng cách tối thiểu
hóa lỗi tái tạo. Việc chọn kỹ thuật phù hợp tùy thuộc vào đặc điểm dữ liệu và mục
tiêu phân tích.
3. Ứng dụng của Học không Giám
sát
Các kỹ thuật học không giám sát
được ứng dụng trong nhiều lĩnh vực:
- Phát hiện bất thường (Anomaly Detection): Nhận diện
các mẫu hoặc điểm dữ liệu hiếm, lệch so với hành vi bình thường — có thể
chỉ ra lỗi, gian lận hoặc hiện tượng bất thường. Kỹ thuật phân cụm và ước
lượng mật độ được dùng rộng rãi cho mục này.
- Hệ thống gợi ý (Recommendation Systems): Dùng các kỹ
thuật như collaborative filtering, matrix factorization để tìm người dùng
hoặc sản phẩm tương tự và đưa gợi ý cá nhân hóa.
- Trực quan hóa dữ liệu (Data Visualization): Giảm
chiều để trực quan hóa dữ liệu cao chiều (PCA, t-SNE) giúp khám phá cấu
trúc và cụm trong dữ liệu.
- Khai thác văn bản và NLP (Text Mining & NLP):
Các phương pháp như topic modeling (ví dụ Latent Dirichlet Allocation),
word embeddings (Word2Vec) giúp nhận diện chủ đề, mối quan hệ ngữ nghĩa
trong dữ liệu văn bản.
Unsupervised learning đóng vai
trò quan trọng trong EDA, khám phá mẫu, và trích xuất kiến thức từ dữ liệu chưa
gắn nhãn, giúp nhà khoa học dữ liệu phát hiện insight mới và hướng cho các bước
phân tích tiếp theo.
Phát hiện Bất thường (Anomaly
Detection)
Phát hiện bất thường
(anomaly/outlier detection) là nhiệm vụ quan trọng trong khai thác dữ liệu và học
máy nhằm tìm các sự kiện, mẫu hiếm hoặc quan sát khác biệt rõ so với hành vi
mong đợi. Bất thường có thể là lỗi, hành vi gian lận, hoặc hiện tượng thực
nhưng hiếm, do đó phát hiện chúng có thể mang lại hiểu biết giá trị và giúp
ngăn chặn rủi ro. Có nhiều cách tiếp cận để phát hiện bất thường, mỗi cách có
ưu nhược khác nhau tuỳ thuộc dữ liệu và mục tiêu ứng dụng:
Phương pháp thống kê (Statistical
Methods): Các phương pháp thống kê dựa trên các đại lượng như mean, standard
deviation, quantiles, và phân phối xác suất để xác định điểm nằm ngoài phạm vi
mong đợi. Ví dụ phổ biến: Z-score, Grubbs' test, Dixon's Q-test, và Chebyshev's
inequality. Những phương pháp này đơn giản, hữu ích với dữ liệu có giả định
phân phối phù hợp hoặc khi cần kiểm tra nhanh các ngoại lệ.
Phương pháp dựa trên Machine
Learning:
- Supervised anomaly detection: Huấn luyện trên dữ liệu
có nhãn (đã đánh dấu normal vs anomaly), dùng các mô hình như SVM, random
forests, neural networks để phân loại điểm bất thường.
- Unsupervised anomaly detection: Học hành vi bình
thường từ dữ liệu chưa gắn nhãn và gắn cờ các điểm lệch. Các phương pháp gồm
phân cụm (K-means, DBSCAN), ước lượng mật độ (Gaussian Mixture Models), hoặc
các phương pháp khác. Phương pháp ML có thể mạnh mẽ hơn với dữ liệu phức tạp,
nhưng phụ thuộc vào chất lượng và tính đại diện của dữ liệu huấn luyện.
Phân tích Dữ liệu thời gian (Time
Series Analysis): Phát hiện bất thường cho dữ liệu chuỗi thời gian dùng các mô
hình cụ thể như autoregressive models, moving averages, exponential smoothing để
mô hình hoá xu hướng, tính mùa vụ và phụ thuộc theo thời gian; bất thường được
xác định khi quan sát lệch so với dự báo hoặc mẫu ngắn hạn. Các kỹ thuật này hữu
ích cho giám sát hệ thống, phát hiện lỗi cảm biến, phát hiện gian lận giao dịch
theo thời gian.
Deep Learning cho phát hiện bất
thường: Các kiến trúc deep learning như RNN và LSTM tỏ ra hiệu quả trên dữ liệu
tuần tự (sensor logs, network traffic, v.v.) vì khả năng nắm bắt phụ thuộc thời
gian dài hạn và mẫu phức tạp; bằng cách học biểu diễn chuỗi bình thường, mô
hình có thể đánh dấu các chuỗi lệch là bất thường.
Phát hiện bất thường được áp dụng
rộng rãi trong an ninh mạng, phát hiện gian lận, giám sát mạng, phát hiện lỗi,
y tế và bảo trì dự đoán. Khi thiết kế hệ thống phát hiện bất thường, cần cân nhắc
loại bất thường mong muốn, đặc tính dữ liệu, và đánh đổi giữa false positives
và false negatives. Đồng thời, việc xác thực và giám sát hiệu suất mô hình định
kỳ là cần thiết để đảm bảo độ tin cậy trong ứng dụng thực tế.
Tác giả: Hoàng Thơ
PHẦN I - PHẦN II - PHẦN III - PHẦN IV - PHẦN V - PHẦN VI - PHẦN VII - PHẦN VIII - PHẦN IX - PHẦN X

Post a Comment