Tải bản đầy đủ (.doc) (30 trang)

GOM CỤM DỮ LIỆU BẰNG THUẬT TOÁN K-MEANS & ỨNG DỤNG GOM CỤM ẢNH

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (590.37 KB, 30 trang )

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
Bài thu hoạch môn học
KHAI PHÁ DỮ LIỆU & KHO DỮ LIỆU
Đề tài
GOM CỤM DỮ LIỆU BẰNG
THUẬT TOÁN K-MEANS
& ỨNG DỤNG GOM CỤM ẢNH
GIÁO VIÊN HƯỚNG DẪN: PGS.TS. ĐỖ PHÚC
HỌC VIÊN THỰC HIỆN: NGUYỄN VĂN KHOA
LỚP: CAO HỌC CNTTQM KHÓA 6.
MÃ SỐ HỌC VIÊN: CH1101016.
TPHCM tháng 11/2012
BÀI THU HOẠCH MÔN HỌC: KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU
LỜI NÓI ĐẦU
Kỹ thuật khai phá dữ liệu đã và đang được nghiên cứu, ứng dụng trong nhiều
lĩnh vực khác nhau ở các nước trên thế giới, tại Việt Nam kỹ thuật này tương đối
còn mới mẻ tuy nhiên cũng đang được nghiên cứu và dần đưa vào ứng dụng.
Việc khai phá dữ liệu sẽ giúp người sử dụng thu được những tri thức hữu ích từ
những CSDL hoặc các nguồn dữ liệu khổng lồ khác.lồ khác. Nhưng để làm được
điều đó, sự phát triển của các mô hình toán học và các giải thuật hiệu quả là chìa
khoá quan trọng. Trong đó, kỹ thuật thường dùng để khai phá dữ liệu chính là
Gom cụm và giải thuật sử dụng để gom cụm chính là K-Means.
Trong khuôn khổ bài thu hoạch nhỏ này, tôi xin trình về những kiến thức về
Gom cụm (gom cụm) nói chung, sau đó tôi sẽ triển khai chi tiết về một thuật toán
thường dùng trong gom cụm, đó là thuật toán K-Means. Cuối cùng, tôi xin trình
bày về một ứng dụng nhỏ, sử dụng thuật toán K-Means để gom cụm màu sắc cho
hình ảnh.
Qua đây, tôi xin được gửi lời cảm ơn đến PGS – TS Đỗ Phúc, người đã tận
tâm truyền đạt những kiến thức nền tảng cơ bản về môn học “Khai phá dữ liệu và
kho dữ liệu”, định hướng cho tôi biết về nhiều hướng đi mới, cơ sở nghiên cứu


mới mẻ trong kỹ thuật khai phá dữ liệu, giúp tôi có cơ sở kiến thức để có thể viết
được bài thu hoạch này.
Do kiến thức còn hạn hẹp, bài thu hoạch có thể có những sai sót nhất định,
mong thầy và các bạn góp ý để bài thu hoạch ngày càng hoàn thiện hơn.
Tôi xin tỏ lòng biết ơn sâu xa!
Học viên thực hiện đề tài
Nguyễn Văn Khoa
HỌC VIÊN THỰC HIỆN: NGUYỄN VĂN KHOA – MSHV: CH1101016 Page 2
BÀI THU HOẠCH MÔN HỌC: KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU
MỤC LỤC
LỜI NÓI ĐẦU 2
MỤC LỤC 3
1. GOM CỤM TRONG KHAI PHÁ DỮ LIỆU 4
Gom cụm là gì 4
Ứng dụng của gom cụm 5
Các kiểu dữ liệu trong gom cụm 6
Một số phương pháp gom cụm điển hình 10
2. THUẬT TOÁN K-MEANS 14
Mô tả thuật toán 15
Ví dụ minh họa thuật toán 15
Đánh giá thuật toán K - Means 20
Các biến thể của K-Means 21
Ứng dụng của K - Means 24
3. ỨNG DỤNG GOM CỤM ẢNH BẰNG K- MEANS 25
Giới thiệu về phân đoạn ảnh bằng gom cụm 25
Cài đặt thử nghiệm 27
4. KẾT LUẬN 29
HỌC VIÊN THỰC HIỆN: NGUYỄN VĂN KHOA – MSHV: CH1101016 Page 3
BÀI THU HOẠCH MÔN HỌC: KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU
5. TÀI LIỆU THAM KHẢO 30

1. GOM CỤM TRONG KHAI PHÁ DỮ LIỆU
Gom cụm là gì
Gom cụm dữ liệu (Data Clustering) hay gom cụm, cũng có thể gọi là phân tích
cụm, phân tích phân đoạn, phân tích phân loại, là quá trình nhóm một tập các đối
tượng thực thể hay trừu tượng thành lớp các đối tượng tương tự. Một cụm là một
tập hợp các đối tượng dữ liệu mà các phần tử của nó tương tự nhau cùng trong
một cụm và phi tương tự với các đối tượng trong các cụm khác. Một cụm các đối
tượng dữ liệu có thể xem như là một nhóm trong nhiều ứng dụng.
Gom cụm là kỹ thuật rất quan trọng trong khai phá dữ liệu, nó thuộc lớp các
phương pháp Unsupervised Learning (học không giám sát) trong Machine
Learning (học máy). Có rất nhiều định nghĩa khác nhau về kỹ thuật này, nhưng
về bản chất ta có thể hiểu gom cụm là các qui trình tìm cách nhóm các đối tượng
đã cho vào các cụm (clusters), sao cho các đối tượng trong cùng 1 cụm tương tự
(similar) nhau và các đối tượng khác cụm thì không tương tự (Dissimilar) nhau.
Mục đích của gom cụm là tìm ra bản chất bên trong các nhóm của dữ liệu. Các
thuật toán gom cụm (Clustering Algorithms) đều sinh ra các cụm (clusters). Tuy
nhiên, không có tiêu chí nào là được xem là tốt nhất để đánh hiệu của của phân
tích gom cụm, điều này phụ thuộc vào mục đích của gom cụm như: data
reduction, “natural clusters”, “useful” clusters, outlier detection.
Tóm lại, gom cụm là quá trình phân chia 1 tập dữ liệu ban đầu thành các cụm
dữ liệu thỏa mãn:
• Các đối tượng trong 1 cụm “tương tự” nhau.
• Các đối tượng khác cụm thì “không tương tự” nhau.
Mục đích của gom cụm là:
• Xác định được bản chất của việc nhóm các đối tượng trong 1 tập dữ liệu không
có nhãn.
HỌC VIÊN THỰC HIỆN: NGUYỄN VĂN KHOA – MSHV: CH1101016 Page 4
BÀI THU HOẠCH MÔN HỌC: KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU
• Gom cụm không dựa trên 1 tiêu chuẩn chung nào, mà dựa vào tiêu chí mà người
dùng cung cấp trong từng trường hợp.

