Thuật toán AHC
Bước 10: Chọn cách gộp các cluster bằng Single Linkage
Nhóm 2 clusters còn lại (A,B) và (((D, F), E), C)
Được 1 cluster duy nhất gồm toàn bộ 6 đối tượng ((((D,F),E),C),(A,B))
Kết thúc thuật toán AHC
35 trang |
Chia sẻ: vutrong32 | Lượt xem: 1528 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Chương 5: Gom cụm, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Phân tích bằng gom cụm
Chương 5: Gom cụm
Khái quát
- Phân tích bằng gom cụm là gì?
- Đối tượng tương tự và không tương tự
- Các loại dữ liệu trong phân tích bằng gom cụm
- Một số phương pháp gom cụm
Phân tích bằng gom cụm là gì?
Chương 5: Gom cụm
Gom cụm:
Gom các đối tượng dữ liệu:
- Tương tự với một đối tượng khác trong cùng cụm
- Không tương tự với các đối tượng trong các cụm khác
Mục tiêu của gom cụm:
Gom tập các đối tượng dữ liệu thành các nhóm
Các ứng dụng của gom cụm
Chương 5: Gom cụm
- Tiếp thị: khám phá các nhóm khách hàng phân biệt trong
CSDL mua hàng
- Hoạch định thành phố: nhận dạng các nhóm nhà cửa theo
loại nhà, giá trị và vị trí địa lý
- Bảo hiểm: nhận dạng các nhóm công ty có chính sách bảo
hiểm....
- Thương mại: nhận dạng sản phẩm hàng hóa, kinh doanh,..
Thế nào là gom cụm tốt
Chương 5: Gom cụm
- Một phương pháp phân cụm tốt sẽ tạo ra các cụm có chất
lượng cao với:
* Tương tự cao trong một lớp
* Tương tự thấp giữa các lớp
- Chất lượng của kết quả gom cụm phụ thuộc vào:
* Độ đo tương tự được sử dụng
* Phương pháp cài đặt độ đo tương tự
Tương tự và bất tương tự giữa hai đối tượng?
Chương 5: Gom cụm
- Định nghĩa về tương tự và bất tương tự giữa các đối tượng
phụ thuộc:
* Loại dữ liệu khảo sát
* Loại tương tự cần thiết
- Tương tự/bất tương tự biểu diễn qua độ đo khoảng cách
d(x,y)
- Độ đo khoảng cách thỏa mãn các điều kiện:
* d(x,y) ≥ 0
* d(x,y) =0 khi và chỉ khi x=y
* d(x,y) = d(y,x)
* d(x,z) ≤ d(x,y) + d(y,z)
Một số loại dữ liệu trong phân tích cụm
Chương 5: Gom cụm
Các biến khoảng tỷ lệ
Các độ đo liên tục của các thang đo tuyến tính.
Ví dụ: Trọng lượng, chiều cao, tuổi,...
Cần chuẩn hóc dữ liệu để tránh phụ thuộc đơn vị đo
* Độ đo khoảng cách phổ biến cho biến tỷ lệ theo khoảng là độ
đo khoảng cách Minkowski:
d(i,j)= ( 𝒙𝒊𝟏 − 𝒙𝒋𝟏
𝒒 + 𝒙𝒊𝟐 − 𝒙𝒋𝟐
𝒒 + ⋯ + 𝒙𝒊𝒑 − 𝒙𝒋𝒑
𝒒)
Trong đó:
i=(xi1,xi2,...,xip) và j=(xj1,xj2,...,xjp) là các đối tượng dữ
liệu p-chiều và q là số nguyên dương
Một số loại dữ liệu trong phân tích cụm
Chương 5: Gom cụm
Các biến khoảng tỷ lệ
• Nếu q=1 thì độ đo khoảng cách là độ đo Manhatan:
d(i,j)= 𝒙𝒊𝟏 − 𝒙𝒋𝟏 + 𝒙𝒊𝟐 − 𝒙𝒋𝟐 + ⋯ + 𝒙𝒊𝒑 − 𝒙𝒋𝒑
• Nếu q=2 thì độ đo khoảng cách là độ đo Euclidean:
d(i,j)= ( 𝒙𝒊𝟏 − 𝒙𝒋𝟏
𝟐 + 𝒙𝒊𝟐 − 𝒙𝒋𝟐
𝟐 + ⋯ + 𝒙𝒊𝒑 − 𝒙𝒋𝒑
𝟐)
Một số loại dữ liệu trong phân tích cụm
Chương 5: Gom cụm
Các biến nhị phân
- Biến nhị phân chỉ có hai trạng thái là 0 và 1
Ví dụ: Giới tính
- Bảng Contingency Table cho dữ liệu nhị phân
Đối tượng j
1 0 sum
Đối tượng i 1 a b a+b
0 c d c+d
sum a+c b+d p
Trong đó: a,b,c,d là số các thành phần tương ứng giữa 2
vector i và j
Một số loại dữ liệu trong phân tích cụm
Chương 5: Gom cụm
Các biến nhị phân
- Hệ số đối sánh đơn giản (Biến nhị phân là đối xứng)
d(i,j) =
𝒃+𝒄
𝒂+𝒃+𝒄+𝒅
- Hệ số Jaccard (Biến nhị phân bất đối xứng)
d(i,j) =
𝒃+𝒄
𝒂+𝒃+𝒄
Một số loại dữ liệu trong phân tích cụm
Chương 5: Gom cụm
Các biến nhị phân
Ví dụ: Cho các record bệnh nhân
Name Gender Test1 Test2 Test3 Test4 Test5 Test6
Jack M Y N P N N N
Mary F Y N P N P N
Jim M Y P N N N N
Ta có thể chuyển về dạng các vector nhị phân như sau:
Name Gender Test1 Test2 Test3 Test4 Test5 Test6
Jack 1 1 0 1 0 0 0
Mary 0 1 0 1 0 1 0
Jim 1 1 1 0 0 0 0
Một số loại dữ liệu trong phân tích cụm
Chương 5: Gom cụm
Các biến nhị phân
Các vector nhị phân:
Bảng Contingency Table cho hai đối tượng Jack và Mary
Đối tượng Mary
1 0 sum
Đối
tượng
Jack
1 2 1 a+b
0 1 3 c+d
sum a+c b+d p
a=2, b=1, c=1, d=3
Hệ số Jaccard:
d(Jack,Mary)=
𝟏+𝟏
𝟐+𝟏+𝟏
=0.5
Tương tự:
d(Jack,Jim)=0.5
d(Jim,Mary)=0.8
Name Gender Test1 Test2 Test3 Test4 Test5 Test6
Jack 1 1 0 1 0 0 0
Mary 0 1 0 1 0 1 0
Jim 1 1 1 0 0 0 0
Một số loại dữ liệu trong phân tích cụm
Chương 5: Gom cụm
Các biến định danh
- Mở rộng biến nhị phân để biến có thể nhận nhiều hơn hai
trạng thái
Ví dụ: Màu sắc (đỏ, xanh, vàng, lục,....)
- Phương pháp 1: Đối sánh đơn giản
d(i,j) =
𝒑−𝒎
𝒑
Trong đó: - m: là số lần giống nhau khi so sánh
- p: Tổng số biến
- Phương pháp 2: Dùng một số lượng các biến nhị phân. Tạo
biến nhị phân mới cho từng trạng thái định danh
Một số phương pháp gom cụm
Chương 5: Gom cụm
Phương pháp phân hoạch
Tạo phân hoạch CSDL D có n đối tượng thành tập có k cụm
sao cho:
- Mỗi cụm chứa ít nhất một đối tượng
- Mỗi đối tượng thuộc về một cụm duy nhất
- Một số phương pháp:
* K-Means (MacQueen’67):
Mỗi cụm được đại diện bởi trọng tâm (centroid) của
cụm.
* K-Medoids (Kaufman & Rousessuw’87):
Mỗi cụm được đại diện bằng một trong các đối tượng
của cụm
Chương 5: Gom cụm
Thuật toán K-Means
Bắt đầu
K=?
Chọn K tâm
Khoảng cách
các đối tượng
đến tâm
Nhóm các đối
tượng vào cụm
gần nhất
Xác định lại tâm
cho các cụm
Thay đổi
cụm của các
đối tượng
Thuật toán K-Means thực hiện
qua các bước chính sau:
1.Chọn ngẫu nhiên K tâm
(centroid) cho K cụm (cluster).
Mỗi cụm được đại diện bằng các
tâm của cụm.
2.Tính khoảng cách giữa các đối
tượng (objects) đến K tâm
(Euclidean)
3.Nhóm các đối tượng vào nhóm
gần nhất
4.Xác định lại tâm mới cho các
nhóm
5.Thực hiện lại bước 2 cho đến
khi không có sự thay đổi nhóm
nào của các đối tượng
Chương 5: Gom cụm
Thuật toán K-Means
Ví dụ: Giả sử ta có 4 loại thuốc A,B,C,D, mỗi loại được biểu diễn bởi 2 đặc
trưng X và Y như sau. Mục đích của ta là nhóm các thuốc đã cho vào 2
nhóm (K=2) dựa vào các đặc trưng của chúng.
Đối tượng X Y
A 1 1
B 2 1
C 4 3
D 5 4
Bước 1: Khởi tạo tâm cho 2 cụm. Giả sử A là tâm
cụm 1 - c1(1,1) và B là tâm cụm 2 - c2 (2,1)
4.5
4
3.5
3
2.5
2
1.5
1
0.5
0
(Y
)
(X)
0 1 2 3 4 5 6
Chương 5: Gom cụm
Thuật toán K-Means
Bước 2: Tính khoảng cách từ các đối tượng đến tâm của các nhóm (Khoảng
cách Euclidean) – D0
A B C D
𝑿 = 𝟏 𝟐 𝟒 𝟓
𝒀 = 𝟏 𝟏 𝟑 𝟒
𝑫𝟎 =
𝑿 = 𝟎 𝟏 𝟑. 𝟔𝟏 𝟓
𝒀 = 𝟏 𝟏 𝟐. 𝟖𝟑 𝟒. 𝟐𝟒
c1=(1,1) – group 1
c2=(2,1) – group 2
- Mỗi cột trong ma trận D là một đối tượng
- Mỗi hàng là khoảng cách của mỗi đối tượng đến các tâm (được tính bởi
Euclidean:
d(i,j)= ( 𝒙𝒊𝟏 − 𝒙𝒋𝟏
𝟐 + 𝒙𝒊𝟐 − 𝒙𝒋𝟐
𝟐 + ⋯ + 𝒙𝒊𝒑 − 𝒙𝒋𝒑
𝟐)
Ví dụ: Khoảng cách từ loại thuốc C=(4,3) đến tâm c1(1,1) là 3.61 và
đến tâm c2(2,1) là 2.83 được tính như sau:
d(C,c1) = 𝟒 − 𝟏
𝟐 + 𝟑 − 𝟏 𝟐 = 3.61
d(C,c2) = 𝟒 − 𝟐
𝟐 + 𝟑 − 𝟏 𝟐 = 2.83
Chương 5: Gom cụm
Thuật toán K-Means
Bước 3: Nhóm các đối tượng vào nhóm gần nhất– G0
A B C D
𝑮𝟎 =
𝟏 𝟎 𝟎 𝟎
𝟎 𝟏 𝟏 𝟏
– group 1
– group 2
Cụm 1 sau vòng lặp thứ nhất gồm có 1 đối tượng A
Cụm 2 gồm các đối tượng còn lại B,C,D.
Chương 5: Gom cụm
Thuật toán K-Means
Bước 4: Tính lại tọa độ các tâm cho các cụm mới dựa vào tọa độ của các
đối tượng trong cụm.
Cụm 1 chỉ có 1 đối tượng A nên tâm cụm 1 vẫn không đổi c1=(1,1).
Tâm cụm 2 được tính như sau:
c2 = (
𝟐+𝟒+𝟓
𝟑
,
𝟏+𝟑+𝟒
𝟑
)
= (
𝟏𝟏
𝟑
,
𝟖
𝟑
)
= (𝟑. 𝟔𝟔, 𝟐. 𝟔𝟔)
4.5
4
3.5
3
2.5
2
1.5
1
0.5
0
(Y
)
(X)
0 1 2 3 4 5 6
Chương 5: Gom cụm
Thuật toán K-Means
Bước 5: Tính khoảng cách từ các đối tượng đến tâm của các nhóm (Khoảng
cách Euclidean) – D1
A B C D
𝑿 = 𝟏 𝟐 𝟒 𝟓
𝒀 = 𝟏 𝟏 𝟑 𝟒
𝑫𝟏 =
𝑿 = 𝟎 𝟏 𝟑. 𝟔𝟏 𝟓
𝒀 = 𝟑. 𝟏𝟒 𝟐. 𝟑𝟔 𝟎. 𝟒𝟕 𝟏. 𝟖𝟗
c1=(1,1) – group 1
c2=(
𝟏𝟏
𝟑
,
𝟖
𝟑
) – group 2
Bước 6: Nhóm các đối tượng vào nhóm gần nhất– G1
A B C D
𝑮𝟏 =
𝟏 𝟏 𝟎 𝟎
𝟎 𝟎 𝟏 𝟏
– group 1
– group 2
Cụm 1 sau vòng lặp thứ hai gồm có 2 đối tượng A,B
Cụm 2 gồm các đối tượng còn lại C,D.
Chương 5: Gom cụm
Thuật toán K-Means
Bước 7: Tính lại tâm cho nhóm mới:
Tâm cụm 1 được tính như sau: c1 = (
𝟏+𝟐
𝟐
,
𝟏+𝟏
𝟐
) = (
𝟑
𝟐
,1)
Tâm cụm 2 được tính như sau: c2 = (
𝟒+𝟓
𝟐
,
𝟑+𝟒
𝟐
) = (
𝟗
𝟐
,
𝟕
𝟐
)
4.5
4
3.5
3
2.5
2
1.5
1
0.5
0
(Y
)
(X)
0 1 2 3 4 5 6
Chương 5: Gom cụm
Thuật toán K-Means
Bước 8: Tính khoảng cách từ các đối tượng đến tâm của các nhóm (Khoảng
cách Euclidean) – D2
A B C D
𝑿 = 𝟏 𝟐 𝟒 𝟓
𝒀 = 𝟏 𝟏 𝟑 𝟒
𝑫𝟐 =
𝑿 = 𝟎. 𝟓 𝟎. 𝟓 𝟑. 𝟐 𝟒. 𝟔𝟏
𝒀 = 𝟒. 𝟑 𝟑. 𝟓𝟒 𝟎. 𝟕𝟏 𝟎. 𝟕𝟏
c1=(
𝟑
𝟐
,1) – group 1
c2=(
𝟗
𝟐
,
𝟕
𝟐
) – group 2
Bước 9: Nhóm các đối tượng vào nhóm gần nhất– G2
A B C D
𝑮𝟐 =
𝟏 𝟏 𝟎 𝟎
𝟎 𝟎 𝟏 𝟏
– group 1
– group 2
G2 = G1 Không có sự thay đổi cụm nào của các đối tượng Dừng
Chương 5: Gom cụm
Thuật toán K-Means
Với 4 loại thuốc A,B,C,D, mỗi loại được biểu diễn bởi 2 đặc trưng X và
Y, ta nhóm các thuốc đã cho vào 2 cụm (K=2) dựa vào các đặc trưng của
chúng như sau:
Đối tượng X Y Cụm
A 1 1 1
B 2 1 1
C 4 3 2
D 5 4 2
Một số phương pháp gom cụm
Chương 5: Gom cụm
Phương pháp phân cấp
- Tạo các cụm được phân cấp.
- Không cần số các cụm K ban đầu ở đầu vào
- Thường biểu diễn dưới dạng cây các cụm, gọi là
dendrogam, trong đó:
• Các lá của cây biểu diễn từng đối tượng
• Các nút biểu diễn cho các cụm
Chương 5: Gom cụm
Thuật toán AHC ( Aggloerative Hierarchical Clustering –
Phân nhóm theo thứ bậc)
1. Chuyển đổi các đặc trưng (thuộc tính -
Features) của đối tượng (objects) vào ma
trận khoảng cách
2. Xem mỗi đối tượng là một cluster
(chẳng hạn, nếu ta có 4 đối tượng, ban
đầu chúng ta sẽ có 4 clusters)
3. Lặp lại 2 bước sau cho đến khi số
cluster bằng 1
a. Gộp (liên kết) 2 cluster gần nhất
b. Cập nhật ma trận khoảng cách
Bắt đầu
Chuyển đổi các đặc trưng
Xác định cluster
Số
cluster=1?
Gộp 2 cluster
Cập nhật ma
trận
Sai
Chương 5: Gom cụm
Thuật toán AHC
Tính liên kết giữa các đối tượng -Compute Linkages Between
Objects
1. Single Linkage: Khoảng cách
giữa 2 clusters được tính là khoảng
cách giữa 2 đối tượng gần nhau
nhất trong 2 clusters đó (minimum
distance).
2. Complete Linkage: Khoảng cách
giữa 2 clusters được tính là khoảng
cách giữa 2 đối tượng xa nhau nhất
trong 2 clusters đó (maximum
distance).
dAB = min (dij), i∈A,j∈B
dAB = max (dij), i∈A,j∈B
Chương 5: Gom cụm
Thuật toán AHC
Tính liên kết giữa các đối tượng -Compute Linkages Between
Objects
3. Average Group: Khoảng cách
giữa 2 clusters được tính là khoảng
cách trung bình giữa các đối tượng
trong 2 clusters đó (average
distance).
4. Centroid distance : Khoảng cách
giữa 2 clusters được tính là khoảng
cách của 2 tâm của 2 clusters đó
(Centroid distance).
dAB = avg (dij), i∈A,j∈B
dAB = |cA – cB|
Chương 5: Gom cụm
Ví dụ: Giả sử có 6 đối tượng cần phân cụm A,B,C,D,E,F, mỗi đối tượng có
2 thuộc tính X1 và X2 như sau:
Đối tượng X1 X2
A 1 1
B 1.5 1.5
C 5 5
D 3 4
E 4 4
F 3 3.5
Thuật toán AHC
Bước 1: Chuyển sang ma trận khoảng cách
A B C D E F
1 1.5 5 3 4 3 X1
1 1.5 5 4 4 3.5 X2
6
5
4
3
2
1
0
(X2)
(X1)
0 1 2 3 4 5 6
Chương 5: Gom cụm
Thuật toán AHC
Bước 2: Sử dụng Euclidean tính khoảng cách của tất cả các đối tượng
Ma trận khoảng cách:
A B C D E F
A 0 0.71 5.66 3.61 4.24 3.2
B 0.71 0 4.95 2.92 3.54 2.5
C 5.66 4.95 0 2.24 1.41 2.5
D 3.61 2.92 2.24 0 1 0.5
E 4.24 3.54 1.41 1 0 1.12
F 3.2 2.5 2.5 0.5 1.12 0
Chọn cách gộp các cluster bằng Single Linkage
Khoảng cách từ D đến F là khoảng cách nhỏ nhất (0.5)
Nhóm cụm D và F vào 1 cluster (D,F).
Chương 5: Gom cụm
Thuật toán AHC
Bước 3: Chọn cách gộp các cluster bằng Single Linkage
Khoảng cách từ D đến F là khoảng cách nhỏ nhất (0.5)
Nhóm cụm D và F vào 1 cluster (D,F).
Ma trận khoảng cách:
A B C (D,F) E
A 0 0.71 5.66 ? 4.24
B 0.71 0 4.95 ? 3.54
C 5.66 4.95 0 ? 1.41
(D,F) ? ? ? 0 ?
E 4.24 3.54 1.41 ? 0
Chương 5: Gom cụm
Thuật toán AHC
Bước 3: Tính lại khoảng cách từ cluster (D,F) đến các clusters khác
- Khoảng cách từ cluster (D, F) và cluster A
d(D,F)A = min(dDA,dFA) = min(3.61,3.2)=3.2
- Tương tự ta có:
d(D,F)B = 2.5, d(D,F)C = 2.24, d(D,F)E = 1
Cập nhật ma trận khoảng cách:
A B C (D,F) E
A 0 0.71 5.66 3.2 4.24
B 0.71 0 4.95 2.5 3.54
C 5.66 4.95 0 2.24 1.41
(D,F) 3.2 2.5 2.24 0 1
E 4.24 3.54 1.41 1 0
Khoảng cách từ A đến B là khoảng cách nhỏ nhất (0.71)
Chương 5: Gom cụm
Thuật toán AHC
Bước 4: Chọn cách gộp các cluster bằng Single Linkage
Khoảng cách từ A đến B là khoảng cách nhỏ nhất (0.71)
Nhóm cụm A và B vào 1 cluster (A,B).
Ma trận khoảng cách:
(A,B) C (D,F) E
(A,B) 0 ? ? ?
C ? 0 2.24 1.41
(D,F) ? 2.24 0 1
E ? 1.41 1 0
Chương 5: Gom cụm
Thuật toán AHC
Bước 5: Tính lại khoảng cách giữa các clusters
- Khoảng cách giữa cluster (A, B) và cluster C:
d(A,B)C = min(dAC,dBC) = min(5.66,4.95)=4.95
- Khoảng cách giữa cluster (A, B) và cluster (D,F):
d(A,B)DF = min(dAD,dAF,dBD,dBF) = min(3.61,2.92,3.2,2.5)=2.5
- Khoảng cách giữa cluster (A, B) và cluster E:
d(A,B)E = min(dAE,dBE) = min(4.24,3.54)=3.54
Cập nhật ma trận khoảng cách:
(A,B) C (D,F) E
(A,B) 0 4.95 2.5 3.54
C 4.95 0 2.24 1.41
(D,F) 2.5 2.24 0 1
E 3.54 1.41 1 0
Khoảng cách từ (D,F)
đến E là khoảng cách
nhỏ nhất (1)
Chương 5: Gom cụm
Thuật toán AHC
Bước 6: Chọn cách gộp các cluster bằng Single Linkage
Khoảng cách từ (D,F) đến E là khoảng cách nhỏ nhất (1)
Nhóm cụm (D,F) vào cluster (E).
Ma trận khoảng cách:
(A,B) C ((D,F),E)
(A,B) 0 4.95 ?
C 4.95 0 ?
((D,F),E) ? ? 0
Bước 7: Tính lại khoảng cách giữa các clusters
d((D,F),E)(A,B) = 2.5, d((D,F),E)C = 1.41
Cập nhật ma trận khoảng cách:
(A,B) C ((D,F),E)
(A,B) 0 4.95 2.5
C 4.95 0 1.41
((D,F),E) 2.5 1.41 0
Khoảng cách từ
((D,F),E) đến C là
khoảng cách nhỏ nhất
(1.41)
Chương 5: Gom cụm
Thuật toán AHC
Bước 8: Chọn cách gộp các cluster bằng Single Linkage
Khoảng cách từ ((D,F),E) đến C là khoảng cách nhỏ nhất (1.41)
Nhóm cụm ((D,F),E) vào cluster (C).
Ma trận khoảng cách:
(A,B) (((D,F),E),C)
(A,B) 0 ?
(((D,F),E),C) ? 0
Bước 9: Tính lại khoảng cách giữa các clusters
d(((D,F),E),C)(A,B) = 2.5
Cập nhật ma trận khoảng cách:
Nhóm 2 clusters còn lại (A,B)
và (((D, F), E), C)
(A,B) (((D,F),E),C)
(A,B) 0 2.5
(((D,F),E),C) 2.5 0
Chương 5: Gom cụm
Thuật toán AHC
Bước 10: Chọn cách gộp các cluster bằng Single Linkage
Nhóm 2 clusters còn lại (A,B) và (((D, F), E), C)
Được 1 cluster duy nhất gồm toàn bộ 6 đối tượng ((((D,F),E),C),(A,B))
Kết thúc thuật toán AHC
Quá trình phân cụm
D F E C A B
2.5
2.0
1.5
1.0
0.5
Thứ tự phân cụm
0 1 2 3 4 5 6
5
4
3
2
1
6
A
B
C
D
F
E
Các file đính kèm theo tài liệu này:
- chuong_5_gom_cum_5685.pdf