Thuật toán gom cụm K-Medoids Thuật toán K-Medoids lấy đối tượng trong cụm làm trọng tâm của cụm gọi là đối tượng tâm.. Ý tưởng chính của thuật toán K-Medoids như sau: Để tìm ra k cụm với
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
BÀI THU HOẠCH CHUYÊN ĐỀ KHAI THÁC DỮ LIỆU
TÊN ĐỀ TÀI THUẬT TOÁN GOM CỤM K-MEDOIDS
SỰ KHÁC NHAU GIỮA THUẬT TOÁN K-MEDOIDS VÀ
THUẬT TOÁN K-MEANS
GIẢNG VIÊN: PGS.TS ĐỖ PHÚC HỌC VIÊN: TRẦN NGỌC THUẬN
MÃ SỐ HỌC VIÊN: CH1101141
KHÓA: 6
Trang 2LỜI MỞ ĐẦU
Ngày nay với sự phát triển nhanh chóng của khoa học công nghệ đặc biệt là trong lĩnh vực công nghệ thông tin Với sự bùng nổ về thông tin lưu trữ thì việc quản lý dữ liệu và khai thác được nguồn dữ liệu vô tận này là một vấn đề rất khó khăn Vì thế khai thác dữ liệu (Data Mining) là vấn đề quan trọng hàng đầu được mọi người quan tâm hiện nay
Trong khai thác dữ liệu cũng chia ra rất nhiều vấn đề quan trọng, trong đó vấn
đề gom cụm dữ liệu (data clustering) là vấn đề đáng được quan tâm
Mục đích của gom cụm là tìm những mẫu tin đại diện hoặc gom dữ liệu tương tự nhau theo một chuẩn đánh giá nào đó thành những cụm Các điểm dữ liệu trong các cụm khác nhau có độ tương tự thấp hơn các điểm nằm trong một cụm
Bài báo cáo trình bày thuật toán gom cụm K-medoids, ví dụ minh hoạ, những ưu
và khuyết điểm của thuật toán, so sánh sự khác nhau với thuật toán K-means
Tôi xin chân thành cám ơn PGS.TS Đỗ Phúc đã cung cấp những kiến thức cơ bản trong chuyên đề Khai thác dữ liệu, cám ơn sự hướng dẫn nhiệt tình của Thầy trong chuyên đề, những thông tin vô cùng bổ ích để tôi hoàn thành bài thu hoạch này
Trang 3MỤC LỤC
I Giới thiệu chung về Gom cụm dữ liệu (Data Clustering)và
thuật toán gom cụm K-medoids
Trang 1
1 Gom cụm dữ liệu (Data Clustering) Trang 1
2 Thuật toán gom cụm K-Medoids Trang 1
II So sánh giải thuật K-means và K-medoids Trang 6
1 Giải thuật gom cụm K-means Trang 6
2 So sánh giải thuật K-means và K-medoids Trang 7
Trang 41
I Giới thiệu chung về Gom cụm dữ liệu (Data Clustering)và thuật toán gom cụm K-medoids
1 Gom cụm dữ liệu (Data Clustering)
Gom cụm dữ liệu (data clustering) là hình thức học không giám sát (unsupervised learning) trong đó các mẫu học chưa được gán nhãn Mục đích của gom cụm dữ liệu là tìm những mẫu đại diện hoặc gom dữ liệu tương tự nhau (theo một chuẩn đánh giá nào đó) thành những cụm Các điểm dữ liệu trong các cụm khác nhau có độ tương tự thấp hơn các điểm dữ liệu trong cùng một cụm Một số ứng dụng tiêu biểu của gom cụm:
- Xem xét phân bổ dữ liệu
- Tiền xử lý cho các thuật toán khác
- Khám phá thói quen và nhu cầu của khách hàng để có phương pháp tiếp thị thích hợp
- Phân loại đất theo công năng hoặc thực tế sử dụng để có chính sách quy hoạch phù hợp
- Phân loại nhà theo vị trí, giá trị,
- Phân loại khách hàng để có chính sách bảo hiểm hợp lý
- Phân loại bệnh nhân
-
2 Thuật toán gom cụm K-Medoids
Thuật toán K-Medoids lấy đối tượng trong cụm làm trọng tâm của cụm (gọi
là đối tượng tâm) Thuật toán này dựa trên nguyên tắc làm cực tiểu sự khác nhau giữa các đối tượng trong cùng một cụm
Ý tưởng chính của thuật toán K-Medoids như sau: Để tìm ra k cụm với n đối tượng thì K-medoids chọn ngẫu nhiên k đối tượng vào k cụm, coi mỗi đối tượng này là trọng tâm của cụm Phân bổ các đối tượng còn lại vào cụm mà sự khác nhau của nó với đối tượng trọng tâm của cụm là ít nhất (còn gọi là gần nhất) Sau đó lặp lại quá trình: thay đổi đối tượng trọng tâm của mỗi cụm sao cho chất lượng của cụm được cải thiện Chất lượng của cụm được lượng giá bởi một hàm
đo sự khác nhau giữa một đối tượng và đối tượng trọng tâm chứa nó Quá trình lặp cho đến khi không còn sự thay đổi nào về lực lượng cũng như hình dạng của các cụm
Để chọn một đối tượng không là đối tượng trọng tâm Orandom thay thế tốt cho một đối tượng trọng tâm Oi thì mỗi đối tượng p xét theo 4 trường hợp sau đây:
- p đang thuộc vào cụm có trọng tâm Oi Nếu Oj được thay thế bởi
Orandom và p gần nhất với Oi (i≠j) thì p được gán lại vào Oi
- p đang thuộc vào Oi Nếu Oi được thay thế bởi Orandom và p gần nhất với Orandom thì p được gán lại vào Orandom
- P đang thuộc vào Oj Nếu Oj được thay thế bởi Orandom và p vẫn gần nhất với Oj thì không thay đổi gì cả tức là p vẫn thuộc Oj
- P đang thuộc vào Oj (i≠j) Nếu Oj được thay thế bởi Orandom và p gần nhất với Orandom thì p được gán lại vào Orandom
Trang 5Thuật toán K-medoids có thể được mô tả cụ thể như sau:
đến đối tượng trọng tâm của cụm chứa nó là nhỏ nhất
Thuật toán:
B ước 1: Chọn k đối tượng bất kì vào k cụm Coi mỗi đối tượng này là tâm của nhóm
B ước 2: Lặp
B ước 3: Gán mỗi đối tượng còn lại vào một cụm mà nó gần với đối tượng tâm của cụm nhất
B ước 4: Chọn ngẫu nhiên một đối tượng không là đối tượng tâm, Orandom
B ước 5: Tính lại giá trị, S, đối với việc đổi Oj với Orandom
B ước 6: Nếu S<0 thì đổi Oj với Orandom để tạo ra một tập với đối tượngtâm mới
B ước 7: Đến khi không có sự thay đổi nào nữa thì dừng
Ví d ụ với k=2
Ví dụ minh hoạ thuật toán K-medoids
Giả sử ta có bảng dữ liệu như sau:
X1 2 6
X2 3 4
X3 3 8
X4 4 7
Trang 63
X5 6 2
X6 6 4
X7 7 3
X8 7 4
X9 8 5
X10 7 6
Ta chọn k=2 và chọn x2(3,4) và x8(7,4) là tâm của 2 cụm
Suy ra ta được 2 cụm: c1(3,4) và c2(7,4)
Bây giờ chúng ta tính toán khoảng cách của những điểm còn lại với 2 cụm bằng khoảng cách Manhattan (là khoảng cách Minkowski khi q=1)
Khoảng cách Minkowski:
Ta được bảng khoảng cách như sau:
Khoảng cách từ các điểm còn lại đến cụm 1
Điểm Toạ độ điểm trọng tâm c1 Toạ độ điểm không phải là trọng tâm Khoảng cách
Khoảng cách từ các điểm còn lại đến cụm 2
Điểm Toạ độ điểm trọng tâm c2 Toạ độ điểm không phải là trọng tâm Khoảng cách
So sánh 2 bảng dữ liệu ở trên ta thấy:
Trang 7Điểm 1,3,4 có khoảng cách gần cụm c1 hơn nên gom các điểm này vào chung cụm c1
Cụm c1 lúc này thành: c1={1,2,3,4} hoặc theo toạ độ
c1={(2,6),(3,4),(3,8),(4,7)}
Điểm 5,6,7,9,10 có khoảng cách gần cụm c2 hơn nên gọm các điểm này vào chung cụm c2
Cụm c2 lúc này thành: c2={5,6,7,8,9,10} hoặc theo toạ độ
c2={(6,2),(6,4),(7,3),(7,4),(8,5),(7,6)}
Bây giờ ta tính tổng giá trị (total cost)của các điểm có trung tâm là c1 và c2
Công thức tính giá trị giữa các điểm là:
Cost(x,c)=∑
=
−
d
i
c x
1
) (
Trong đó:
x: là tất cả các điểm không phải là trọng tâm
c: là các điểm trọng tâm
d:là số cụm (trong trường hợp này là 2)
> total cost={cost(c1,1) + cost(c1,3) + cost(c1,4)}
+ {cost(c2,5) + cost(c2,6) + cost(c2,7)
+ cost(c2,9)+cost(c2,10)}
= (3+4+4)+(3+1+1+2+2)
= 20
Với điểm trọng tâm c1=x2=(3,4) Ta xét các điểm không phải là trọng tâm
- Xét x7=(7,3)
Lúc này ta có 2 trọng tâm mới là c1=x2=(3,4) và c2=x7=(7,3)
Ta tính lại khoảng cách từ các điểm khác đến 2 trọng tâm:
Khoảng cách tới cụm c1:
Điểm Toạ độ điểm trọng tâm c1 Toạ độ điểm không phải là trọng tâm Khoảng cách
Khoảng cách tới cụm c2
Điểm Toạ độ điểm
trọng tâm c2
Toạ độ điểm không phải
là trọng tâm
Khoảng cách
Trang 85
Total cost1 = (3+4+4)+(2+2+1+3+3) = 22
Ta thấy total cost1-total cost=22-20=2>0
Không thay đổi vị trí của điểm x7
Tương tự ta xét tất cả các điểm x còn lại và tính khoảng cách nhỏ nhất so với total cost ban đầu
Kết quả cho ta là dữ liệu vẫn không thay đổi Chúng ta chỉ gom được 2 cụm như ban đầu
Cụm 1: c1={x1,x2,x3,x4}
Cụm 2: c2={x5,x6,x7,x8,x9,x10}
Điểm mạnh:
Xử lý được với dữ liệu nhiễu và mẫu cá biệt
Điểm yếu:
- Tốn chi phí, độ phức tạp O(ik(n-k)2)
- Kém hiệu quả
- Chọn được số cụm k trước
- Kết quả và thời gian chạy phụ thuộc vào phân hoạch ban đầu
Trang 9II So sánh giải thuật K-means và K-medoids
1 Giải thuật gom cụm K-means
K-means là một trong những phương pháp học không giám sát trong số những phương pháp gom cụm Nó phân lớp một tập dữ liệu thành k cụm Mỗi cụm sẽ
có một trọng tâm Mỗi đối tượng dữ liệu sẽ được đưa vào mỗi cụm gần trọng tâm nhất Tiến trình sẽ lặp lại cho đến khi
Giải thuật
- Chọn ngẫu nhiên k điểm làm trọng tâm ban đầu của k cụm
- Gán (hoặc gán lại) từng điểm vào cụm có trọng tâm gần điểm đang xét nhất
Nếu không có phép gán lại nào thì dừng Vì không có phép gán lại nào có nghĩa là các cụm đã ổn định và thuật toán không thể cải thiện làm giảm độ phân biệt hơn được nữa
- Tính lại trọng tâm cho từng cụm
- Quay lại bước 2
Minh hoạ thuật toán với k=2
Điểm mạnh
- Hiệu quả với dữ liệu lớn và rộng, độ phức tạp O(ikn), trong đó i là số lần lặp, k
là số cụm, n là tổng dữ liệu (k<<n và i<<n)
- Dễ dàng hiểu và cài đặt
Điểm yếu:
- Chỉ thực thi được khi chọn được số lượng cụm
- Cụ thể số cum k
- Khó phát hiện các loại cụm có hình dạng phức tạp và nhất là các dạng cụm không lồi
- Không thể làm được với dữ liệu nhiễu và mẫu cá biệt
- Chỉ có thể áp dụng khi tính được trọng tâm
Trang 107
2 So sánh giải thuật K-means và K-medoids
Bảng so sánh giải thuật K-medoids và K-means
Độ phức tạp O(ikn) O(ik(n-k)2)
Tính hiệu quả Nhiều hơn Thấp hơn
Tính thực thi Dễ dàng cài đặt Phức tạp
Tính nhạy cảm của dữ
liệu
Cụm có hình dạng lồi Có Không nhiều
Tính tối ưu Tách được cụm Tách được cụm
Tập dữ liệu nhỏ
Giải thuật K-means dùng giá trị trung bình của các điểm trong cụm làm trọng tâm, còn ở k-medoids thì dùng chính điểm làm trọng tâm
Trang 11TÀI LIỆU THAM KHẢO
1 Đỗ Phúc, Giáo trình Khai thác dữ liệu, NXB Đại học Quốc gia Thành phố
Hồ Chí Minh 2006
2 The IEEE International Confrence on Data Mining (ICDM), 2001
3 Ng, R and J Han (1994) Efficient and Effective Clustering Methods for Spatial Data Mining
Proceedings of the 20th International Conference on Very Large Databases, Santiago, Chile