Ngoài ra, một số kỹ thuật xếp nhóm mô tảđặc điểm mỗi nhóm dưới dạng nguyên mẫu nhóm; nghĩa là, dùng một đối tượngdữ liệu làm đại diện cho những đối tượng khác trong nhóm.. Đầu tiên, chún
Trang 1BÁO CÁO TÌM HIỂU CLUSTERING
Trang 2GIỚI THIỆU
Phép phân tích nhóm chia dữ liệu thành những nhóm (group, cluster) cónghĩa, hữu ích, hay cả hai Nếu mục đích là những nhóm có nghĩa, thì những nhómnên giữ được cấu trúc tự nhiên của dữ liệu Tuy nhiên, trong một số trường hợp,phép phân tích nhóm chỉ là điểm khởi đầu hữu ích cho một mục đích khác, như sựtổng kết dữ liệu Dù trong nghiên cứu hay ứng dụng, thì phép phân tích nhóm đãđóng một vai trò quan trọng trong rất nhiều lĩnh vực: tâm lý học và những ngànhkhoa học xã hội khác, sinh học, khoa học thống kê, sự nhận dạng, phục hồi thôngtin, máy học, và data mining
Có nhiều ứng dụng của phép phân tích nhóm đối với những vấn đề thực tiễn.Chúng tôi cung cấp một vài ví dụ đặc trưng, tùy theo mục đích nghiên cứu hay ứngdụng
NGHIÊN CỨU
Những lớp, hay những nhóm đối tượng trừu tượng có nghĩa mà chia sẻ nhữngđặc điểm chung, đóng một vai trò quan trọng trong việc làm thế nào con ngườiphân tích và mô tả thế giới Quả thực, con người khéo léo trong việc phân chia cácđối tượng vào các nhóm (clustering) và gán những đối tượng riêng biệt vào nhữngnhóm này (classification) Ví dụ, những đứa bé nhanh chóng dán nhãn cho nhữngvật trong một tấm ảnh như những tòa nhà, xe cộ, con người, động vật, cây cối,v.v…Trong nghiên cứu dữ liệu, những nhóm là những lớp tiềm tàng và phép phântích nhóm là ngành nghiên cứu những kỹ thuật tự động tìm ra những lớp Sau đâylà một số ví dụ:
Sinh học
Những nhà sinh học đã bỏ ra nhiều năm tạo ra một phép phân loại (phépphân loại theo thứ bậc – hierarchical classification) đối với tất cả các sinhvật: giới, ngành, lớp, bậc, họ, giống, và loài Gần đây, những nhà sinh học đãứng dụng phép xếp nhóm để phân tích những lượng lớn thông tin có sẵn Vídụ, phép xếp nhóm đã được dùng để tìm những nhóm gen có những chứcnăng tương tự
Phục hồi thông tin
World Wide Web chứa hàng tỉ trang web, và những kết quả của một lệnhtruy vấn trong search engine có thể trả về hàng ngàn trang web Phép xếp
Trang 3nhóm có thể được dùng để nhóm những kết quả tìm kiếm này vào nhữngnhóm, mỗi nhóm đề cập một khía cạnh riêng biệt của lệnh truy vấn Ví dụ,tìm kiếm từ khóa “movie” có thể trả về những trang web được nhóm thànhcác loại như reviews, trailers, stars, và theaters Mỗi loại (cluster) có thể chiathành những loại con (subcluster), sinh ra một cấu trúc thứ bậc giúp chongười dùng dễ dàng hơn trong chọn lọc kết quả.
Thời tiết
Nghiên cứu thời tiết Trái Đất đòi hỏi phải tìm ra những mẫu trong áp suất vàđại dương Phép phân tích nhóm được ứng dụng để tìm những mẫu trong ápsuất khí quyển ở những vùng cực và ở những đại dương có ảnh hưởng lớn lênáp suất mặt đất
Tâm lý học và Y học
Một bệnh thường xuyên có một số biến thể, và phép phân tích nhóm có thểđược dùng để nhận ra những nhóm con khác nhau này Phép xếp nhóm cóthể dùng để nhận dạng những mẫu trong sự phân bố không gian hay thời giancủa một bệnh
Kinh doanh
Việc kinh doanh địi hỏi những lượng lớn thông tin trên những khách hànghiện tại và tiềm năng Phép xếp nhóm có thể được dùng để phân đoạn nhữngkhách hàng vào những nhóm cho những hoạt động phân tích và tiếp thị
ỨNG DỤNG
Phép phân tích nhóm cung cấp sự trừu tượng hóa từ những đối tượng dữ liệuriêng lẻ thành những nhóm đối tượng Ngoài ra, một số kỹ thuật xếp nhóm mô tảđặc điểm mỗi nhóm dưới dạng nguyên mẫu nhóm; nghĩa là, dùng một đối tượngdữ liệu làm đại diện cho những đối tượng khác trong nhóm Những nguyên mẫunhóm này có thể được dùng như cơ sở cho một số kỹ thuật phân tích hay xử lý dữliệu Do đó, trong lĩnh vực ứng dụng, phép phân tích nhóm nghiên cứu những kỹthuật để tìm những nguyên mẫu nhóm tiêu biểu nhất
Sự tổng hợp
Nhiều kỹ thuật phân tích dữ liệu, như PCA, có độ phức tạp thời gian haykhông gian là O(m2) hay cao hơn (với m là số đối tượng), và do đó, không ápdụng được cho những tập hợp dữ liệu lớn Tuy nhiên, thay vì dùng thuật toáncho toàn bộ tập hợp dữ liệu, ta có thể áp dụng đối với một tập hợp dữ liệuđược giảm chỉ chứa những nguyên mẫu nhóm Phụ thuộc vào kiểu phân tích,số nguyên mẫu, và độ chính xác mà nguyên mẫu đại diện cho dữ liệu, màkết quả có thể so sánh được với trường hợp áp dụng cho tất cả dữ liệu
Trang 4 Nén
Những nguyên mẫu nhóm cũng có thể được dùng cho nén dữ liệu Cụ thể là,một bảng chứa những nguyên mẫu cho mỗi nhóm được tạo ra; nghĩa là, mỗinguyên mẫu được gán một giá trị nguyên là chỉ số của nó trong bảng Mỗiđối tượng được biểu diễn bởi chỉ số của nguyên mẫu liên kết với nhóm củanó Kiểu nén này được gọi là lượng tử hóa vector và thường được áp dụngcho ảnh, âm thanh, và video, do (1) nhiều đối tượng dữ liệu tương tự nhau,(2) có thể chấp nhận một số mất mát thông tin, và (3) cần thiết phải giảmđáng kể kích thước dữ liệu
Tìm láng giềng gần nhất
Việc tìm láng giềng gần nhất có thể đòi hỏi phải tính toán khoảng cách từngđôi giữa tất cả các điểm Thường những nhóm và những nguyên mẫu củachúng có thể được tìm thấy hiệu quả hơn nhiều Nếu những đối tượng tươngđối gần với nguyên mẫu của nhóm chúng, thì ta có thể dùng những nguyênmẫu để giảm số phép tính cần thiết để tìm láng giềng gần nhất của một đốitượng Bằng trực giác, nếu hai nguyên mẫu nhóm xa nhau, thì những đốitượng trong những nhóm tương ứng không thể là láng giềng gần nhất củanhau Do đó, để tìm được những láng giềng gần nhất của một đối tượng thìchỉ cần tính khoảng cách đến những đối tượng ở những nhóm gần, mà hainhóm gần nhau hay không tùy thuộc vào khoảng cách giữa những nguyênmẫu của chúng
Chúng ta sẽ bắt đầu với miêu tả chung về phép xếp nhóm, bao gồm các cáchtiếp cận khác nhau để chia đối tượng vào các nhóm và những loại nhóm khácnhau Sau đó, chúng ta mô tả những kỹ thuật xếp nhóm cụ thể Phần kế tiếp dànhcho những phương pháp đánh giá độ tốt của nhóm được tạo ra bởi một thuật toánxếp nhóm
Trang 5PHẦN 1 NHỮNG KHÁI NIỆM CƠ BẢN
Trước khi thảo luận những kỹ thuật xếp nhóm cụ thể, chúng ta xem xét mộtsố kiến thức nền tảng cần thiết Đầu tiên, chúng ta định nghĩa rõ hơn về phép phântích nhóm, giải thích mối liên quan của nó với những kỹ thuật nhóm dữ liệu khác.Sau đó chúng ta xem xét hai vấn đề quan trọng: (1) những cách khác nhau để xếpmột tập hợp các đối tượng vào một tập hợp các nhóm, và (2) những loại nhóm
1.1 THẾ NÀO LÀ PHÉP PHÂN TÍCH NHÓM?
Phép phân tích nhóm gom nhóm những đối tượng dữ liệu chỉ dựa trên thôngtin được tìm thấy trong dữ liệu mà mô tả những đối tượng đó hay và những mốiquan hệ của chúng Mục đích là những đối tượng bên trong một nhóm tương tự(hay liên quan) với nhau và chúng khác nhau (hay không liên quan) với những đốitượng trong những nhóm khác Nếu sự tương tự trong một nhóm càng lớn và sựkhác nhau giữa các nhóm càng nhiều, thì phép xếp nhóm càng tốt hơn hay dễ phânbiệt hơn
Trong nhiều ứng dụng, khái niệm một nhóm không được định nghĩa rõ ràng.Để hiểu rõ hơn sự khó khăn khi quyết định cái gì tạo thành một nhóm, xem hình8.1, biểu diễn hai mươi điểm và ba cách phân nhóm khác nhau Những kí hiệu chỉrõ thành phần của mỗi nhóm Hình 8.1(b) và 8.1(d) lần lượt chia dữ liệu thành haivà sáu phần Không thể không có lý khi cho rằng các điểm tạo thành bốn nhóm,như trong hình 8.1(c) Hình này biểu diễn định nghĩa một nhóm là không chính xácvà định nghĩa tốt nhất phụ thuộc vào trạng thái nguyên thủy của dữ liệu và nhữngkết quả mong muốn
Trang 6Phép phân tích nhóm liên quan đến những kỹ thuật khác được dùng để chianhững đối tượng dữ liệu vào các nhóm Ví dụ, phép xếp nhóm có thể được xemnhư một dạng của phép phân loại trong đó nó tạo ra sự đánh nhãn các đối tượng.Tuy nhiên, nó nhận được các nhãn này chỉ từ dữ liệu Ngược lại, phép phân loại là
một supervised classification; nghĩa là, những đối tượng mới chưa được đánh
nhãn được gán một nhãn sử dụng một mô hình có được từ những đối tượng đã được
đánh nhãn Vì lý do này, phép xếp nhóm thường được xem như unsupervised
classification
Tương tự, thuật ngữ segmentation và partitioning thường xem như đồng
nghĩa trong phép xếp nhóm, những thuật ngữ này thường được dùng cho nhữngcách tiếp cận khác cách tiếp cận truyền thống Ví dụ, thuật ngữ partitioning thườngđược dùng trong những kỹ thuật chia những đồ thị thành những đồ thị con vàkhông liên quan nhiều đến phép xếp nhóm Segmentation thường liên quan đếnphần chia dữ liệu thành các nhóm sử dụng những kỹ thuật đơn giản; ví dụ, một ảnhcó thể được chia thành những phân đoạn chỉ dựa trên cường độ pixel và màu, haycon người có thể được chia thành các nhóm dựa trên thu nhập của họ Tuy nhiên,một số công việc trong graph partitioning và trong image segmentation liên quanđến phép phân tích nhóm
1.2 NHỮNG PHƯƠNG PHÁP XẾP NHÓM KHÁC NHAU
Trong phần này, chúng ta phân biệt những loại xếp nhóm khác nhau:hierarchical (nested) với partitional (unnested), exclusive với overlapping vớifuzzy, và complete với partial
Hierarchical với Partitional
Nét khác biệt được thảo luận nhiều nhất giữa những kiểu xếp nhóm khácnhau là tập hợp các nhóm là lồng nhau hay không lồng nhau, trong thuật ngữtruyền thống hơn, hierarchical hay partitional Một phép xếp nhóm partitional đơngiản là một phép chia tập hợp các đối tượng dữ liệu vào những tập con khôngtrùng khớp để cho mỗi đối tượng ở trong một tập con Lần lượt làm với từng đốitượng, mỗi tập các nhóm trong hình 8.1 (b-d) là một phép xếp nhóm partitional
Nếu chúng ta cho phép các nhóm có các nhóm con, thì chúng ta có đượcphép xếp nhóm hierarchical, mà là một tập các nhóm lồng nhau được tổ chức nhưmột cây Mỗi node (cluster) trên cây (ngoại trừ node lá) là hợp của những nodecon (subcluster), và node gốc là nhóm chứa tất cả các đối tượng Thường, nhưngkhông phải là luôn luôn, lá của cây là những nhóm duy nhất của những đối tượngriêng biệt Nếu chúng ta cho phép các nhóm lồng nhau, thì sự giải thích của hình8.1(a) là nó có hai nhóm con (hình 8.1(b)), và nó có ba nhóm con (hình 8.1(d)).Những nhóm trong hình 8.1(a-d), theo thứ tự, cũng tạo nên một phép xếp nhómhierarchical, với lần lượt 1, 2, 4, và 6 nhóm ở mỗi cấp Cuối cùng, lưu ý rằng mộtphép xếp nhóm hierarchical có thể xem như một chuỗi các phép xếp nhóm
Trang 7partitional; nghĩa là, khi cắt ra mỗi cấp của cây thứ bậc thì ta có một phép xếpnhóm partitional.
Exclusive với Overlapping với Fuzzy
Những phép xếp nhóm trong hình 8.1 đều là exclusive, khi chúng gán mỗiđối tượng vào một nhóm Có nhiều trường hợp trong đó một điểm có thể được đặttrong nhiều hơn một nhóm, và những trường hợp này là non-exclusive Thông
thường, một phép xếp nhóm overlapping hay non-exclusive được dùng để phản
ánh sự kiện rằng một đối tượng có thể đồng thời thuộc về hơn một nhóm (class)
Ví dụ, một người ở trường đại học có thể là sinh viên được tuyển và một nhân viêncủa trường Một phép xếp nhóm non-exclusive cũng thường được dùng, ví dụ, khimột đối tượng ở giữa nhiều hơn hai nhóm và có thể được gán đến bất kỳ nhómnào Tưởng tượng một điểm nằm giữa hai nhóm trong hình 8.1 Thay vì gán tùy ýđối tượng vào một nhóm nào đó, thì nó được đặt vào tất cả những nhóm như thế.Trong một phép xếp nhóm fuzzy, mỗi đối tượng thuộc về một nhóm với mộttrọng số giữa 0 (hoàn toàn không thuộc) và 1 (hoàn toàn thuộc) Nói cách khác,những nhóm như những tập hợp fuzzy (Trong toán học, một tập hợp fuzzy là tậphợp trong đó một đối tượng thuộc bất cứ tập nào với trọng số giữa 0 và 1 Trongphép xếp nhóm fuzzy, chúng ta thường đưa ra ràng buộc bổ sung mà tổng cáctrọng số của mỗi đối tượng phải bằng 1) Tương tự, những kỹ thuật xếp nhóm theothống kê tính toán xác suất mà mỗi điểm thuộc về mỗi nhóm, và mỗi xác suất nàycũng phải có tổng là 1 Fuzzy clustering thích hợp nhất để tránh việc gán tùy ý mộtđối tượng vào chỉ một nhóm khi nó có thể gần với nhiều nhóm Trong thực tế,fuzzy clustering thường được chuyển đổi thành exclusive clustering bằng cách gánmỗi đối tượng vào nhóm trong đó trọng số hay xác suất của nó là cao nhất
Complete với Partial
Complete clustering gán mỗi đối tượng vào một nhóm, trái lại partialclustering thì không Sự thúc đẩy cho phương pháp partial clustering là một số đốitượng trong một tập dữ liệu có thể không thuộc về những nhóm được định nghĩatốt Ví dụ, một số mẫu chuyện trên báo có thể chia sẻ một chủ đề chung, như sựấm lên của Trái Đất Do đó, để tìm những chủ đề quan trọng trong những câuchuyện tháng trước, chúng ta có thể muốn chỉ tìm kiếm những nhóm tài liệu liênquan chặt chẽ với một chủ đề chung Trong những trường hợp khác, thì phươngpháp complete clustering được sử dụng Ví dụ, một ứng dụng sử dụng clustering đểtổ chức tài liệu cho việc tìm kiếm cần phải đảm bảo rằng tất cả tài liệu có thểđược tìm thấy
1.3 NHỮNG LOẠI NHÓM KHÁC NHAU
Phép xếp nhóm hướng đến việc tìm những nhóm cho những đối tượng, tùytheo mục đích của phân tích dữ liệu Có rất nhiều quan niệm khác nhau về mộtnhóm Để minh họa sự khác biệt giữa những loại nhóm này, ta dùng những điểm
Trang 8hai chiều là những đối tượng dữ liệu, như trong hình 8.2 Tuy nhiên, chúng tôinhấn mạnh rằng những loại nhóm được định nghĩa ở đây có giá trị như nhau vớinhững loại dữ liệu khác.
Well-Separated
Một nhóm là một tập các đối tượng trong đó mỗi đối tượng tương tự với mỗiđối tượng cùng nhóm khác hơn những đối tượng không cùng nhóm Đôi khi mộtngưỡng được dùng để chỉ rõ rằng tất cả đối tượng trong một nhóm phải đủ gần(tương tự) nhau Định nghĩa này về nhóm chỉ thỏa mãn khi dữ liệu chứa nhữngnhóm tự nhiên thật sự xa nhau Hình 8.2(a) cho ví dụ những nhóm well-separatedmà chứa hai nhóm điểm trong không gian hai chiều Khoảng cách giữa bất kỳ haiđiểm khác nhóm lớn hơn khoảng cách giữa bất kỳ hai điểm cùng nhóm
Prototype-Based
Một nhóm là một tập các đối tượng trong đó mỗi đối tượng tương tự vớinguyên mẫu (prototype) xác định nhóm hơn nguyên mẫu của bất kỳ nhóm nàokhác Đối với dữ liệu có những thuộc tính liên tục, nguyên mẫu của một nhómthường là trung tâm, nghĩa là, trung bình (mean) của tất cả các điểm trong nhóm.Với nhiều kiểu dữ liệu, nguyên mẫu có thể xem như điểm trung tâm nhất, và trongnhững trường hợp như thế, chúng ta thường xem những nhóm prototype-based như
center-based Thường những nhóm như vậy có hình cầu Hình 8.2(b) cho một ví
dụ nhóm center-based
Graph-Based
Nếu dữ liệu được biểu diễn đồ thị, với các nút là các đối tượng và các cungbiểu diễn liên kết giữa các đối tượng, thì một nhóm được định nghĩa là một thành
phần liên thông (connected component); nghĩa là, một nhóm đối tượng được liên
kết với nhau, nhưng không có liên kết đến những đối tượng ngoài nhóm Một ví dụquan trọng của graph-based cluster là contiguity-based cluster (cluster dựa trên sựkề nhau), trong đó hai đối tượng chỉ được liên kết nếu chúng cách nhau mộtkhoảng được chỉ rõ Điều này có nghĩa là mỗi đối tượng trong contiguity-basedcluster gần với đối tượng khác trong nhóm hơn bất kỳ điểm nào trong nhóm khác.Hình 8.2(c) cho một ví dụ với những điểm hai chiều Định nghĩa nhóm này hữu íchkhi các nhóm không theo quy luật hay quấn vào nhau (intertwined), nhưng có thểgặp vấn đề khi xuất hiện nhiễu như minh họa bởi hai nhóm hình cầu trong hình8.2(c), một cầu nhỏ của các điểm có thể kết hợp hai điểm phân biệt
Density-Based
Một nhóm là một vùng dày đặc các đối tượng được bao quanh bởi một vùng
ít dày đặc hơn Hình 8.2(d) biểu diễn các nhóm density-based với dữ liệu được tạothành bằng cách thêm nhiễu vào dữ liệu của hình 8.2(c) Hai nhóm tròn không
Trang 9được kết hợp như trong hình 8.2(c), vì cầu giữa chúng biến mất trong nhiễu Cũngvậy, đường cong trong hình 8.2(c) cũng biến mất trong nhiễu và không tạo thànhnhóm trong hình 8.2(d) Định nghĩa nhóm density-based thường được dùng khi cácnhóm không theo quy luật, và khi xuất hiện nhiễu và giá trị ngoại lệ Ngược lại,định nghĩa nhóm contiguity-based không phù hợp với dữ liệu trong hình 8.2(d) cókhuynh hướng hình thành cầu giữa các nhóm.
Shared-Property (Conceptual Clusters)
Tổng quát hơn, ta có thể định nghĩa một nhóm là một tập các đối tượng cùngcó thuộc tính nào đó Định nghĩa này chứa đựng tất cả những định nghĩa trước; vídụ, những đối tượng trong một nhóm center-based chia sẻ thuộc tính là tất cả đềugần với một tâm nào đó Tuy nhiên, cách tiếp cận shared-property cũng bao gồmnhững loại nhóm mới Xem những nhóm trong hình 8.2(e) Một vùng tam giác(cluster) kề với một vùng chữ nhật Trong tất cả những trường hợp, một phép xếpnhóm cần một khái niệm rất rõ ràng để tìm nhóm thành công Quá trình tìm nhữngnhóm gọi là phép xếp nhóm khái niệm Tuy nhiên, ở đầy chúng tôi chỉ xét nhữngloại nhóm đơn giản
Road Map
Chúng ta sử dụng ba phương pháp đơn giản nhưng quan trọng để giới thiệunhiều khái niệm liên quan đến phân tích nhóm
K-means: Đây là một phương pháp prototype-based, partitional clustering
dùng để tìm một số nhóm (K) được chỉ định bởi người dùng
Agglomerative Hierarchical Clustering: Đây là một phương pháp
hierarchical clustering mà bắt đầu với mỗi điểm như một điểm đơn và sau đótrộn hai nhóm gần nhất, làm đi làm lại cho đến khi chỉ còn một nhóm duynhất chứa tất cả Do đó mà phương pháp này gọi là agglomerative, nghĩa làtích tụ
DBSCAN: Đây là một phương pháp density-based sinh ra một phép xếp
nhóm partitional, trong đó số nhóm được xác định tự động bởi thuật toán Cácđiểm ở các vùng ít dày đặc được phân loại như nhiễu và được loại bỏ; do đó,DBSCAN không sinh ra một phép xếp nhóm complete
Trang 10Hình 8.2 Những loại nhóm khác nhau được minh họa bởi những tập điểm hai
chiều
Trang 11PHẦN 2 NHỮNG THUẬT TOÁN 2.1 K-MEANS
Hai kỹ thuật quan trọng nhất là K-means và K-medoid K-means định nghĩamột nguyên mẫu là một trọng tâm (centroid), thường là trung tâm của một nhómđiểm, và được ứng dụng cho những đối tượng trong một không gian n chiều liêntục K-medoid định nghĩa một nguyên mẫu là một medoid, là điểm đại diện nhấtcho một nhóm điểm, và có thể áp dụng cho một phạm vi dữ liệu rộng vì nó chỉ đòihỏi một phép đo lân cận cho một cặp đối tượng Trong khi centroid không bao giờtương ứng với một điểm dữ liệu thật sự, thì một medoid phải là một điểm dữ liệuthật sự Trong phần này, chúng ta chỉ tập trung đến K-means, một trong nhữngphương pháp cũ nhất và được dùng rộng rãi nhất
2.1.1 THUẬT TOÁN K-MEANS CƠ BẢN
Phép xếp nhóm K-means đơn giản, và chúng ta bắt đầu mô tả thuật toán cơbản Đầu tiên ta chọn K trọng tâm, với K là tham số cho bởi người dùng, gọi là sốnhóm Sau đó mỗi điểm được gán với một trọng tâm gần nhất, và mỗi tập điểmđược gán với một trọng tâm là một nhóm Ta lặp lại việc gán và cập nhật các bướccho đến khi không còn điểm nào thay đổi nhóm
K-means được mô tả trong thuật toán 8.1 Thuật toán được minh họa cụ thểtrong hình 8.3 Trong những hình này, mỗi hình nhỏ biểu diễn (1) những trọng tâmlúc đầu và (2) phép gán các điểm đến các trọng tâm đó Những trọng tâm đượcbiểu diễn bởi dấu “+”; tất cả các điểm thuộc cùng một nhóm có cùng kí hiệu như
nhau
Thuật toán 8.1 Thuật toán K-means cơ bản
1: Chọn K điểm như những trọng tâm đầu tiên
2: repeat
3: Tạo K nhóm bằng cách gán mỗi điểm đến trọng tâm gần nhất của
nó
4: Tính toán lại trọng tâm của mỗi nhóm
5: until Những trọng tâm không đổi.
Trong bước đầu, được biểu diễn trong hình 8.3(a), các điểm được gán đếnnhững trọng tâm đầu tiên, tất cả đều trong nhóm điểm lớn hơn Như ví dụ này, tadùng trung bình như trọng tâm Sau khi các điểm được gán đến một trọng tâm, thì
Trang 12trọng tâm sẽ được cập nhật Lặp lại, hình vẽ biểu diễn trọng tâm ở đầu mỗi bướcvà phép gán các điểm đến các trọng tâm đó Ở bước thứ hai, các điểm được gánđến những trọng tâm đã được cập nhật, và các trọng tâm được cập nhật lại Trongbước 2, 3, và 4, được biểu diễn lần lượt trong hình 8.3(b), (c), và (d), hai trọng tâm
di chuyển đến hai nhóm điểm ở phần dưới của hình Khi thuật toán K-means kếtthúc trong hình 8.3(d), những trọng tâm đã chỉ ra những phép nhóm điểm
Kết hợp thêm một số hàm lân cận và các loại trọng tâm, K-means luôn luônhội tụ về một kết quả cuối cùng; nghĩa là, K-means đạt đến một trạng thái trongđó không có điểm nào dịch chuyển từ nhóm này đến nhóm khác, và do đó, cáctrọng tâm không thay đổi Tuy nhiên, điều kiện của vòng lặp trên dòng 5 của thuậttoán 8.1 thường được thay bởi một điều kiện yếu hơn, ví dụ, lặp lại cho đến khi chỉcó 1% các điểm thay đổi nhóm
Ta xét mỗi bước trong thuật toán K-means cơ bản một cách chi tiết hơn vàsau đó sẽ phân tích độ phức tạp không gian và thời gian của thuật toán
Gán các điểm đến trọng tâm gần nhất
Để gán một điểm đến trọng tâm gần nhất, ta cần một phép đo độ lân cận đểxác định khái niệm “gần nhất” Khoảng cách Euclid (L2) thường được dùng chonhững điểm dữ liệu trong không gian Euclid Tuy nhiên, có thể có nhiều phép đođộ lân cận thích hợp cho một nhóm dữ liệu được cho Ví dụ, khoảng cáchManhattan (L1) có thể dùng cho dữ liệu Euclid, trong khi phép đo Jaccard thườngđược dùng cho những tài liệu
Thông thường, những phép đo lân cận dùng cho K-means thường đơn giản vìthuật toán tính toán lặp đi lặp lại sự lân cận của mỗi điểm với mỗi trọng tâm Tuynhiên, trong một số trường hợp, nhưng khi dữ liệu nằm trong không gian Euclid ítchiều, có thể tránh được việc tính toán nhiều sự lân cận, do đó tăng đáng kể tốc độcủa thuật toán K-means Bisecting K-means (được mô tả trong phần 8.2.3) là một
Trang 13cách tiếp cận khác làm tăng tốc độ của K-means bằng cách giảm số lượng tínhtoán lân cận.
Bảng 8.1 Bảng ký hiệu
Ký hiệu Mô tảx
Một đối tượng
Nhóm thứ i
Trọng tâm của nhóm Ci.Trọng tâm của tất cả các điểm
Số đối tượng trong nhóm thứ i
Số đối tượng trong tập dữ liệu
Số nhóm
Những trọng tâm và những hàm mục tiêu
Bước 4 của thuật toán K-means là “tính toán lại trọng tâm của mỗi nhóm”, vìtrọng tâm có thể thay đổi, tùy thuộc trên phép đo lân cận cho dữ liệu và mục đíchcủa việc xếp nhóm Mục đích của việc gom nhóm được biểu diễn bởi một hàmmục tiêu mà tùy thuộc trên độ lân cận của các điểm với nhau hay với trọng tâmcủa nhóm; ví dụ, cực tiểu hóa khoảng cách bình phương của mỗi điểm với trọngtâm gần nhất của nó Ta minh họa điều này với hai ví dụ Tuy nhiên, điểm mấuchốt là: một khi ta đã chỉ rõ phép đo lân cận và một hàm mục tiêu, trọng tâm cóthể được tính toán (mô tả chi tiết trong phần 8.2.6)
Dữ liệu trong không gian Euclid
Xét dữ liệu với phép đo lân cận là khoảng cách Euclid Với hàm mục đíchcủa chúng ta, dùng để đo chất lượng của phép xếp nhóm, ta dùng tổng sai số bìnhphương (sum of the squared error – SSE) Nói cách khác, ta tính toán sai số củamỗi điểm dữ liệu, nghĩa là, khoảng cách Euclid của nó đến trọng tâm gần nhất, vàsau đó tính toán tổng các sai số bình phương Cho hai tập hợp nhóm khác nhauđược tạo bởi hai lần chạy thuật toán K-means khác nhau, ta thích tập hợp có sai sốbình phương nhỏ nhất vì điều này có nghĩa là những nguyên mẫu (trọng tâm) củaphép gom nhóm này là biểu diễn tốt cho các điểm trong nhóm của chúng Dùng kíhiệu trong bảng 8.1, SSE được định nghĩa như sau:
1
2
),
với dist là khoảng cách Euclid chuẩn (L2) giữa hai đối tượng trong không gianEuclid
Trang 14Theo những giả thuyết này, có thể nói rằng (xem phần 8.2.6) trọng tâm tốithiểu hóa SSE của nhóm là trung bình Dùng kí hiệu trong bảng 8.1, trọng tâm(trung bình) của nhóm thứ i được định nghĩa bởi phương trình 8.2.
Dữ liệu tài liệu
Để minh họa rằng K-means không hạn chế cho dữ liệu trong không gianEuclid, ta xét dữ liệu tài liệu và phép đo đồng dạng cosine Ở đây ta giả sử rằngdữ liệu tài liệu được biểu diễn như một ma trận có số hạng document Mục tiêucủa chúng ta là tối đa hóa độ đồng dạng của những document trong một nhóm đối
với trọng tâm nhóm; số lượng này như là cohension của nhóm Với mục đích này
ta thấy rằng trọng tâm nhóm là trung bình, như dữ liệu Euclid Lượng tương tự đốivới SSE tổng cộng là cohension tổng cộng
1
),(
Trường hợp tổng quát
Có một số lựa chọn cho hàm lân cận, trọng tâm, và hàm mục tiêu có thểdùng trong thuật toán K-means cơ bản Bảng 8.2 biểu diễn một số lựa chọn có thể,bao gồm hai cái mà chúng ta vừa mới thảo luận Lưu ý rằng khoảng cáchManhattan (L1) và mục tiêu tối thiểu hóa tổng các khoảng cách, trọng tâm thíchhợp là trung vị các điểm trong một nhóm
Bảng 8.2 K-means: Những lựa chọn thông thường cho hàm lân cận, trọng
tâm, và hàm mục tiêuHàm lân cận Trọng tâm Hàm mục tiêu
Trang 15Manhattan (L1) Trung vị Tối thiểu hóa tổng khoảng cách L1 của một đối
tượng đến trọng tâm của nhóm nó
Euclid bình phương Trung bình Tối thiểu hóa tổng khoảng cách L2 bình phương
của một đối tượng đến trọng tâm của nhóm nó.Cosine Trung bình Tối đa hóa tổng sự đồng dạng cosine của một
đối tượng đến trọng tâm của nhóm nó
Sự phân kỳ Bregman Trung bình Tối thiểu hóa tổng sự phân kỳ Bregman của
một đối tượng đến trọng tâm của nhóm nó
Sự phân kỳ Bregman thật ra là một lớp phép đo lân cận bao gồm khoảngcách Euclid bình phương, 2
2
L , khoảng cách Mahalanobis, và sự đồng dạng cosine.Sự quan trọng của hàm phân kỳ Bregman là hàm bất kỳ như vậy có thể được dùngnhư cơ sở của thuật toán K-means với trung bình là trọng tâm Nếu ta dùng hàmphân kỳ Bregman như hàm lân cận, thì thuật toán gom nhóm có những thuộc tínhthông thường của K-means đối với độ hội tụ, cực tiểu địa phương, v.v Hơn thếnữa, những thuộc tính của thuật toán gom nhóm có thể được phát triển cho tất cảsự phân kỳ Bregman Thực vậy, những thuật toán K-means sử dụng sự đồng dạngcosine hay khoảng cách Euclid bình phương là những trường hợp riêng của thuậttoán gom nhóm tổng quát dựa trên sự phân kỳ Bregman
Sau đây, ta dùng dữ liệu hai chiều vì nó dễ giải thích K-means và nhữngthuộc tính của nó đối với loại dữ liệu này Nhưng, như đã đề cập ở các đoạn trước,K-means là một thuật toán gom nhóm rất tổng quát và có thể dùng cho rất nhiềuloại dữ liệu, như document và chuỗi thời gian
Chọn những trọng tâm ban đầu
Khi khởi tạo các trọng tâm ngẫu nhiên, các lần chạy khác nhau của K-meanssinh ra những tổng SSE khác nhau Ta minh họa điều này với tập hợp các điểm haichiều cho trong hình 8.3 với ba nhóm điểm Hình 8.4(a) biểu diễn một cách gomnhóm mà là cực tiểu toàn cục của SSE cho ba nhóm, trong khi hình 8.4(b) biểudiễn một cách gom nhóm suboptimal mà chỉ là một cực tiểu địa phương
Trang 16Chọn những trọng tâm ban đầu chính xác là bước mấu chốt của thuật toán means cơ bản Một cách tiếp cận thông thường là chọn những trọng tâm ban đầumột cách ngẫu nhiên, nhưng những nhóm kết quả thường xấu.
K-Ví du: Những trọng tâm ban đầu xấu
Những trọng tâm ban đầu được chọn ngẫu nhiên có thể xấu Ta có một ví dụminh họa điều này dùng cùng bộ dữ liệu như trong hình 8.3 và 8.4 Hình 8.3 và 8.5biểu diễn các nhóm dẫn đến hai lựa chọn đặc biệt những trọng tâm ban đầu (Ở cảhai hình, vị trí của những trọng tâm nhóm trong những vòng lặp khác nhau đượcbiểu diễn bởi dấu gạch chéo)
Ví dụ: Những giới hạn của sự khởi tạo ngẫu nhiên
Một kỹ thuật được dùng thông thường để giải quyết vấn đề chọn những trọngtâm ban đầu là thực hiện nhiều lần chạy, mỗi lần với một bộ khác nhau các trọngtâm ban đầu được chọn ngẫu nhiên, và sau đó chọn ra tập hợp các nhóm với SSEnhỏ nhất Cách này có thể không thực hiện tốt, tùy thuộc vào tập dữ liệu và sốnhóm được tìm kiếm Chúng ta biểu diễn điều này dùng bộ dữ liệu mẫu cho tronghình 8.6(a) Dữ liệu bao gồm hai cặp nhóm, với các nhóm trong mỗi cặp (cặp trên-dưới) gần nhau hơn các nhóm trong cặp khác Hình 8.6(b-d) chỉ ra rằng nếu ta bắtđầu với hai trọng tâm ban đầu đối với mỗi cặp nhóm, thì thậm chí khi tất cả trọngtâm ở trong một nhóm duy nhất, những trọng tâm sẽ được phân phối lại để tìmđược các nhóm đúng Tuy nhiên, hình 8.7 chỉ ra rằng nếu một cặp nhóm chỉ có mộttrọng tâm ban đầu và cặp khác có ba, thì hai trong các nhóm đúng sẽ được kết hợpvà một nhóm đúng sẽ được chia ra
Trang 17Lưu ý rằng một phép gom nhóm tối ưu sẽ đạt được cho đến khi hai trọng tâmban đầu rơi vào trong một cặp nhóm, vì các trọng tâm sẽ được phân phối lại đếnmỗi nhóm.
Vì những vấn đề với việc dùng những trọng tâm ban đầu được chọn ngẫunhiên, mà những lần chạy lặp lại có thể không vượt qua Một cách tiếp cận hiệuquả là lấy một mẫu các điểm và gom nhóm chúng dùng kỹ thuật gom nhómhierarchical K nhóm rút ra từ phép gom nhóm hierarchical, và những trọng tâmcủa những nhóm đó được dùng như những trọng tâm ban đầu Cách này thườnghoạt động tốt, nhưng thực hiện được chỉ nếu (1) bộ mẫu tương đối nhỏ, ví dụ, vàitrăm đến vài ngàn, và (2) K tương đối nhỏ so với kích thước mẫu
Trang 18Sau đây là một cách khác để chọn những trọng tâm ban đầu Chọn ngẫunhiên điểm đầu tiên hay lấy trọng tâm của tất cả các điểm Sau đó, chọn điểm xanhất đối với các trọng tâm ban đầu đã chọn Theo cách này, ta có được một tậpcác trọng tâm ban đầu được đảm bảo không chỉ được chọn ngẫu nhiên mà còn táchrời nhau Không may là cách như vậy có thể chọn những giá trị ngoại lệ, hơn làcác điểm trong các nhóm Nó cũng tốn kém để tính toán điểm xa nhất từ tập cáctrọng tâm ban đầu hiện tại Để khắc phục vấn đề này, cách này thường dùng chomột bộ mẫu các điểm Vì những giá trị ngoại lệ hiếm khi xảy ra, chúng có khuynhhướng không xuất hiện trong một mẫu ngẫu nhiên Ngược lại, các điểm từ mỗinhóm có thể được bao gồm trừ phi kích thước mẫu rất nhỏ Việc tính toán liênquan đến tìm những trọng tâm ban đầu cũng được giảm đáng kể vì kích thước mẫunhỏ hơn nhiều so với số điểm.
Trang 19Sau đây, ta sẽ thảo luận hai cách khác với chất lượng tốt hơn (SSE thấp):dùng một biến thể của K-means ít ảnh hưởng đến vấn đề khởi tạo hơn (bisectingK-means) và dùng hậu xử lý.
Độ phức tạp thời gian và không gian
Yêu cầu không gian cho K-means là khiêm tốn nhất vì chỉ có những điểm dữ
liệu và trọng tâm được lưu trữ Chính xác, không gian lưu trữ đòi hỏi là O((m +
K)n), với m là số điểm và n là số thuộc tính Yêu cầu thời gian cho K-means cũng
khiêm tốn nhất – tuyến tính với số điểm dữ liệu Cụ thể, thời gian đòi hỏi là
O(I*K*m*n), với I là số lần lặp cần cho sự hội tụ Như đã đề cập, I thường nhỏ và
thường bị chặn, khi hầu hết những thay đổi tiêu biểu xảy ra trong vài vòng lặp đầutiên Do đó, K-means tuyến tính theo m, số điểm, và hiệu quả cũng như đơn giản
2.1.2 BISECTING K-MEANS
Thuật toán bisecting K-means là một mở rộng đơn giản của K-means cơ bảndựa trên một ý tưởng đơn giản: đạt được K nhóm, chia tập hợp tất cả các điểm vàohai nhóm, chọn một trong các nhóm này để chia ra, và lặp lại, cho đến khi tạo ra Knhóm Chi tiết của thuật toán bisecting K-means như sau:
Thuật toán 8.2 Thuật toán bisecting K-means.
1: Khởi tạo danh sách các nhóm để chứa nhóm bao gồm tất cả các điểm
2: repeat
3: Loại bỏ một nhóm từ danh sách các nhóm
4: {Thực hiện nhiều lần chia đôi “thử" nhóm được chọn.}
5: for i = 1 to number of trials do
6: Chia đôi nhóm được chọn bằng phương pháp K-means cơbản
8: Chọn ra hai nhóm từ việc chia đôi với SSE tổng cộng nhỏ nhất
9: Thêm hai nhóm này vào danh sách các nhóm
10: until Danh sách nhóm chứa K nhóm.
Có nhiều cách khác nhau trong việc chọn ra nhóm nào để chia Ta có thểchọn nhóm lớn nhất ở mỗi bước, chọn nhóm với SSE lớn nhất, hay dùng một tiêuchuẩn dựa trên cả kích thước và SSE Những lựa chọn khác nhau sẽ cho ra nhữngnhóm khác nhau
Ví du: Bisecing K-means và sự khởi tạo
Để minh họa rằng bisecting K-means ít bị ảnh hưởng bởi vấn đề khởi tạohơn, ta biểu diễn trong hình 8.8, bisecting K-means tìm ra bốn nhóm như thế nàotrong bộ dữ liệu ban đầu biểu diễn trong hình 8.6(a) Ở bước lặp 1, hai cặp nhóm
Trang 20được tìm thấy; ở bước lặp 2, cặp nhóm bên phải được chia ra; và ở bước 3, cặpnhóm bên trái được chia ra Bisecting K-means ít gặp vấn đề hơn với việc khởi tạobởi vì nó thực hiện nhiều lần chia đôi thử và dùng lần thử có SSE nhỏ nhất, và bởi
vì chỉ có hai trọng tâm ở mỗi bước
Cuối cùng, bằng cách ghi lại chuỗi các phép gom nhóm có được K-meanschia đôi các nhóm, ta cũng có thể dùng bisecting K-means để tạo ra hierarchicalclustering
2.1.3 K-MEANS VÀ NHỮNG LOẠI NHÓM KHÁC NHAU
K-means và những biến thể của nó có một số hạn chế đối với việc tìm nhữngloại nhóm khác nhau Đặc biệt, K-means gặp khó khăn trong việc dò tìm các cácnhóm “tự nhiên”, khi các nhóm không có dạng hình cầu hay các kích thước khácnhau đáng kể Điều này được minh họa bởi hình 8.9, 8.10, và 8.11 Trong hình 8.9,K-means không thể tìm thấy ba nhóm tự nhiên vì một trong các nhóm lớn hơn rấtnhiều so với hai nhóm kia, và do đó, nhóm lớn hơn bị bẻ gãy, trong khi một trongcác nhóm nhỏ hơn kết hợp với phần gãy của nhóm lớn hơn Trong hình 8.10, K-means không thể tìm thấy ba nhóm tự nhiên vì hai nhóm nhỏ hơn dày đặc hơnnhiều so với nhóm lớn hơn Cuối cùng, trong hình 8.11, K-means tìm thấy hainhóm mà trộn lẫn các phần của hai nhóm tự nhiên vì các nhóm đó không có hìnhcầu
Sự khó khăn trong ba trường hợp này là hàm mục tiêu K-means không phùhợp cho các loại nhóm mà ta đang cố tìm vì nó được cực tiểu hóa bởi kích thướcbằng và độ dày đặc của các nhóm hình cầu hay bởi các nhóm phân tách rõ ràng.Tuy nhiên, những hạn chế này có thể khắc phục được, trong một số trường hợp,nếu người dùng bằng lòng chấp nhận phép gom nhóm mà chia những nhóm tựnhiên thành các nhóm con Hình 8.12 biểu diễn điều gì xảy ra với ba tập dữ liệutrước nếu ta tìm thấy sáu nhóm thay vì hai hay ba
Trang 222.1.4 NHỮNG ƯU ĐIỂM VÀ NHƯỢC ĐIỂM
K-means đơn giản và có thể dùng cho rất nhiều loại dữ liệu Nó cũng thật sựhiệu quả, thậm chí thực hiện nhiều lần chạy Một số biến thể, bao gồm bisectingK-means, thậm chí hiệu quả hơn, và ít bị ảnh hưởng hơn bởi vấn đề khởi tạo K-means không phù hợp cho tất cả các loại dữ liệu Tuy nhiên, K-means không thểxử lý các nhóm không là hình cầu hay các nhóm có kích thước và độ dày đặc khácnhau, mặc dù nó có thể tìm thấy các nhóm con nếu như đủ nhiều các nhóm đượcchỉ rõ K-means cũng có gặp vấn đề khi gom nhóm dữ liệu chứa những giá trịngoại lệ Tìm và loại bỏ các giá trị ngoại lệ có thể giúp đáng kể trong các trườnghợp như vậy Cuối cùng, K-means bị giới hạn đối với dữ liệu có trung tâm (center,
Trang 23centroid) Một kỹ thuật liên quan, K-medoid clustering, không có hạn chế này,nhưng tốn kém hơn
2.1.5 K-MEANS NHƯ MỘT VẤN ĐỀ TỐI ƯU HÓA
Ở đây, ta sẽ nghiên cứu sâu vào phương pháp toán đằng sau phương pháp means Phần này, có thể được bỏ qua mà không mất tính liên tục, đòi hỏi kiếnthức giải tích thông qua những đạo hàm riêng
K-Như đã đề cập từ trước, cho một hàm mục tiêu là “tối thiểu hóa SSE”, phépgom nhóm có thể coi như vấn đề tối ưu hóa Một cách để giải quyết vấn đề này –tìm một điều kiện tối ưu toàn cục – là đánh số tất cả các cách khả thi để chia cácđiểm vào các nhóm và sau đó chọn ra tập các nhóm mà thỏa mãn hàm mục tiêunhất, ví dụ, tối thiểu hóa SSE tổng Dĩ nhiên, cách vét cạn này là bất khả thi vềmặt tính toán và do đó, một cách tiếp cận thực tế hơn rất cần thiết, cho dù cáchtiếp cận đó tìm ra những giải pháp không đảm bảo tối ưu Một kỹ thuật, được biết
như gradient descent, dựa trên việc chọn một giải pháp ban đầu và sau đó lặp lại
hai bước sau: tính toán sự thay đổi đến giải pháp mà tối ưu hóa hàm mục tiêu nhấtvà sau đó cập nhật giải pháp
Ta giả sử rằng dữ liệu là một chiều, nghĩa là, dist(x, y) = |x – y| Điều này
thực chất không làm thay đổi bất cứ thứ gì, nhưng làm đơn giản hóa đáng kể kháiniệm
Đạo hàm của K-means như một thuật toán cực tiểu hóa SSE
Trong phần này, ta biểu diễn làm thế nào trung tâm trong thuật toán means có thể bắt nguồn toán học khi mà hàm lân cận là khoảng cách Euclid vàmục tiêu là tối thiểu hóa SSE Đặc biệt, ta điều tra làm thế nào ta có thể cập nhậtmột trung tâm nhóm tốt nhất để cho SSE được cực tiểu hóa Trong thuật ngữ toánhọc, ta sẽ cực tiểu hóa phương trình 8.1, ta sẽ lặp lại ở đây, đặc biệt cho dữ liệumột chiều
1
2
),
2)
()
(
1
2 1
i x C
i k
K
i x C
i k
k
x c x
c c x
c c
SSE
c
Trang 24k C
x k k C
x
m c x c
m x
Đạo hàm của K-means đối với SAE
Để biểu diễn rằng thuật toán K-means có thể áp dụng cho rất nhiều hàmmục tiêu khác nhau, ta xem làm thế nào để phân chia dữ liệu vào K nhóm mà tổngcác khoảng cách Manhattan (L1) của các điểm từ trung tâm của nhóm chúng đượctối thiểu hóa Ta đang tìm cách cực tiểu hóa tổng các sai số tuyệt đối L1 (SAE)theo phương trình dưới đây, với dist L1 là khoảng cách L1 Để đơn giản ý tưởng, tasử dụng dữ liệu một chiều, nghĩa là, dist L c i x
i
x c dist SAE
1
),(
k
x c c x
c c x
c c
SSE c
x
k k
c x sign x
c c
Nếu ta giải quyết cho ck, ta tìm c k median{xC k}, trung vị của các điểmtrong nhóm
Trang 252.2 AGGLOMERATIVE HIERARCHICAL
CLUSTERING (AHC)
Hierarchical Clustering Techniques là một phương pháp gom nhóm quantrọng thứ hai Như với K-means, cách tiếp cận này là những cái cũ có quan hệ vớinhau được kết hợp thành nhiều thuật toán gom nhóm, nhưng chúng vẫn còn đượcdùng phổ biến Có hai cách tiếp cận cơ bản cho một Hierarchical Clustering thôngthường:
Agglomerative: Bắt đầu với những điểm như là những nhóm độc lập, và tạimỗi bước, kết nối cặp nhóm lại với nhau Điều này yêu cầu định nghĩa được kháiniệm độ gần nhóm
Divisive: Bắt đầu với một nhóm bao gồm tất cả, và tại mỗi bước tách mộtnhóm cho đến khi chỉ còn những nhóm đơn phần tử Trong trường hợp này, chúng
ta cần quyết định nhóm nào để tách ra tại mỗi bước và làm thế nào để thực hiệnviệc tách đó Những kỹ thuật AHC là thông dụng nhất, và trong bài này, chúng tasẽ tập trung riêng trên những phương pháp này
Một Hierarchical Clustering thường biểu diễn bằng đồ thị sử dụng một câygiống như biểu đồ gọi là biểu đồ cây (dendrogram) Những biểu diễn gồm cả haiquan hệ nhóm và nhóm con và thứ tự nhóm được nối với nhau (quanh điểm tụ)hoặc tách (quan điềm chia nhỏ) Với những tập hợp điểm hai chiều như trong ví dụmà chúng ta sẽ sử dụng, một nhóm phân cấp cũng có thể được mô tả bằng đồ thiïsử dụng biểu đồ nhóm phân cấp Hình 8.13 biểu diễn một ví dụ của hai dạng nàycho tập hợp bốn điểm hai chiều Những điểm này được nhóm bằng Single Link sẽđược mô tả trong bài 8.3.2
2.2.1 THUẬT TOÁN AHC CƠ BẢN
Trang 26Nhiều kỹ thuật AHC biến đổi trên một approach đơn: bắt đầu với nhữngđiểm độc lập như những nhóm, kết nối hai nhóm lại cho đến khi chỉ còn lại mộtnhóm Cách tiếp cận này được trình bày trong thuật toán 8.3.
Thuật toán 8.3: Thuật toán AHC cơ bản
1 Tính toán ma trận độ gần, nếu cần thiết
2 Repeat
3 Nối hai nhóm lại
4 Cập nhập ma trận độ gần phản ánh độ gần của những
nhóm mới với nhóm gốc ban đầu
5 Until Chỉ còn lại một nhóm
Định nghĩa độ gần giữa các nhóm
Toán tử khóa của thuật toán 8.3 là tính toán độ gần giữa hai nhóm, và địnhnghĩa có khác nhau với những kỹ thuật AHC khác nhau mà ta sẽ thảo luận Độ gầnnhóm được định nghĩa theo dạng với những dạng đặc biệt của nhóm theo mộtnghĩa nào đó (xem 8.12) Ví dụ, nhiều kỹ thuật AHC như: Min, Max, GroupAverage, đến từ biểu diễn đồ thị cơ bản của những nhóm Min định nghĩa độ gầnnhóm là độ gần giữa hai điểm gần nhất trong hai nhóm khác nhau, hoặc sử dụngđồ thị, là cạnh gần nhất giữa hai nốt trong những tập nốt khác nhau Điều nàymang lại những nhóm tiếp giáp cơ bản như trong hình 8.2(c) Theo cách khác, Maxxem độ gần giữa hai điểm xa nhất trong những nhóm khác nhau là độ gần nhóm,hoặc dùng đồ thị, cạnh dài nhất giữa hai nốt trong hai tập nốt khác nhau (nếu độgần là khoảng cách, khi đó Min và Max được xem là short và suggestive Tươngtự, tuy nhiên với những giá trị cao hơn chỉ ra những điểm gần hơn, những cái tênhiểu ngược lại với những lý do này, chúng ta thường dùng những tên theo cáchkhác hơn lần lượt là Single Link và Complete Link) Với cách tiếp cận cơ bảnkhác, kỹ thuật Group Average định nghĩa độ gần nhóm là độ gần trung bình củatất cả các cặp điểm ở hai nhóm khác nhau
Trang 27Hình 8.14 minh họa ba cách tiếp cận này Đối với Centroid (trọng tâm), địnhnghĩa khác của độ gần nhóm tự nhiên hơn Khi dùng trọng tâm, độ gần nhóm đượcđịnh nghĩa một cách bình thường là độ gần giữa các trọng tâm của nhóm Một kỹthuật khác nữa, phương pháp Ward, cũng giả sử rằng một nhóm được biểu diễn bởitrọng tâm của nó Nhưng đại lượng độ gần giữa hai nhóm xem là độ tăng SSE màcó được khi nối hai nhóm lại với nhau Giống như K-means, phương pháp Wardtính tổng bình phương khoảng cách nhỏ nhất từ những trọng tâm của chúng.
Độ phức tạp không gian và thời gian
Thuật toán AHC này chỉ biểu diễn khi sử dụng ma trận độ gần Điều này đòi
hỏi lưu trữ độ gần ½ m 2 (giả sử ma trận độ gần là đối xứng), với m là số điểm dữ
liệu Không gian cần thiết để giữ track của những nhóm là tỷ lệ với số nhóm, là
m-1 ngoại trừ những nhóm đơn phần tử Do đó độ phức tạp không gian là O(m 2 ).
Phân tích thuật toán AHC cũng đơn giản trong độ phức tạp tính toán Thời
gian O(m 2 ) được yêu cầu để tính ma trận độ gần Sau bước đó, có m-1 sự lặp lại
gồm bước 3 và bước 4 bởi vì có m nhóm lúc đầu và 2 nhóm được nối trong mỗi lần
mà chúng ta xem xét) Không cần chỉnh sửa, điều này mang lại độ phức tạp thời
gian là O(m 3 ) Nếu khoảng cách từ mỗi nhóm đến tất cả nhóm khác được lưu trữ
trong một danh sách đã sắp xếp (hoặc là đống (heap)), có thể đưa ra giá trị cho
việc tìm kiếm hai nhóm gần nhất là O(m-i+1) Tuy nhiên, bởi vì việc cộng thêm
độ phức tạp của dữ liệu được lưu giữ trong một danh sách sắp xếp hoặc heap, thờigian tổng cộng yêu cầu cho một Hierachical Clustering cơ bản trong thuật toán 8.3
là O(m 2 logm).
Độ phức tạp không gian và thời gian của Hierachical Clustering có giới hạntrên kích thước của tập dữ liệu mà có thể xử lý được Chúng ta thảo luận tiếp cậnmở rộng cho những thuật toán gom nhóm, bao gồm kỹ thuật HierachicalClustering, trong bài 9.5
2.2.2 NHỮNG KỸ THUẬT ĐẶC BIỆT
Dữ liệu mẫu
Để minh họa sự biểu diễn của những thuật toán Hierarchial Clustering khácnhau, chúng ta sẽ sử dụng dữ liệu mẫu gồm 6 điểm trong không gian 2 chiều, được
chỉ ra trong hình 8.15 Bảng 8.3 chỉ ra tọa độ x, y của các điểm và bảng 8.4 chỉ ra
khoảng cách Euclidean giữ chúng
Trang 28Single Link hoặc Min
Với phiên bản Single Link hoặc Min của Hierachical Clustering, độ gần của
2 nhóm được định nghĩa như là khoảng cách ngắn nhất (tương tự cho khoảng cáchlớn nhất) giữa 2 điểm bất kỳ trong 2 nhóm khác nhau Sử dụng ngôn ngữ đồ thị,nếu bạn bắt đầu với tất cả những điểm như những nhóm đơn phần tử và nối thêmvới điểm khác một cách lần lượt, đầu tiên là những đường nối ngắn nhất, khi đónhững Single Link này kết hợp những điểm này thành nhóm Kỹ thật Single Linknày tốt để tạo nên những hình non-elliptical, nhưng nó khó thực hiện khi có nhiễuvà những giá trị ngoại lệ
Ví dụ: Single Link