Download as pdf or txt
Download as pdf or txt
You are on page 1of 45

GOM CỤM DỮ LIỆU

Ha Le Hoai Trung

5/11/2021 1
Nội Dung
1. Tổng quan về gom cụm dữ liệu
2. Gom cụm dữ liệu bằng mạng Kmean
3. Gom cụm dữ liệu bằng mạng Kohonen
4. Một số phương pháp khác

5/11/2021 2
Tổng quan về gom cụm dữ liệu
• Outlier detection

5/11/2021 3
Tổng quan về gom cụm dữ liệu
• Nhận diện phần tử biên (outliers) và giảm thiểu nhiễu
(noisy data): phân tích cụm (cluster analysis)

5/11/2021 4
Tổng quan về gom cụm dữ liệu

5/11/2021 5
Tổng quan về gom cụm dữ liệu

5/11/2021 6
Tổng quan về gom cụm dữ liệu

5/11/2021 7
Tổng quan về gom cụm dữ liệu

5/11/2021 8
Tổng quan về gom cụm dữ liệu
• Tiền xử lý dữ liệu (data preprocessing)
• Nhận dạng mẫu (pattern recognition)
• Xử lý ảnh (image processing)
• Phân mảnh thị trường (market segmentation)
• Gom cụm tài liệu (www document clustering)
•…

5/11/2021 9
Tổng quan về gom cụm dữ liệu
• Gom cụm
 Gom cụm dữ liệu/đối tượng vào các cụm
 Các đối tượng trong cùng một cụm tương tự với
nhau hơn so với đối tượng ở các cụm khác

Gom cụm

5/11/2021 10
Tổng quan về gom cụm dữ liệu
• Gom cụm
 Gom cụm dữ liệu/đối tượng vào các cụm
 Các đối tượng trong cùng một cụm tương tự với
nhau hơn so với đối tượng ở các cụm khác
Intra-cluster
distances are
minimized.
Inter-cluster
distances are
maximized.

5/11/2021 11
Tổng quan về gom cụm dữ liệu
Ma trận dữ liệu Ma trận khác biệt
N Đối tượng D(i, j) sự khác biệt
P Thuộc tính giữa đối tượng i và j

𝑥11 … 𝑥1𝑓 … 𝑥1𝑝 0


… … … … … 𝑑(2, 1) 0
𝑥𝑖1 … 𝑥𝑖𝑓 … 𝑥𝑖𝑝 𝑑(3,1) 𝑑(3,2) 0
… … … … … ⋮ ⋮ ⋮ ⋮
𝑥𝑛1 … 𝑥𝑛𝑓 … 𝑥𝑛𝑝 𝑑(𝑛, 1) 𝑑(𝑛, 2) 0
5/11/2021 12
Tổng quan về gom cụm dữ liệu
• Khoảng cách d(i, j)
1. D(I,j) >= 0
2. D(i,i) = 0
3. D(I,j) = d(j,i)
4. D(I,j) >= d(I, k) + d(k, j)
• Ý nghĩa d(I,j)?
• Giá trị d(I,j) càng nhỏ thì I và j càng gần nhau.

5/11/2021 13
Tổng quan về gom cụm dữ liệu
• Độ đo khoảng cách Minkowski
𝑞 𝑞 𝑞 𝑞
𝑑 𝑖, 𝑗 = 𝑥𝑖1 − 𝑥𝑗1 + 𝑥𝑖2 − 𝑥𝑗2 + … + 𝑥𝑖𝑝 − 𝑥𝑗𝑝

• Độ đo khoảng cách Manhattan


𝑑 𝑖, 𝑗 = 𝑥𝑖1 − 𝑥𝑗1 + 𝑥𝑖2 − 𝑥𝑗2 + … + 𝑥𝑖𝑝 − 𝑥𝑗𝑝

• Độ đo khoảng cách Euclidean


2 2
𝑑 𝑖, 𝑗 = 𝑥𝑖1 − 𝑥𝑗1 + 𝑥𝑖2 − 𝑥𝑗2 + … + 𝑥𝑖𝑝 − 𝑥𝑗𝑝

