Professional Documents
Culture Documents
5 - Gom Nhom Du Lieu-T
5 - Gom Nhom Du Lieu-T
(CLUSTERING)
Mục tiêu
Hiểu ý nghĩa của bài toán gom cụm dữ liệu
Vận dụng các phương pháp gom cụm dữ liệu
Vận dụng cách đánh giá mô hình gom cụm dữ liệu
Sử dụng phần mềm Orange để gom cụm dữ liệu
2
Nội dung
1. Gom cụm dữ liệu
2. Một số phương pháp gom cụm
3. Đánh giá mô hình gom cụm
4. Minh họa với phần mềm Orange
3
1. Gom cụm dữ liệu
Là quá trình gom cụm/nhóm
các đối tượng/dữ liệu có đặc
điểm tương đồng vào các
cụm/nhóm tương ứng. Trong
đó:
❑ tương đồng giữa những phần
tử trong cùng cụm
❑ khác biệt với những phần tử
trong các cụm khác
4
Các ứng dụng phân cụm trong kinh tế
Dự báo khách hàng tiềm năng
Phân tích xu hướng hành vi khách hàng
Phân tích cạnh tranh, xu hướng lựa chọn dịch vụ giữa
các nhà cung cấp
Phân tích đặc tính sản phẩm dịch vụ
Đánh giá kết quả hoạt động kinh doanh
Phân tích hành vi người dùng mạng xã hội
Thảo luận
huybx@ueh.edu.vn
1. Gom cụm dữ liệu (tt.)
Cụm (cluster) – Các đại lượng đối với dữ liệu định
lượng
❑ trọng tâm (centroid):
1 n
C = xi
n i =1
❑ bán kính (radius):
1 n
R= i
n i =1
( x − C ) 2
7
1. Gom cụm dữ liệu (tt.)
Gom cụm (Clustering, Data Segmentation)
❑ tìm sự tương đồng (khác biệt) giữa các phần tử trong
dataset
❑ Unsupervised Learning: không có các lớp được xác định
trước (learning by observations)
8
1. Gom cụm dữ liệu (tt.)
Gom cụm (Clustering, Data Segmentation) – G.đoạn
tiền xử lý cho các thuật toán khác
❑ summarization: hồi quy, PCA, …
❑ compression: xử lý ảnh
❑ phát hiện outliers
❑. ..
9
Giới thiệu phân cụm dữ liệu
11
1. Gom cụm dữ liệu (tt.)
Hàm khoảng cách (distance function): giữa 2 items
❑ khoảng cách Manhattan:
n
d ( x, y ) = xi − yi
i =1
( )
n 1/ p
d ( x, y ) = xi − yi
p
i =1
12
1. Gom cụm dữ liệu (tt.)
Hàm khoảng cách (distance function): giữa 2 items
❑ cosin:
n
x .y i i
d ( x, y ) = i =1
n n
x
i =1
2
i i
y 2
i =1
n
d ( x, y ) = xi . yi
i =1
13
1. Gom cụm dữ liệu (tt.)
Hàm khoảng cách (distance function): giữa 2 clusters
❑ Single-link: kh.cách ngắn nhất giữa 2 items của 2 clusters
D(Ci , C j ) = min d ( xi , x j )
xi Ci , x j C j
D(Ci , C j ) = max d ( xi , x j )
xi Ci , x j C j
x j C j
14
1. Gom cụm dữ liệu (tt.)
Hàm khoảng cách (distance function): giữa 2 clusters
❑ Centroids: kh.cách giữa 2 trọng tâm của 2 clusters
1
D(Ci , C j ) = d y
1
Ci x ,
Cj
xCi yC j
❑ Medoids: kh.cách giữa 2 phần tử trung tâm của 2 clusters
D(Ci , C j ) = d ( M i , M j )
15
Nội dung
1. Gom cụm dữ liệu
2. Một số phương pháp gom cụm
3. Đánh giá mô hình gom cụm
4. Minh họa với phần mềm Orange
16
Giới thiệu phân cụm dữ liệu
Phân loại một số phương pháp phân cụm chính
2.1 Cách tiếp cận phân hoạch
Tập dữ liệu D được phân hoạch thành k clusters (rời
nhau)
❑ xác định một điểm ci là “đặc trưng” cho mỗi cluster Ci
❑ chọn phân hoạch tốt nhất: tổng bình phương khoảng cách (Sum
of Squared Error) từ ci đến mọi xCi của tất cả k clusters là nhỏ
nhất:
k
SSE = d ( x, ci ) 2
i =1 xCi
❑ tối ưu toàn cục: vét cạn mọi cách
phân hoạch (khả thi?)
❑ dùng heuristic: k-Means, k-Medoids,
Fuzzy C-Means, …
18
2.1 Cách tiếp cận phân hoạch (tt.)
Thuật toán k-Means (MacQueen, 67; Lloyd, 57): ci là
trọng tâm của cluster Ci
Bước 1. Chọn ngẫu nhiên k trọng tâm {c1, c2, …, ck}.
Bước 2. xD, đưa x vào cluster có trọng tâm gần với x
nhất:
C ( x) = arg min d ( x, ci )
i
19
Thuật toán K-means
Ví dụ: Ta có bộ dữ liệu gồm 4 đối tượng là 4 lọ thuốc bị mất nhãn. Biết
rằng 4 lọ này thuộc 2 loại khác nhau và mỗi lọ thuốc có 2 thuộc tính là
chỉ số khối và độ pH như bảng bên dưới. Ta sẽ sử dụng thuật toán K-
means để phân 4 đối tượng này vào 2 cụm
Thuật toán K-means
✓ Do đối tượng dữ liệu D (5;4)
Độ pH
x: chỉ số khối.
B (2;1)
y: độ pH.
✓ Các đối tượng có thể A (1;1)
được biểu diễn trong
không gian hai chiều
như hình bên cạnh. Chỉ số khối
Thuật toán K-means
Độ pH
các điểm trong không
gian dữ liệu bằng cách
tính khoảng cách Euclid
từ mỗi điểm đến từng
trung tâm.
Chỉ số khối
Thuật toán K-means
Độ pH
Cụm 1: {A}
Cụm 2: {B,C,D}
Độ pH
Cụm 1 :{A, B}
Cụm 2 :{C, D}
✓ Bước 3: Cập nhật lại trung tâm của 2 cụm. Chỉ số khối
C1 = (1.5;1) ; C2 = (4.5;3.5)
Thuật toán K-means
Bước 4: lặp lại bước 2: phân cụm
lại cho các đối tượng dựa theo
khoảng cách với 2 trung tâm mới
Độ pH
Cụm 1 :{A, B}
Cụm 2 :{C, D}
✓ Bước 3: Cập nhật lại trung tâm của 2 cụm.
C1 = (1.5;1) ; C2 = (4.5;3.5) Chỉ số khối
Kết quả phân cụm không đổi => kết thúc
Thảo luận
huybx@ueh.edu.vn
2.1 Cách tiếp cận phân hoạch (tt.)
Thuật toán Fuzzy C-Means (Dunn, 73; Bezdek, 81)
❑ tậpmờ (fuzzy set) với hàm thành viên (membership
function) FD : D → [0, 1] (Zadeh, 65)
VD: Flip-Flop thuộc 2 nhóm sản phẩm { phần mềm, giải
trí }
27
2.1 Cách tiếp cận phân hoạch (tt.)
Thuật toán Fuzzy C-Means
❑ ma trận phân hoạch (partition matrix): W = [wij]n x k, với:
wij = membership(di, Cj) [0, 1] (→ xác suất)
C1 C2 Ck
d1 w11 w12 ...w1k
tổng giá trị dòng i:
d 2 w21 w22 ... w2 k k
ROWi = wij = 1
j =1
w ... wnk
dn n1 wn 2
n
tổng giá trị cột j:0 COL j = w
i =1
ij n (không có cluster rỗng)
28
2.1 Cách tiếp cận phân hoạch (tt.)
Thuật toán Fuzzy C-Means: cải biên từ k-Means
Bước 1. Khởi tạo (ngẫu nhiên) W(0) với ROWi = 1, i=1..n
Bước 2. Xác định k trọng tâm ở vòng lặp thứ t:
n
ij .xi
w p
cj = i =1
n
w
i =1
p
ij
Bước 3. Cập nhật ma trận phân hoạch W(t) ở vòng lặp thứ t:
1
wij = 2
k
d ( xi , c j ) p −1
s =1 d ( xi , cs )
Bước 4. Nếu W − W
(t ) ( t −1)
thì DỪNG; Ngược lại, quay lại Bước 2.
29
2.1 Cách tiếp cận phân hoạch (tt.)
Thuật toán Fuzzy C-Means
VD: n = 6, không gian 2 chiều (F1, F2), k = 2 (C1, C2), p
=2
30
2.1 Cách tiếp cận phân hoạch (tt.)
Thuật toán Fuzzy C-Means
Vòng lặp t = 1:
Tiếp tục vòng lặp t … cho đến khi phân hoạch “ổn định”.
31
2.1 Cách tiếp cận phân hoạch (tt.)
Ưu điểm của FCM
❑ gom cụm linh hoạt
❑ hiệu quả với tập dữ liệu lớn, các cụm chồng lắp lên nhau
32
2.2 Cách tiếp cận phân cấp
Xây dựng cây phân cấp cho các phần tử trong tập dữ
liệu
❑ dựa trên ma trận khoảng cách
(distance/similarity/dissimilarity matrix) giữa các phần tử
và khoảng cách giữa các cụm
❑ dựa trên điều kiện dừng thay vì tham số k của k-Means
❑ clusters sau
khi hình thành vẫn có thể phân tách, gộp
chung (khác với cách tiếp cận phân hoạch)
33
2.2 Cách tiếp cận phân cấp (tt.)
Hai phương pháp điển hình
Agglomerative Nesting (AGNES)
34
2.2 Cách tiếp cận phân cấp (tt.)
Phương pháp AGNES (Kaufmann & Rousseeuw,
1990)
Bước 1. Khởi tạo n clusters, mỗi cluster chứa 1 phần tử.
Bước 2. Dựa trên single-link, gộp chung 2 clusters gần nhau
nhất thành 1 cluster.
Bước 3. Lặp lại Bước 2 cho đến khi gộp n phần tử vào 1
cluster
Ts.
Chương 5: Gom cụm dữ liệu Nguyễn
An Tế
35
2.2 Cách tiếp cận phân cấp (tt.)
Biểu đồ Dendrogram: cây phân cấp các clusters
❑ phân hoạch là một nhát cắt (ngang) ở 1 mức xác định
❑ những nút được liên kết với nhau sẽ tạo thành 1 cluster
khoảng
cách
# clusters
36
2.2 Cách tiếp cận phân cấp (tt.)
Phương pháp AGNES (Kaufmann & Rousseeuw,
1990)
37
2.2 Cách tiếp cận phân cấp (tt.)
Phương pháp AGNES (Kaufmann & Rousseeuw,
1990)
38
2.2 Cách tiếp cận phân cấp (tt.)
So sánh các hàm khoảng cách
39
2.2 Cách tiếp cận phân cấp (tt.)
Phương pháp DIANA (Kaufmann & Rousseeuw,
1990)
Bước 1. Khởi tạo 1 cluster chứa tất cả n phần tử.
Bước 2. Mỗi cluster có hơn 1 phần tử được tách thành 2
clusters (top-down, ngược với AGNES).
Bước 3. Lặp lại Bước 2 cho đến khi có n clusters.
Divisive Analysis (DIANA)
40
2.2 Cách tiếp cận phân cấp (tt.)
Ưu điểm của cách tiếp cận phân cấp
❑ giải thuật đơn giản
❑ kết quả dễ hiểu
❑ không cần tham số đầu vào (k)
Khuyết điểm cách tiếp cận phân cấp
❑ không thể quay lui
❑ độ phức tạp O(n2), không thích hợp với tập dữ liệu lớn
❑ nhạy cảm với nhiễu, dữ liệu bị thiếu
❑ không hiệu quả với tập dữ liệu không lồi (non-convex)
41
Nội dung
1. Gom cụm dữ liệu
2. Một số phương pháp gom cụm
3. Đánh giá mô hình gom cụm
4. Minh họa với phần mềm Orange
42
3. Đánh giá mô hình gom cụm
Bài toán phân cụm rất khó đánh giá chất lượng
Các phương pháp đánh giá việc phân cụm dữ liệu:
đánh giá ngoài, đánh giá nội bộ, đánh giá tương đối.
Các tiêu chí đánh giá chất lượng
❑ độ nén (compactness): các phần tử trong cụm phải gần
nhau
❑ độ phân tách (separation): các cụm phải cách nhau (rõ
ràng)
43
Đánh giá ngoài (external validation)
Là đánh giá kết quả phân cụm dựa vào cấu trúc/ xu hướng phân
cụm được chỉ định trước cho tập dữ liệu.
❑ So sánh độ sai khác giữa các cụm
45
Đánh giá tương đối (relative validation)
Đánh giá kết quả gom cụm bằng việc so sánh với:
❑ Kết quả gom cụm ứng với các bộ trị thông số khác nhau.
❑ Kết quả gom cụm của các phương pháp khác
Nội dung
1. Gom cụm dữ liệu
2. Một số phương pháp gom cụm
3. Đánh giá mô hình gom cum
4. Minh họa với phần mềm Orange
47
Demo bằng công cụ Orange
Bài toán phân cụm khách hàng, dựa trên hành vi
mua hàng
Demo bằng công cụ Orange
Quy trình thực hiện
Demo bằng công cụ Orange
Kết quả
Tài liệu tham khảo
[1] Oded Maimon, Lior Rokach, “Data Mining and Knowledge
Discovery Handbook”, Second Edition, Springer Science +
Business Media, LLC 2005, 2010
[2] Hillol Kargupta, Jiawei Han, Philip S. Yu, Rajeev Motwani, and
Vipin Kumar, “Next Generation of Data Mining”, Taylor & Francis
Group, LLC, 2009
[3] Jiawei Han, Micheline Kamber, “Data Mining: Concepts and
Techniques”, Second Edition, Morgan Kaufmann Publishers, 2006
[4] Daniel T. Larose, “Data mining methods and models”, John
Wiley & Sons, Inc, 2006.
[5]R. Xu, D. Wunsch II. Survey of Clustering Algorithms. IEEE
Transactions on Neural Networks, 16(3), May 2005, pp. 645-678
Thảo luận
52