Clustering: l à quá trình phân nhóm/cụm dữ liệu/đối tượng vào các nhóm/cụm đối tượng ở các nhóm khác... ❖ Các yêu cầu khi thiết kế thuật toán phân cụm dữ liệu: Có thể tương thích, hi
Trang 1Trịnh Tấn Đạt
Khoa CNTT – Đại Học Sài Gòn
Email: trinhtandat@sgu.edu.vn
Website: https://sites.google.com/site/ttdat88/
Trang 3❖ Học không giám sát (Unsupervised learning)
Tập học (training data) bao gồm các quan sát, mà mỗi quan sát không có
thông tin về label hoặc giá trị đầu ra mong muốn.
Mục đích là tìm ra (học) các cụm, các cấu trúc, các quan hệ tồn tại ẩn trong tập dữ liệu hiện có.
Trang 4❖Phân cụm/Phân nhóm (clustering)
Phát hiện các nhóm dữ liệu, nhóm tính chất
4
Trang 5 Ví dụ: Nhận diện phần tử biên (outliers) và giảm thiểu nhiễu (noisy data)
Trang 6 Ví dụ: Phân cụm ảnh
6
Trang 7 Ví dụ: Community detection
Trang 8 Ví dụ: Image segmentation
8
Trang 9 Clustering: l à quá trình phân nhóm/cụm dữ liệu/đối tượng vào các nhóm/cụm
đối tượng ở các nhóm khác
Trang 1010
Trang 11 Mỗi cụm/nhóm nên có bao nhiêu phần tử?
Các phân tử nên được phân vào bao nhiêu cụm/nhóm?
Bao nhiêu cụm/nhóm nên được tạo ra?
Trang 12❖ Các yêu cầu khi thiết kế thuật toán phân cụm dữ liệu:
Có thể tương thích, hiệu quả với dữ liệu lớn, số chiều lớn
Có khả năng xử lý các dữ liệu khác nhau
Có khả năng khám phá các cụm với các dạng bất kỳ
Khả năng thích nghi với dữ liệu nhiễu
Ít nhạy cảm với thứ tự của các dữ liệu vào
Phân cụm rằng buộc
Dễ hiểu và dễ sử dụng
12
Trang 13 Kmeans, Fuzzy C-mean,…
đang xem xét
AGNES (Agglomerative NESting), DIANA (Divisive ANAlysis) ,…
tượng dữ liệu
DBSCAN, OPTICS, MeanShift ,…
sau đó hiệu chỉnh các thông số để mô hình phù hợp với cụm dữ liệu/đối tượng nhất
EM, SOMs ,…
Trang 1414
Trang 15 Ví dụ: Phân hoạch (partitioning)
Trang 16 Ví dụ: Phân cấp (hierarchical)
16
Trang 17 Đánh giá chất lượng phân cụm (Clustering quality)
Trang 18Clustering : Example
https://scikit-learn.org/stable/modules/clustering.html 18
Trang 19 Mỗi cụm (cluster) có một điểm trung tâm/ trọng tâm, được gọi là centroid
k (tổng số các cụm thu được) là một giá trị được cho trước
(vd: được chỉ định bởi người thiết kế hệ thống phân cụm)
Một đối tượng được phân vào một cụm nếu khoảng cách từ đối tượng đó đến trọng tâm của cụm đang xét là nhỏ nhất
Quá trình lặp đi lặp lại cho đến hàm mục tiêu bé hơn một ngưỡng cho phép hoặc các trọng tâm
không đổi
Trang 20 Step 2 Lặp liên tục hai bước sau cho đến khi gặp điều kiện hội tụ (convergence criterion):
2.1 Đối với mỗi quan sát, gán nó vào cụm (trong số k cụm) mà có tâm (centroid) gần
nó nhất.
2.2 Đối với mỗi cụm, tính toán lại điểm trung tâm của nó dựa trên tất cả các quan sát
thuộc vào cụm đó.
20
Trang 21 Ví dụ:
Trang 22 Ví dụ:
22
Trang 23 Ví dụ:
Trang 24 Ví dụ:
24
Trang 25 Ví dụ:
Trang 26 Ví dụ:
26
Trang 27 Ví dụ:
Trang 28 Ví dụ:
28
Trang 29❖ Convergence criterion :
Trang 30 Centroids:
Xác định điểm trung tâm: Điểm trung bình (Mean centroid)
30
Trang 31 Distance function
Trang 33Kmeans
Trang 34 How to choose k?
The location of a bend (knee) in
the plot is generally considered
as an indicator of the appropriate
number of clusters.
34
Trang 35 Outlier
Trang 36 Initial centroids
36
Trang 37❖Initial centroids
Kết hợp nhiều kết quả phân cụm với nhau → Kết quả tốt hơn!
Trang 38❖Initial centroids
Cải tiến : kmeans ++
Idea:
…
38
Trang 39 K-means (với khoảng cách Euclid) phù hợp với các cụm hình cầu.
cầu.
Trang 40 Online kmeans
K-means:
Online K- means cải thiện nhược điểm của K-means cho phép ta phân cụm dữ
liệu rất lớn, hoặc phân cụm luồng dữ liệu.
40
Trang 41Online Kmeans based SGD
Loss function
Trang 42Hierarchical Clustering
Idea :
duy nhất
42
Trang 43Hierarchical Clustering
Phân cụm dữ liệu bằng phân cấp (hierarchical clustering): nhóm các đối tượng vào cây phân cấp của các cụm
Trang 44Hierarchical Clustering
44
Trang 45Hierarchical Clustering
AGNES (Agglomerative Nesting)
Trang 46Hierarchical Clustering
DIANA (Divisive Analysis)
46
Trang 47Hierarchical Clustering
❖Khoảng cách giữa hai cụm có thể là một trong các loại sau:
Single-linkage clustering : khoảng cách giữa hai cụm là khoảng cách ngắn
nhất giữa hai đối tượng của hai cụm
Trang 48Hierarchical Clustering
Complete-linkage clustering: khoảng cách giữa hai cụm là khoảng cách lớn nhất giữa hai đối tượng của hai cụm
48
Trang 49Hierarchical Clustering
Average- linkage clustering: khoảng cách giữa hai cụm là khoảng cách trung bình giữa hai đối tượng của hai cụm
Trang 50Hierarchical Clustering
50
Trang 51Hierarchical Clustering
Ví dụ:
Trang 52Hierarchical Clustering
52
Trang 53Density-Based Clustering
Phân cụm dữ liệu dựa trên mật độ
Giải thuật
DBSCAN (Density-Based Spatial Clustering of Applications with Noise)
OPTICS (Ordering Points To Identify the Clustering Structure)
DENCLUE (DENsity-based CLUstEring)
MeanShift
Trang 54Density-Based Clustering
54
Trang 55Density-Based Clustering
Idea of MeanShift
Trang 5656
Trang 57MeanShift
Trang 5858
Trang 59MeanShift
Trang 6060
Trang 61MeanShift
Trang 6262
Trang 63 MeanShift không cần chọn
trước số nhóm cần phân loại.
Thuật toán có thể tìm được
Trang 64Tìm hiểu thêm
Subspace Clustering
64
Trang 66Toy Example
Trang 69Bài Tập
2) Color Clustering based Kmeans
pixels in the image will have similar or even identical colors
Trang 70Dominant Color
70
https://buzzrobot.com/dominant-colors-in-an-image-using-k-means-clustering-3c7af4622036