Hình 1. Mô tả trừu tượng về gom cụm dữ liệu
Ứng dụng của gom cụm
Gom cụm là một trong những phân tích được sử dụng thường xuyên nhất
trong biểu diễn dữ liệu gene. Dữ liệu biểu diễn gene là một tâp hợp các phép đo
được lấy từ DNA microarray (còn gọi là DNA chip hay gene chip) là một tấm
thủy tinh hoặc nhựa trên đó có gắn các đoạn DNA thành các hàng siêu nhỏ. Các
nhà nghiên cứu sử dụng các con chip như vậy để sàng lọc các mẫu sinh học
nhằm kiểm tra sự có mặt hàng loạt trình tự cùng một lúc.
Gom cụm dữ liệu còn được áp dụng trong nhiều lĩnh vực sức khỏe tâm lý, bao
gồm cả việc thúc đẩy và duy trì sức khỏe, cải thiện cho hệ thống chăm sóc sức
khỏe, và công tác phòng chống bệnh tật và người khuyết tật Trong sự phát triển
hệ thống chăm sóc sức khỏe, gom cụm dữ liệu được sử dụng để xác định các
nhóm của người dân mà có thể được hưởng lợi từ các dịch vụ cụ thể. Trong thúc
đẩy y tế, nhóm phân tích được sử dụng để lựa chọn nhắm mục tiêu vào nhóm sẽ
có khả năng đem lại lợi ích cho sức khỏe cụ thể từ các chiến dịch quảng bá và tạo
điều kiện thuận lợi cho sự phát triển của quảng cáo.
Trong nghiên cứu thị trường, gom cụm dữ liệu được sử dụng để phân đoạn thị
trường và xác định mục tiêu thị trường. Trong phân đoạn thị trường, gom cụm dữ
liệu thường được dùng để phân chia thị trường thành nhưng cụm mang ý nghĩa,
HỌC VIÊN THỰC HIỆN: NGUYỄN VĂN KHOA – MSHV: CH1101016 Page 5
BÀI THU HOẠCH MÔN HỌC: KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU
chẳng han như chia ra đối tượng nam giới từ 21-30 tuổi và nam giới ngoài 51
tuổi, đối tượng nam giới ngoài 51 tuổi thường không có khuynh hướng mua các
sản phẩm mới…vv…
Gom cụm là kỹ thuật chính trong phân đoạn ảnh. Phân đoạn ảnh là việc phân
tích mức xám hay mầu của ảnh thành các lát đồng nhất. Trong phân đoạn ảnh,
gom cụm dữ liệu thường được sử dụng để phát hiện biên của đối tượng trong
ảnh.
Kỹ thuật gom cụm còn có thể áp dụng trong rất nhiều lĩnh vực khác như:
• Marketing: Xác định các nhóm khách hàng (khách hàng tiềm năng, khách hàng

giá trị, phân loại và dự đoán hành vi khách hàng,…) sử dụng sản phẩm hay dịch
vụ của công ty để giúp công ty có chiến lược kinh doanh hiệu quả hơn;
• Biology: Phận nhóm động vật và thực vật dựa vào các thuộc tính của chúng;
• Libraries: Theo dõi độc giả, sách, dự đoán nhu cầu của độc giả…;
• Insurance, Finance: Phân nhóm các đối tượng sử dụng bảo hiểm và các dịch vụ
tài chính, dự đoán xu hướng (trend) của khách hàng, phát hiện gian lận tài chính
(identifying frauds);
• Web: Phân loại tài liệu (document classification); phân loại người dùng web
(clustering weblog);…
Các kiểu dữ liệu trong gom cụm
Trong phần này, ta nghiên cứu các kiểu dữ liệu thường xuất hiện trong các
phép phân cụm và tiền xử lý chúng như thế nào cho phép phân tích này. Giả sử
rằng một tập dữ liệu được phân cụm chứa n đối tượng, nó có thể đại diện cho
người, nhà, văn bản, đất nước, v.v Các giải thuật phân cụm dựa trên bộ nhớ
chính thao tác trên một trong hai cấu trúc dữ liệu sau:
• Ma trận dữ liệu (hay cấu trúc: đối tượng x biến): Được đại diện bởi n đối tượng,
ví dụ như người với p biến (còn được gọi là các phép đo hay các thuộc tính) như
tuổi, chiều cao, giới tính, v.v
• Ma trận không tương đồng (hay cấu trúc đối tượng x đối tượng): Nó lưu trữ một
tập hợp các trạng thái (về mặt không gian, thời gian, ) cho tất cả n cặp đối
HỌC VIÊN THỰC HIỆN: NGUYỄN VĂN KHOA – MSHV: CH1101016 Page 6
BÀI THU HOẠCH MÔN HỌC: KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU
tượng. Ma trận dữ liệu thường được gọi là ma trận 2-mode (2 chế độ), trong khi
đó ma trận không tương đồng được gọi là ma trận 1-mode (1 chế độ). Nhiều giải
thuật phân cụm thao tác trên ma trận không tương đồng. Nếu dữ liệu được đưa ra
dưới dạng ma trận dữ liệu thì nó có thể được chuyển đổi sang ma trận không
tương đồng trước khi áp dụng các giải thuật phân cụm.
Các biến tỷ lệ khoảng cách
Phần này thảo luận các biến tỷ lệ khoảng cách và chuẩn hoá chúng. Sau đó mô
tả các phép đo khoảng cách phổ biến được dùng trong tính toán độ không tương