5/11/2021 14
Tổng quan về gom cụm dữ liệu

5/11/2021 15
Tổng quan về gom cụm dữ liệu

5/11/2021 16
Tổng quan về gom cụm dữ liệu
• Bao nhiêu cụm nên được tạo ra?
• Mỗi cụm nên có bao nhiêu phần tử?

Bao nhiêu cụm được tạo ra? 6 cụm

5/11/2021 17
2 cụm 4 cụm
Tổng quan về gom cụm dữ liệu
• Các yêu cầu
 Khả năng co giãn về tập dữ liệu (scalability)
 Khả năng xử lý nhiều kiểu thuộc tính khác nhau (different types of
attributes)
 Khả năng khám phá các cụm với hình dạng tùy ý(clusters with
arbitrary shape)
 Tối thiểu hóa yêu cầu về tri thức miền trong việc xác định các
thông số nhập (domain knowledge for input parameters)
 Khả năng xử lý dữ liệu có nhiễu (noisy data)

5/11/2021 18
Tổng quan về gom cụm dữ liệu
• Các yêu cầu
 Khả năng gom cụm tăng dần và độc lập với thứ tự của dữ
liệu nhập (incremental clustering and insensitivity to the
order of input records)
 Khả năng xử lý dữ liệu đa chiều (high dimensionality)
 Khả năng gom cụm dựa trên ràng buộc (constraintbased
clustering)
 Khả diễn và khả dụng (interpretability and usability)

5/11/2021 19
Tổng quan về gom cụm dữ liệu
• Phân loại các phương pháp gom cụm
 Phân hoạch (partitioning)
 Phân cấp (hierachical)
 Dựa trên mật độ (density-based)
 Dựa trên lưới (grid-based)
 Dựa trên mô hình (model-based)

5/11/2021 20
Tổng quan về gom cụm dữ liệu
• Phân hoạch (partitioning)

5/11/2021 21
Tổng quan về gom cụm dữ liệu

5/11/2021 22
Gom cụm dữ liệu bằng thuật toán K-Means

5/11/2021 23
Thuật toán gom cụm K-Means
• Ý tưởng
 Mỗi cụm được đại diện bởi trọng tâm
 Phân đối tượng 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 nhỏ nhất
 Cập nhật lại trọng tâm của cụm
 Lặp lại quá trình trên đến khi hàm mục tiêu nhỏ hơn
ngưỡng cho phép hoặc các trọng tâm không đổi

5/11/2021 24
Thuật toán gom cụm K-Means
• Thuật toán
1. Chọn ngẫu nhiên k điểm làm trọng tâm ban đầu của
k cụm
2. Gán từng điểm vào cụm có trọng tâm gần điểm
đang xét. Dừng khi không có phép gán nào được
thực hiện.
3. Tính lại trọng tâm từng cụm
4. Quay lại bước 2

5/11/2021 25
Thuật toán gom cụm K-Means

5/11/2021 26
Thuật toán gom cụm K-Means
Ví dụ
• Phân cụm với k=2 dữ liệu là các tập điểm sau:

xi1 Xi2
X1 1 3
X2 1.5 3.2
x3 1.3 2.8
x4 3 1

5/11/2021 27
Thuật toán gom cụm K-Means
Ví dụ
• k=2
• Khởi tạo ma trận phân hoạch M[4,2] // 4 cột ứng với 4 điểm, 2 dòng
ứng với 2 cụm

x1 x2 x3 X4
C1 1 0 0 0
c2 0 1 1 1

5/11/2021 28
Thuật toán gom cụm K-Means
Ví dụ
• Tính vector trọng tâm v1(v11, v12), v2(v21, v22)
xi1 Xi2 x1 x2 x3 X4
X1 1 3 C1 1 0 0 0
X2 1.5 3.2 c2 0 1 1 1
x3 1.3 2.8
x4 3 1

