HIerarchical algorithm
clustering
(Phương pháp Phân cụm theo thứ tự)
Nguyễn Văn Trung
Bùi Đức Anh
Trần Tùng
Nội dung
1
Thuật toán phân cụm theo thứ tự (hierarchical algorithm)
và cơ sở toán học
Kĩ thuật chất đống (agglomerative approach)
2
3
- Sơ đồ cây (dendogram) và tối ưu thuật toán
- Sơ lược về kĩ thuật phân chia.
Các thuật toán chính
Kĩ thuật chất đống - Agglomerative approach
( Bottom – up approach)
Ban đầu, chúng ta coi mỗi đối tượng là 1 cụm (cluster). Ta
nhóm 2 đối tượng gần nhau nhất lại thành 1 cụm mới. Tiếp tục
làm tương tự như vậy đến khi tất cả các đối tượng được gộp
chung vào 1 cụm.
Kĩ thuật phân chia - Divisive approach
( Top – down approach)
Quá trình này ngược với agglomerative. Ban đầu ta coi tất
cả các đối tượng nằm trong 1 cụm, sau đó ta tiến hành chia
thành 2 cụm (thường có khoảng cách xa nhất). Tiếp tục như
vậy cho đến khi mỗi cụm chỉ chứa 1 đối tượng.
Các thuật toán chính
Bước
Bước
Kếtkhởi
thúc
lặp tạo
1
2
Agglomerative
Divisive
5
5
4
4
3
3
2
2
1
1
0
0.5
1
1.5
2
2.5
3
3.5
0
0.5
1
1.5
2
2.5
3
3.5
Cơ sở toán học
Tiêu chuẩn khoảng cách giữa các đối tượng
Kiểm tra mỗi cặp các cặp đối tượng về sự tương đồng
giữa chúng. Một tiêu chuẩn khoảng cách được định nghĩa
để xác định sự “gần nhau” giữa các đối tượng. Chúng
càng “gần nhau” thì chúng càng có nhiều sự tương đồng.
Tiêu chuẩn khoảng cách giữa các nhóm (cụm - cluster)
Trên cơ sở tiêu chuẩn khoảng cách, đưa các đối tượng
vào các nhóm sao cho sự khác nhau giữa các nhóm càng
lớn càng tốt và các đối tượng thuộc cùng một nhóm thì trở
lên càng “gần nhau” càng tốt.
Cơ sở toán học
•Điểm bắt đầu của phương pháp phân tích cụm là ma trận
dữ liệu với đối tượng của biến (thuộc tính).
Đối tượng
Tuổi
Lương ()
A
A
B
B
20
20
25
25
3
3
5
5
C
D
28
30
4
10
Cơ sở toán học
•Sự gần gũi giữa các đối tượng được miêu tả bởi một ma
trận .
càng lớn thì sự tương đồng giữa các đối tượng càng
giảm.
Ngược lại càng nhỏ thì sự tương đồng giữa các đối
tượng là càng lớn.
Khoảng cách giữa các đối tượng
Bản chất của đối tượng quan sát đóng vai trò quan trọng
trong việc chọn tiêu chuẩn khoảng cách giữa các đối
tượng.
2 kiểu dữ liệu chính thường hay được sử dụng:
Kiểu dữ liệu nhị phân
Kiểu dữ liệu liên tục
Kiểu dữ liệu nhị phân
• Để xác định khoảng cách (sự tương tự) giữa các đối
tượng ta phải so sánh giữa các đối tượng quan sát .
Trong đó
Kiểu dữ liệu nhị phân
• Có 4 trường hợp có thể xảy ra:
Kiểu dữ liệu nhị phân
•
Và định nghĩa:
Kiểu dữ liệu nhị phân
• Bảng các tiêu chuẩn thường dùng:
Tên
Công thức
Jaccard
Jaccard
0
0
1
1
Tanimoto
Tanimoto
1
1
2
2
Simple Matching
Simple Matching
1
1
1
1
Russel and Rao
-
-
Russel and Rao
Dice
Dice
0
0
0.5
0.5
Kulczynski
Kulczynski
--
--
P: số chiều (số thuộc tính của đối tượng)
Kiểu dữ liệu liên tục
Có một số lượng lớn các tiêu chuẩn khoảng cách được
sinh ra bởi chuẩn 1 :
Trong đó:
Trong các chuẩn này này thì chuẩn L2 – Euclid được sử
dụng nhiều hơn cả
Khoảng cách giữa các nhóm
Hàm tổng quát để xác định khoảng cách giữa các nhóm:
Số hạng sẽ dẫn tới các thuật toán khác nhau.
Khoảng cách giữa các nhóm
Tên
Single
Single linkage
linkage
0
0
Complete linkage
Complete linkage
Average linkage
Average linkage
(unweighted)
(unweighted)
Average linkage
(weighted)
Average linkage
(weighted)
Centroid
0
0
0
0
0
0
0
0
0
0
Centroid
0
0
Median
Median
Ward
Ward
0
0
0
0
Trong đó: là số đối tượng của nhóm P. tương tự.
Single linkage
Khoảng cách giữa 2 nhóm được tính bằng khoảng cách
giữa 2 đối tượng gần nhau nhất trong 2 nhóm đó
Single linkage còn được gọi là tiêu chuẩn lân cận gần nhất.
Complete linkage
Khoảng cách giữa 2 nhóm được tính bằng khoảng cách
giữa 2 đối tượng xa nhau nhất trong 2 nhóm đó
Complete linkage còn được gọi là tiêu chuẩn lân cận xa nhất.
Centroid Distance
Khoảng cách giữa 2 nhóm được tính bằng khoảng cách
giữa 2 tâm của 2 nhóm đó.
Average Group
Khoảng cách giữa 2 nhóm được tính bằng khoảng cách
trung bình giữa các đối tượng trong 2 nhóm đó.
Nội dung
1
Thuật toán phân cụm theo thứ tự (hierarchical algorithm)
và cơ sở toán học
Kĩ thuật chất đống (agglomerative approach)
2
3
- Sơ đồ cây (dendogram) và tối ưu thuật toán
- Sơ lược về kĩ thuật phân chia.
Kĩ thuật phân cụm chất đống
Input:
- Tập các đối tượng (object) với một số thuộc tính (feature)
mà ta quan tâm.
Output:
- Các đối tượng được nhóm thành các cụm (cluster).
Kĩ thuật phân cụm chất đống
• Các bước trong kĩ thuật phân cụm:
• B1: Chuyển đổi các thuộc tính (features) của đối tượng (objects)
vào ma trận khoảng cách.
• B2: Coi mỗi đối tượng là một cụm (cluster).
• B3: Lặp lại 2 bước sau cho đến khi số cluster bằng 1
• 3.1: Gộp 2 cluster có khoảng cách gần nhất.
• 3.2: Cập nhật ma trận khoảng cách.
Sơ đồ thuật toán
Bắt đầu
Các đối tượng và
độ đo sử dụng
Kết thúc
Tính ma trận khoảng cách
Đ
Coi mỗi đối tượng là một cụm
Số cụm
bằng 1
S
Gộp 2 cụm có khoảng
cách gần nhất
Cập nhật lại ma trận
khoảng cách
Kĩ thuật phân cụm chất đống
• Procedure AHC:
• Init ();
• While Num_cluster ≠ 1 do:
• Joincluster ();
• Update_matrixdist ();
• Num_cluster = Num_cluster -1;
Kĩ thuật phân cụm chất đống
• Ví dụ:
• Ta có bảng đối tượng cùng với thuộc tính như sau:
Đối tượng
Thuộc tính
Tuổi (x10)
Lương (x1000$)
A
2.7
1.7
B
3.2
3.2
C
2.2
1.5
D
3.5
2.9
E
4.9
5
F
4.1
4