đồng của các đối tượng được mô tả bởi các biến tỷ lệ khoảng cách. Các phép đo
này bao gồm các khoảng cách Euclidean, Mahattan và Minkowski.
Các biến tỷ lệ khoảng cách là các phép đo liên tục của một tỷ lệ tuyến tính thô.
Các mẫu điển hình như trọng lượng và chiều cao, sự kết hợp vĩ độ và kinh độ (ví
dụ khi phân cụm nhà) và nhiệt độ khí hậu.
Đơn vị phép đo đã dùng có thể ảnh hưởng đến phép phân cụm. Ví dụ, thay đổi
các đơn vị đo, như thay đổi từ meter tới inche cho chiều cao hay từ kilogram tới
pound cho trọng lượng, có thể dẫn tới một cấu trúc phân cụm rất khác biệt. Nhìn
chung, biểu diễn một biến dưới các đơn vị nhỏ hơn sẽ dẫn tới một phạm vi lớn
hơn cho biến đó và do vậy một hiệu ứng lớn hơn trên kết quả cấu trúc phân cụm.
Để tránh sự phụ thuộc vào việc lựa chọn đơn vị đo, dữ liệu nên được chuẩn hoá.
Chuẩn hoá các phép đo cố gắng mang lại cho tất cả các biến một trọng số như
nhau. Tuy nhiên, trong nhiều ứng dụng, người ta có thể cố ý muốn mang tới
trọng số lớn hơn cho một tập các biến nào đó so với các biến khác. Ví dụ, khi
phân cụm các cầu thủ chơi bóng rổ, người ta có thể thích mang tới trọng số hơn
cho biến chiều cao.
Các biến nhị phân
Phần này mô tả làm thế nào để tính toán độ không tương đồng giữa các đối
tượng được mô tả bởi các biến nhị phân đối xứng hoặc không đối xứng.
Một biến nhị phân chỉ có hai trạng thái 0 hay 1, với 0 là biến vắng mặt, 1 là
biến có mặt. Cho trước biến hút thuốc mô tả một bệnh nhân, ví dụ, 1 chỉ rằng
HỌC VIÊN THỰC HIỆN: NGUYỄN VĂN KHOA – MSHV: CH1101016 Page 7
BÀI THU HOẠCH MÔN HỌC: KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU
bệnh nhân hút thuốc, 0 cho biết bệnh nhân không hút thuốc. Xử lý các biến nhị
phân giống như các biến tỷ lệ khoảng cách có thể dẫn tới lạc lối các kết quả phân
cụm. Bởi vậy, các phương pháp chỉ định cho dữ liệu nhị phân cần phải tính toán
độ không tương đồng.
Một biến nhị phân là đối xứng nếu như cả hai trạng thái của nó có cùng trị giá
và mang cùng trọng số, do vậy không có sự ưu tiên nên kết quả mã hoá là 0 hay
1. Ví dụ, giới tính có thể là nam hay nữ. Độ tương đồng dựa trên các biến nhị

phân đối xứng được gọi là độ tương đồng bất biến trong đó kết quả không thay
đổi khi một số hay tất cả các biến nhị phân được mã hoá khác nhau.
Các biến định danh, thứ tự và tỷ lệ
Phần này thảo luận làm thế nào để tính độ không tương đồng giữa các đối
tượng được mô tả bởi các biến tên, có thứ tự và dựa trên tỷ lệ.
Các biến định danh:
Biến tên là sự suy rộng của biến nhị phân, trong đó nó có thể mang nhiều hơn
hai trạng thái. Ví dụ, bản đồ màu là một biến tên có thể có 5 trạng thái: đỏ, vàng,
xanh lá cây, hồng và xanh da trời.
Cho số các trạng thái của một biến tên là M. Các trạng thái có thể được chỉ ra
bởi các ký tự, các biểu tượng hay một tập các số nguyên như 1,2, ,M. Lưu ý
rằng các số nguyên như thế này chỉ được dùng cho dữ liệu điều khiển và không
đại diện cho bất kỳ một trật tự cụ thể nào.
Các biến tên có thể được mã hoá bởi một số lượng lớn các biến nhị phân
không đối xứng bằng cách tạo một biến nhị phân mới cho mỗi trạng thái tên. Đối
với một đối tượng với giá trị trạng thái cho trước, biến nhị phân miêu tả trạng
thái đó đặt là 1, trong khi các biến nhị phân còn lại đặt là 0.
Các biến có thứ tự:
Biến có thứ tự rời rạc tương tự như một biến tên, loại trừ M trạng thái của giá
trị có thứ tự được sắp xếp theo một trật tự có nghĩa. Các biến có thứ tự rất hữu
ích cho việc thể hiện các đánh giá chất lượng một cách chủ quan mà không thể
đo được bằng cách khách quan. Một biến có thứ tự liên tục trông giống như một
HỌC VIÊN THỰC HIỆN: NGUYỄN VĂN KHOA – MSHV: CH1101016 Page 8
BÀI THU HOẠCH MÔN HỌC: KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU
tập dữ liệu liên tục với một tỷ lệ chưa biết, đó là mối quan hệ có thứ tự của các
giá trị, là yếu tố cần thiết nhưng không phải là tính chất trọng yếu thực sự của
chúng. Ví dụ, sắp xếp quan hệ trong một môn thể thao đặc thù thường cần thiết
hơn các giá trị thực tế của một độ đo đặc thù. Các biến có thứ tự có thể cũng đạt
được từ việc rời rạc hoá các con số tỷ lệ khoảng cách bằng cách chia phạm vi giá
trị vào trong một số các lớp hữu hạn. Các giá trị của một biến có thứ tự có thể