m11∗x11 m12∗ x21 m13∗ x31 m14∗ x41


𝑣11 =
m11 m12 m13 m14
1*1 0 *1.5  0 *1.3  0 * 3
 1
1 0  0  0
5/11/2021 29
Thuật toán gom cụm K-Means
Ví dụ
• Tính vector trọng tâm v1(v11, v12), v2(v21, v22)
xi1 Xi2 x1 x2 x3 X4
X1 1 3 C1 1 0 0 0
X2 1.5 3.2 c2 0 1 1 1
x3 1.3 2.8
x4 3 1

m11∗ x12  m12∗ x22  m13∗ x32  m14∗ x42


𝑣11 =
m11 m12  m13 m14

• V1=(1, 3) 1∗3  0 ∗3.2  0 ∗ 2.8  0 ∗1


= =3
1 0  0  0
5/11/2021 30
Thuật toán gom cụm K-Means
Ví dụ
• Tính vector trọng tâm v1(v11, v12), v2(v21, v22)
xi1 Xi2 x1 x2 x3 X4
X1 1 3 C1 1 0 0 0
X2 1.5 3.2 c2 0 1 1 1
x3 1.3 2.8
x4 3 1

m21∗ x11 m22∗ x21 m23∗ x31 m24∗ x41


𝑣21 =
m21 m22  m23 m24
0 ∗11∗1.5 1∗1.3 1∗3 5.8
= = = 1.93
5/11/2021 0 111 3 31
Thuật toán gom cụm K-Means
Ví dụ
• Tính vector trọng tâm v1(v11, v12), v2(v21, v22)
xi1 Xi2 x1 x2 x3 X4
X1 1 3 C1 1 0 0 0
X2 1.5 3.2 c2 0 1 1 1
x3 1.3 2.8
x4 3 1

m21∗x12m22∗x22m23∗x32m24∗x42
𝑣22 =
m21 m22 m23m24
• V2=(1.93, 2.33)
0 ∗3 1∗3.2 1∗ 2.8 1∗1 7
= = = 2.33
5/11/2021 0 111 3 32
Thuật toán gom cụm K-Means
Ví dụ
• Tính khoảng cách euclide xi1 Xi2
X1 1 3
• 𝑑 𝑥1, 𝑣1 = (𝑥11 − 𝑣11)2 +(𝑥12 − 𝑣12)2 X2 1.5 3.2
x3 1.3 2.8
= (1 − 1)2 +(3 − 3)2 = 0
x4 3 1

• 𝑑 𝑥1, 𝑣2 = (𝑥11 − 𝑣21)2 +(𝑥12 − 𝑣22)2


= (1 − 1.93)2 +(3 − 2.33)2 = 1.14

• Vì d(x1,v1)<d(x1,v2) nên gom x1 vào cụm c1


5/11/2021 33
Thuật toán gom cụm K-Means
Ví dụ
• Bài tập nhóm (3-5 sv/nhóm) xi1 Xi2
X1 1 3
• Thời gian: 5 phút X2 1.5 3.2
• Yêu cầu: x3 1.3 2.8
1. Tính các khoảng cách còn lại x4 3 1
2. Xác định cụm cho x2, x3, x4

5/11/2021 34
Thuật toán gom cụm K-Means
Ví dụ
• D(x2, v1)=0.54 < d(x2, v2)=0.97  x2 được xếp vào c1
• D(x3, v1)=0.36 < d(x3, v2)=0.78  x3 được xếp vào c1
• D(x4, v1)=2.83 < d(x4, v2)=1.7  x4 được xếp vào c2
X1 X2 X3 X4
• Cập nhật ma trận M C1 1 1 1 0
C2 0 0 0 1

• Lặp lại đến khi |Mn–Mn-1|<epsilon, hoặc ma trận M không thể


thay đổi được nữa.

5/11/2021 35
Nhận xét
• Ưu điểm
 Nhanh
 Phù hợp với các cụm hình cầu