được ánh xạ tới các hạng (rank). Giả sử rằng một biến có thứ tự f có Mf trạng
thái. Các trạng thái được sắp xếp định nghĩa có thứ tự là 1, ,Mf.
Nghiên cứu các biến tên hoàn toàn giống với nghiên cứu các biến tỷ lệ khoảng
cách khi tính toán độ không tương đồng giữa các đối tượng. Giả sử f là một biến
trong tập các biến có thứ tự mô tả n đối tượng.
Các biến dựa trên tỷ lệ:
Một biến dựa trên tỷ lệ làm một phép đo dương trên một tỷ lệ không tuyến
tính, như tỷ lệ số mũ.
Các biến có kiểu hỗn hợp
Mục trước, ta đã đưa ra cách tính độ không tương đồng giữa các đối tượng
được mô tả bởi các biến cùng kiểu, tại đó, các kiểu này có thể là tỷ lệ khoảng
cách, nhị phân đối xứng, nhị phân không đối xứng, tên, có thứ tự hay dựa trên tỷ
lệ. Tuy nhiên, trong nhiều cơ sở dữ liệu thực, các đối tượng được mô tả bởi một
sự pha trộn các kiểu biến. Nhìn chung, một cơ sở dữ liệu có thể chứa tất cả 6 kiểu
biến trong danh sách trên. Ta cần một phương pháp để tính độ không tương đồng
giữa các đối tượng của các kiểu biến hỗn hợp.
Một tiếp cận là nhóm mỗi loại biến với nhau, thực hiện một phép phân tích
cụm riêng biệt cho mỗi kiểu biến. Điều này là khả thi nếu như các phép phân tích
này nhận được các kết quả thích hợp. Tuy nhiên, trong các ứng dụng thực,
thường không thể xảy ra một phép phân tích cụm tách biệt cho mỗi kiểu biến sẽ
sinh ra các kết quả thích hợp.
HỌC VIÊN THỰC HIỆN: NGUYỄN VĂN KHOA – MSHV: CH1101016 Page 9
BÀI THU HOẠCH MÔN HỌC: KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU
Các kiểu dữ liệu phức tạp
Tất cả các đối tượng được xem xét trong khai phá dữ liệu là không quan hệ thì
là dữ liệu phức tạp. Ví dụ về loại dữ liệu này là dữ liệu không gian, dữ liệu di
truyền, dữ liệu van bản, dữ liệu chuỗi thời gian hay dữ liệu thu gom từ internet.
Chú ý rằng các độ đo tương tự và bất tương tự thường hoàn toàn khác nhau
với các loại dữ liệu này.
Một số phương pháp gom cụm điển hình

Gom cụm dự trên phân hoạch
Cho trước một cơ sở dữ liệu với n đối tượng hay các bộ dữ liệu, một phương
pháp phân chia được xây dựng để chia dữ liệu thành k phần, mỗi phần đại diện
cho một cụm, k ≤ n. Đó là phân loại dữ liệu vào trong k nhóm, chúng thoả các
yêu cầu sau:
• Mỗi nhóm phải chứa ít nhất một đối tượng
• Mỗi đối tượng phải thuộc về chính xác một nhóm.
Cho trước k là số lượng các phần chia cần xây dựng, phương pháp phân chia
tạo lập phép phân chia ban đầu. Sau đó nó dùng kỹ thuật lặp lại việc định vị, kỹ
thuật này cố gắng cải thiện sự phân chia bằng cách gỡ bỏ các đối tượng từ nhóm
này sang nhóm khác. Tiêu chuẩn chung của một phân chia tốt là các đối tượng
trong cùng cụm là "gần" hay có quan hệ với nhau, ngược lại, các đối tượng của
các cụm khác nhau lại "tách xa" hay rất khác nhau.Có nhiều tiêu chuẩn khác
nhau để đánh giá chất lượng các phép phân chia.
Trong gom cụm dựa trên phép phân chia, hầu hết các ứng dụng làm theo một
trong hai phương pháp heuristic phổ biến:
• Giải thuật k-means với mỗi cụm được đại diện bởi giá trị trung bình của các đối
tượng trong cụm;
• Giải thuật k-medoids với mỗi cụm được đại diện bởi một trong số các đối tượng
định vị gần tâm của cụm.
Các phương pháp gom cụm heuristic này làm việc tốt khi tìm kiếm các cụm có
hình cầu trong các cơ sở dữ liệu có kích thước từ nhỏ tới trung bình. Để tìm ra
HỌC VIÊN THỰC HIỆN: NGUYỄN VĂN KHOA – MSHV: CH1101016 Page 10
BÀI THU HOẠCH MÔN HỌC: KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU
các cụm với các hình dạng phức tạp và gom cụm cho các tập dữ liệu rất lớn, các
phương pháp dựa trên phân chia cần được mở rộng.
.Tóm lại, phân theo phân hoạch (phân chia) là phân 1 tập dữ liệu có n phần tử
cho trước thành k tập con dữ liệu (k ≤ n), mỗi tập con biểu diễn 1 cụm.
Các cụm hình thành trên cơ sở làm tối ưu giá trị hàm đo độ tương tự sao cho:
• Các đối tượng trong 1 cụm là tương tự.

• Các đối tượng trong các cụm khác nhau là không tương tự nhau.
Đặc điểm:
• Mỗi đối tượng chỉ thuộc về 1 cụm.
• Mỗi cụm có tối thiểu 1 đối tượng.
Một số thuật toán điển hình trong phương pháp này là: K-mean, PAM,
CLARA,…
Gom cụm phân cấp
Một phương pháp phân cấp tạo một phân tích phân cấp tập các đối tượng dữ
liệu đã cho. Một phương pháp phân cấp có thể được phân loại như tích đống hay
phân chia, dựa trên việc phân ly phân cấp được hình thành như thế nào. Tiếp cận
tích đống còn được gọi là tiếp cận "bottom - up", lúc đầu mỗi đối tượng lập thành
một nhóm riêng biệt. Nó hoà nhập lần lượt các đối tượng hay các nhóm gần nhau
với nhau cho tới khi tất cả các nhóm được hoà nhập thành một (mức cao nhất của
hệ thống phân cấp), hay cho tới khi một gặp một điều kiện kết thúc.
Tiếp cận phân ly còn được gọi là tiếp cận "top - down", lúc đầu tất cả các đối
tượng trong cùng một cụm. Trong mỗi lần lặp kế tiếp, một cụm được chia vào
trong các cụm nhỏ hơn cho tới khi cuối cùng mỗi đối tượng trong một cụm hay
cho tới khi gặp một điều kiện kết thúc.
Sự kết hợp của việc lặp lại việc định vị và phân ly phân cấp sẽ thuận lợi bởi
trước tiên sử dụng giải thuật phân ly phân cấp và sau đó cải tiến kết quả sử dụng
định vị lặp.
Các thuật toán điển hình của phương pháp này là BRICH, CURE, ANGNES,
DIANA, ROCK, Chameleon.
HỌC VIÊN THỰC HIỆN: NGUYỄN VĂN KHOA – MSHV: CH1101016 Page 11
BÀI THU HOẠCH MÔN HỌC: KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU
Gom cụm dựa trên mật độ
Hầu hết các phương pháp phân chia cụm các đối tượng dựa trên khoảng cách
giữa các đối tượng. Các phương pháp như vậy có thể chỉ tìm được các cụm có
hình cầu và sẽ gặp khó khăn khi các cụm đang khám phá lại có hình dạng tuỳ ý.
Các phương pháp gom cụm được phát triển dựa trên khái niệm mật độ. Ý tưởng

chung đó là tiếp tục phát triển cụm cho trước với điều kiện là mật độ (số các đối
tượng hay các điểm dữ liệu) trong "lân cận" vượt quá ngưỡng, tức là đối với mỗi
điểm dữ liệu trong phạm vi một cụm cho trước thì lân cận trong vòng bán kính đã
cho chứa ít nhất một số lượng điểm tối thiểu.Một phương pháp như vậy có thể
được dùng để lọc ra nhiễu (các outlier) và khám phá ra các cụm có hình dạng bất
kỳ.
DBSCAN là một phương pháp dựa trên mật độ điển hình, nó tăng trưởng các
cụm theo một ngưỡng mật độ. OPTICS là một phương pháp dựa trên mật độ, nó
tính toán một thứ tự gom cụm tăng dần cho phép phân tích cụm tự động và tương
tác.
Gom cụm dựa trên lưới
Một phương pháp dựa trên lưới lượng tử hoá không gian đối tượng vào trong
một số hữu hạn các ô hình thành nên một cấu trúc lưới. Sau đó nó thực hiện tất
cả các thao tác gom cụm trên cấu trúc lưới (tức là trên không gian đã lượng tử
hoá). Thuận lợi chính của tiếp cận này là thời gian xử lý nhanh chóng của nó độc
lập với số các đối tượng dữ liệu và chỉ tuỳ thuộc vào số lượng các ô trong mỗi
chiều của không gian lượng tử.
STING là một ví dụ điển hình của phương pháp dựa trên lưới. WaveCluster và
CLIQUE là hai giải thuật gom cụm dựa trên cả lưới và mật độ.
Gom cụm dựa trên mô hình
Gom cụm dựa trên mô hình là tối ưu hóa sự phù hợp giữa dữ liệu và mô hình
toán nào đó.
Giả định về quá trình tạo dữ liệu: Dữ liệu được tạo ra với nhiều sự phân bố
xác suất khác nhau.
HỌC VIÊN THỰC HIỆN: NGUYỄN VĂN KHOA – MSHV: CH1101016 Page 12
BÀI THU HOẠCH MÔN HỌC: KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU
Các phương pháp gom cụm này bao gồm:
• Tiếp cận thống kê: Mở rộng của giải thuật gom cụm dựa trên phân hoạch k-
means: Expectation-Maximization (EM). Giải thuật tinh chỉnh lặp để gán các đối
tượng vào các cụm (bước kỳ vọng) và ước lượng trị thông số (bước cực đại hoá).