• Hạn chế
 Phải xác định trước k
 Không đảm bảo được tối ưu toàn cục
 Không thể xử lý nhiễu và ngoại lai
 Chỉ áp dụng được khi tính được trọng tâm

5/11/2021 36
Bài tập nhóm
• Nhóm: 5 sinh viên. Thời gian: 10 phút
• Sử dụng thuật toán K_means và độ đo Euclide để phân tập 7 điểm
sau thành 3 cụm.
P1 3 6
P2 5 4
P3 1 8
P4 1 10
P5 7 8
P6 8 8
P7 2 9
5/11/2021 37
Gom cụm dữ liệu bằng mạng Kohonen

5/11/2021 38
Gom cụm bằng mạng Kohonen
• Học có giám sát (supervised learning)
• Biết trước số lớp cần phân loại.
• Dựa vào đặc trưng của các bộ dữ liệu đầu vào (đã thuộc vào
một phân lớp), học để phân lớp vào một trong các lớp đã
biết.
• Bài toán Phân lớp
• Học không có giám sát (unsupervised learning)
• Không biết trước số lớp cần phân loại
• Bài toán Gom cụm

5/11/2021 39
Gom cụm bằng mạng Kohonen
• Mạng Kohonen được đề xuất và phát triển bởi Teuvo
Kohonen vào những năm 1980
• Self-Organizing Map (SOM), Kohonen map, Kohonen
Artifical Neural Networks
• Là phương pháp học không giám sát
• Thực hiện ánh xạ để giảm kích thước tập huấn luyện
• Mạng neural truyền thẳng sử dụng thuật toán học không
giám sát
5/11/2021 40
Gom cụm bằng mạng Kohonen
• Ý tưởng:
Với tập đối tượng O, gom cụm các đối tượng thành
các cụm sao cho:
 Các đối tượng trong cùng cụm cụm có mức độ tương tự
cao
 Các đối tượng khác cụm có mức tương tự thấp
Self-Organizing Map biểu diễn một tập các đối
tượng thành các điểm trên ma trận 2 chiều, khoảng
cách giữa các đối tượng trên ma trận phản ánh độ
tương đồng giữa các đối tượng
5/11/2021 41
Gom cụm bằng mạng Kohonen

5/11/2021 42
Gom cụm bằng mạng Kohonen
• Ý tưởng:
Kích thước ma trận (map) được xác định từ đầu,
trọng số của các phần tử (neural) được khởi tạo ngẫu
nhiên
Trong quá trình học, dùng độ đo để tìm neural có
khoảng cách nhỏ nhất đến mẫu học, gọi là neural
chiến thắng
Cập nhật trọng số và vùng lân cận

5/11/2021 43
Gom cụm bằng mạng Kohonen
• Có rất nhiều biến thể của thuật toán gom cụm
bằng mạng Kohonen
• Ứng dụng: phân tích đầu tư, phân loại khách
hàng, phân loại tài liệu,…

5/11/2021 44
Tài liệu tham khảo
1. Đỗ Phúc, Giáo trình Khai thác dữ liệu, ĐHQG TPHCM, 2012.
2. Đỗ Phúc, Slide Bài giảng Khai thác dữ liệu, ĐHQG TPHCM.
3. Khoa Khoa học và Kỹ thuật máy tính, Bài giảng Khai phá dữ
liệu, Trường Đại học Bách khoa Tp. Hồ Chí Minh, 2019.
4. Hồ Tú Bảo, Introduction to knowledge discovery and data mining,
IOIT, 2001.
5. Jiawei Han, Micheline Kamber, and Jian Pei, Data Mining
Concepts and Techniques, 3 edition, Morgan Kaufmann
Publishers, 2011.
6. X. Wu, V. Kumar, J. Ross Quinlan, Top 10 Algorithms in Data
Mining, Chapman & Hall/CRC, Taylor & Francis Group, LLC, 2009.
7. Graham J. Williams, Simeon J. Simoff, “Data Mining: Theory,
Methodology, Techniques, and Applications”, Springer-Verlag,
2006.
5/11/2021 45

You might also like