• Tiếp cận học máy: gom cụm ý niệm (conceptual clustering). Tạo ra cách phân
lớp các đối tượng chưa được gán nhãn dựa vào các mô tả đặc trưng cho mỗi
nhóm đối tượng ứng với mỗi khái niệm (concept).
• Tiếp cận mạng neural: Self-Organizing Feature Map (SOM). Biểu diễn mỗi cụm
là một ví dụ tiêu biểu (exemplar). Exemplar đóng vai trò của một prototype của
cụm. Các đối tượng mới được phân bố vào một cụm nếu tương tự với exemplar
của cụm đó nhất dựa trên độ đo khoảng cách.
HỌC VIÊN THỰC HIỆN: NGUYỄN VĂN KHOA – MSHV: CH1101016 Page 13
BÀI THU HOẠCH MÔN HỌC: KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU
2. THUẬT TOÁN K-MEANS
Đây là thuật toán nổi tiếng và được sử dụng nhiều nhất trong hướng tiếp cận
phân nhóm phân hoạch. Thuật toán này có nhiều biến thể khác nhau nhưng được
đưa ra đầu tiên bởi J.B MacQueen vào năm 1967. Đầu vào của thuật toán này là
một tập gồm n mẫu và một số nguyên K. Cần phân n đối tượng này thành K
cluster sao cho sự giống nhau giữa các mẫu trong cùng cluster là cao hơn là giữa
các đối tượng khác cluster.
K-Means là thuật toán rất quan trọng và được sử dụng phổ biến trong kỹ thuật
gom cụm dự trên phân hoạch hay gọi là gom cụm dựa vào cụm trung tâm. Tư
tưởng chính của thuật toán K-Means là tìm cách phân nhóm các đối tượng
(objects) đã cho vào K cụm (K là số các cụm được xác đinh trước, K nguyên
dương) sao cho tổng bình phương khoảng cách giữa các đối tượng đến tâm nhóm
(centroid ) là nhỏ nhất.
Tư tưởng của thuật toán này như sau: Đầu tiên chọn ngẫu nhiên K mẫu, mỗi
mẫu này coi như biểu diễn 1 cluster, như vậy lúc này trong mỗi cluster thì đối
mẫu đó cũng là tâm của cluster (hay còn gọi là nhân). Các mẫu còn lại được gán
vào một nhóm nào đó trong K nhóm đã có sao cho tổng khoảng cách từ nhóm
mẫu đó đến tâm của nhóm là nhỏ nhất. Sau đó tính lại tâm cho các nhóm và lặp
lại quá trình đó cho đến khi hàm tiêu chuẩn hội tụ. Hàm tiêu chuẩn hay được
dùng nhất là hàm tiêu chuẩn sai-số vuông.
Hình 2. Ví dụ minh họa thuật toán K-means

HỌC VIÊN THỰC HIỆN: NGUYỄN VĂN KHOA – MSHV: CH1101016 Page 14
BÀI THU HOẠCH MÔN HỌC: KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU
Mô tả thuật toán
Thuật toán K-Means được mô tả như hình sau:
Hình 3. Mô tả thuật toán K - Means
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 (thường dùng
khoảng cách 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
Ví dụ minh họa thuật toán
Giả sử ta có 4 loại thuốc A,B,C, D, mỗi loại thuộc đượ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.
HỌC VIÊN THỰC HIỆN: NGUYỄN VĂN KHOA – MSHV: CH1101016 Page 15
BÀI THU HOẠCH MÔN HỌC: KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU
Hình 4. Các đối tượng A, B, C, D và thuộc tính X, Y
Ta chạy giải thuật như sau:
Bước 1. Khởi tạo tâm (centroid) cho 2 nhóm. Giả sử ta chọn A là tâm của
nhóm thứ nhất (tọa độ tâm nhóm thứ nhất c1(1,1)) và B là tâm của nhóm thứ 2
(tạo độ tâm nhóm thứ hai c2 (2,1)).
Hình 5. Tâm nhóm khi chạy bước 1
HỌC VIÊN THỰC HIỆN: NGUYỄN VĂN KHOA – MSHV: CH1101016 Page 16
BÀI THU HOẠCH MÔN HỌC: KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU
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)

Mỗi cột trong ma trận khoảng cách (D) là một đối tượng (cột thứ nhất tương
ứng với đối tượng A, cột thứ 2 tương ứng với đối tượng B,…). Hàng thứ nhất
trong ma trận khoảng cách biểu diễn khoảng cách giữa các đối tượng đến tâm của
nhóm thứ nhất (c1) và hàng thứ 2 trong ma trận khoảng cách biểu diễn khoảng
cách của các đối tượng đến tâm của nhóm thứ 2 (c2).
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:
Bước 3. Nhóm các đối tượng vào nhóm gần nhất
Ta thấy rằng nhóm 1 sau vòng lặp thứ nhất gồm có 1 đối tượng A và nhóm 2
gồm các đối tượng còn lại B,C,D.
Bước 4. Tính lại tọa độ các tâm cho các nhóm mới dựa vào tọa độ của các đối
tượng trong nhóm. Nhóm 1 chỉ có 1 đối tượng A nên tâm nhóm 1 vẫn không đổi,
c1(1,1). Tâm nhóm 2 được tính như sau:
HỌC VIÊN THỰC HIỆN: NGUYỄN VĂN KHOA – MSHV: CH1101016 Page 17
BÀI THU HOẠCH MÔN HỌC: KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU
Hình 6. Tâm nhóm 2 được tính lại
Bước 5. Tính lại khoảng cách từ các đối tượng đến tâm mới
Bước 6. Nhóm các đối tượng vào nhóm
Bước 7. Tính lại tâm cho nhóm mới
HỌC VIÊN THỰC HIỆN: NGUYỄN VĂN KHOA – MSHV: CH1101016 Page 18
BÀI THU HOẠCH MÔN HỌC: KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU
Hình 7. Hai nhóm đã khá tách biệt sau khi chạy bước 7
Bước 8. Tính lại khoảng cách từ các đối tượng đến tâm mới
Bước 9. Nhóm các đối tượng vào nhóm
Ta thấy G
2
= G
1
(Không có sự thay đổi nhóm nào của các đối tượng) nên thuật
toán dừng và kết quả phân nhóm như sau:

Hình 8. Kết quả phân nhóm
HỌC VIÊN THỰC HIỆN: NGUYỄN VĂN KHOA – MSHV: CH1101016 Page 19
BÀI THU HOẠCH MÔN HỌC: KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU
Đánh giá thuật toán K - Means
Độ phức tạp
Dễ thấy độ phức tạp cuả thuật toán này là O(tKn). Trong đó n là số mẫu trong
CSDL, K là số cluster, t là số lần lặp. Thông thường t,k << n. Nên thuật tóan này
có hiệu quả tương đối với các CSDL lớn.
Ưu điểm
• Thuật toán K-Means có ưu điểm là đơn giản, dễ hiểu và cài đặt.
• Có khả năng mở rộng, có thể dễ dàng sửa đổi với những dữ liệu mới.
• Bảo đảm hội tụ sau 1 số bước lặp hữu hạn.
• Luôn có K cụm dữ liệu
• Luôn có ít nhất 1 điểm dữ liệu trong 1 cụm dữ liệu.
• Các cụm không phân cấp và không bị chồng chéo dữ liệu lên nhau.
• Mọi thành viên của 1 cụm là gần với chính cụm đó hơn bất cứ 1 cụm nào khác.
Nhược điểm
• Không có khả năng tìm ra các cụm không lồi hoặc các cụm có hình dạng phức
tạp.
• Khó khăn trong việc xác định các trọng tâm cụm ban đầu
o Chọn ngẫu nhiên các trung tâm cụm lúc khởi tạo
o Độ hội tụ của thuật toán phụ thuộc vào việc khởi tạo các vector trung tâm cụm
• Khó để chọn ra được số lượng cụm tối ưu ngay từ đầu, mà phải qua nhiều lần thử
để tìm ra được số lượng cụm tối ưu.
• Rất nhạy cảm với nhiễu và các phần tử ngoại lai trong dữ liệu.
• Không phải lúc nào mỗi đối tượng cũng chỉ thuộc về 1 cụm, chỉ phù hợp với
đường biên giữa các cụm rõ.
• Hiệu quả của thuật toán phụ thuộc vào việc chọn số nhóm K (phải xác định
trước) và chi phí cho thực hiện vòng lặp tính toán khoảng cách lớn khi số cụm K
và dữ liệu gom cụm lớn.

HỌC VIÊN THỰC HIỆN: NGUYỄN VĂN KHOA – MSHV: CH1101016 Page 20
BÀI THU HOẠCH MÔN HỌC: KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU
Các biến thể của K-Means
Thuật toán K-medoid
Thuật toán K-Means nhạy cảm (sensitive) đối với dữ liệu có nhiễu vì tâm của
một nhóm lại không phải là một đối tượng trong nhóm. Thay vì lấy giá trị trung
bình của các đối tượng trong cụm làm tâm, thuật toán k-medoids lấy một đối
tượng trong cụm làm tâm của cụm (gọi là đối tượng tâm). Thuật toán này vẫn
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à 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 tâm của cụm là ít nhất (từ nay gọi là gần nhất). Sau đó lặp lại
quá trình: Thay đổi đối tượ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 tâm của cụ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 tâm O
random
thay thế tốt cho một đối
tượng tâm O
j
thì mỗi đối tượng p xét theo 4 trường hợp sau đây:
• Trường hợp 1: p đang thuộc vào cụm có tâm là O
j
(từ nay gọi là cụm O
j
). Nếu O
j

được thay thế bởi O
random
và p gần nhất với O
i
(i≠j) thì p được gán lại vào O
i
• Trường hợp 2: p đang thuộc vào O
j
. Nếu O
j
được thay thế bởi O
random
và p gần
nhất với O
random
thì p được gán lại vào O
random
.
• Trường hợp 3: p đang thuộc vào O
i
(i≠j). Nếu O
j
được thay thế bởi O
random
và p
vẫn gần nhất với O
i
thì không thay đổi gì cả. Tức là p vẫn thuộc O
i
.

• Trường hợp 4: p đang thuộc vào O
i
(i≠j). Nếu O
j
được thay thế bở O
random
và p
gần nhất với O
random
thì p được gán lại vào O
random
.
Hình 9 minh họa bốn trường hợp trên:
HỌC VIÊN THỰC HIỆN: NGUYỄN VĂN KHOA – MSHV: CH1101016 Page 21
BÀI THU HOẠCH MÔN HỌC: KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU
Hình 9. Bốn trường hợp đối với điểm p
Thuật toán k-medoid có thể được mô tả cụ thể như sau:
Input: Số nguyên k và CSDL gồm n đối tượng cần gom cụm.
Output: Một tập gồm k cụm mà tổng giá trị của sự khác nhau của tất cả các
đối tượng đến đối tượng tâm của nhó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, O
random
.
Bước 5: Tính lại giá trị, S, đối với việc đổi O

j
với O
random
.
Bước 6: Nếu S<0 thì đổi O
j
với O
random
để 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ụ:
Giả sử trong không gian hai chiều cho n = 10 điểm, như hình 13, cần chia
thành k =2 cụm. Các bước thực hiện của thuật toán k-medoids được chỉ ra trong
hình 13:
HỌC VIÊN THỰC HIỆN: NGUYỄN VĂN KHOA – MSHV: CH1101016 Page 22
BÀI THU HOẠCH MÔN HỌC: KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU
Hình 10. Các bước thực hiện của k-medoids
Đầu tiên chọn hai điểm bất kì vào hai cụm giả sử chọn điểm có màu xanh đậm
trên hình vẽ, sau đó xét các điểm còn lại và đưa chúng vào một trong hai cụm với
điểm tâm lần lượt là hai điểm đã chọn ban đầu. Tiếp theo chọn một điểm bất kì
khác điểm tâm, giả sử điểm có màu đỏ. Tính giá của phép chuyển đổi điểm tâm
từ điểm màu xanh ban đầu sang điểm màu đỏ. Nếu giá này chất lượng hơn thì coi
điểm đỏ là tâm của cụm mới và thực lặp lại quá trình đó cho đến khi không còn
sự thay đổi nào.
Thuật toán k-medoids mạnh hơn thuật toán k-means trong các trường hợp dữ
liệu có nhiễu vì k-medoids chịu ảnh hưởng ít hơn của nhiễu và các giá trị chênh
lệnh so với giá trị trung bình. Tuy nhiên cả hai thuật toán này đều yêu cầu đưa
vào số lượng cụm k. Một trong những thuật toán k-medoids là thuật tóan PAM
(Partitioning Around Medoids) được Kaufman và Rousseeuw đưa ra năm 1987.
Thuật toán Fuzzy c-mean (FCM)

Phân lớp Fuzzy C-Means (CFM) là một trong những phương pháp được ứng
dụng rộng rãi nhất trong Logic mờ. Được đưa ra bởi Bezdek bởi sự mở rộng của
thuật toán Dunn năm 1973, FCM là một trong những thuật toán hiệu quả trong
bài toán phân lớp và đặc biệt là trong các bài toán phân đoạn ảnh. Với cách tiếp
cận này, mỗi hình ảnh với nhiều đặc trưng sẽ được phân lớp thành các nhóm mà
tại đó các điểm ảnh có cùng đặc trưng với nhau. Như vậy, bài toán phân lớp sẽ
HỌC VIÊN THỰC HIỆN: NGUYỄN VĂN KHOA – MSHV: CH1101016 Page 23
BÀI THU HOẠCH MÔN HỌC: KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU
dẫn đến việc giải bài toán xác định giá trị min của tổng khoảng cách của các
điểm ảnh đến tâm của mỗi phân đoạn trên miền đặc trưng của ảnh.
FCM có chung chiến lược gom cụm với K-mean. Nếu K-mean là gom cụm dữ
liệu cứng (1 điểm dữ liệu chỉ thuộc về 1 cụm) thì FCM là gom cụm dữ liệu mờ (1
điểm dữ liệu có thể thuộc về nhiều hơn 1 cụm với 1 xác suất nhất định). Thêm
yếu tố quan hệ giữa các phần tử và các cụm dữ liệu thông qua các trọng số trong
ma trận biểu biễn bậc của các thành viên với 1 cụm.
FCM khắc phục được các cụm dữ liệu chồng nhau trên các tập dữ liệu có kích
thước lớn hơn, nhiều chiều và nhiều nhiễu, song vẫn nhạy cảm với nhiễu và các
phần tử ngoại lai.
Ứng dụng của K - Means
• Gom cụm tài liệu web
o Tìm kiếm và trích rút tài liệu
o Tiền xử lý tài liệu: Quá trình tách từ và vecto hóa tài liệu: tìm kiếm và thay thế
các từ bới chỉ số của từ đó trong từ điển.Biểu diễn dữ liệu dưới dạng vectơ.
o Áp dụng K-Mean, kết quả trả về là các cụm tài liệu và các trọng tâm tương ứng.
• Phân vùng ảnh (hay còn gọi là phân đoạn ảnh)
HỌC VIÊN THỰC HIỆN: NGUYỄN VĂN KHOA – MSHV: CH1101016 Page 24
BÀI THU HOẠCH MÔN HỌC: KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU
3. ỨNG DỤNG GOM CỤM ẢNH BẰNG K- MEANS
Giới thiệu về phân đoạn ảnh bằng gom cụm
Phân đoạn ảnh là một bộ phận cấu thành cơ bản trong nhiều lĩnh vực có ứng

dụng máy tính và có thể được coi như là một lĩnh vực nghiên cứu cơ bản của
gom cụm dữ liệu. Việc phân đoạn các ảnh dựa vào việc hiển thị một hệ thống
phân tích hình ảnh phụ thuộc vào cảnh hiện thị, Hình dạng ảnh, cấu hình, và bộ
chuyển đổi dùng để chuyển đổi ra ảnh kỹ thuật số, và cuối cùng là đầu ra của hệ
thống.
Các ứng dụng của phương pháp gom cụm dữ liệu đối với vấn đề phân đoạn
ảnh ảnh đã được công nhân hơn ba thập kỷ trước, và những nỗ lực tiên phong
vẫn là nền tảng được sử dụng ngày nay. Nền tảng lặp lại là xác định các véc-tơ
đặc tính ở mỗi một điểm ảnh mà ảnh đó chứa cả hàm số mật độ của ảnh và hàm
số bản thân vị trí điểm ảnh. Ý tưởng này được mô tả hình bên dưới. Ý tưởng này
rất thành công khi sử dung đối với các ảnh có mật độ(có hay không chứa kết cấu
ảnh), dải(biên độ) ảnh, và ảnh đa phổ.
Hình 11: Tính năng đại diện cho clustering. Hình ảnh và vị trí các phép đo được chuyển đến các tính năng. Cụm
trong không gian tính năng tương ứng với các phân đoạn hình ảnh.
Phân đoạn ảnh được hiểu thông thường là việc phân tách ảnh đầu vào thành
các miền (các lớp đối tượng riêng rẽ) mỗi đối tượng được gọi là một ảnh con. Để
HỌC VIÊN THỰC HIỆN: NGUYỄN VĂN KHOA – MSHV: CH1101016 Page 25

×