Chọn phương pháp phân cụm


73

Khi sử dụng phân tích cụm trên một tập dữ liệu để nhóm các trường hợp tương tự, người ta cần chọn trong số lượng lớn các phương pháp phân cụm và đo khoảng cách. Đôi khi, một lựa chọn có thể ảnh hưởng đến lựa chọn khác, nhưng có nhiều cách kết hợp phương pháp có thể.

Có ai có bất kỳ khuyến nghị nào về cách chọn trong số các thuật toán / phương pháp phân cụmcác biện pháp khoảng cách khác nhau không? Làm thế nào điều này có liên quan đến bản chất của các biến (ví dụ, phân loại hoặc số) và vấn đề phân cụm? Có một kỹ thuật tối ưu?


1
Bạn có thể cố gắng đưa ra mô tả cụ thể hơn về những gì bạn muốn cụm? hoặc nó chỉ là một trạng thái của nghệ thuật trong cụm mà bạn cần?
cướp girard

2
Tôi không có một ứng dụng ngay lập tức trong tâm trí. Tôi chỉ quan tâm đến một cách tiếp cận chung để chọn một phương pháp phân cụm và đo lường sự tương đồng.
Brett

Kiểm tra câu hỏi tương tự này .
ttnphns

một số hãy cẩn thận wrt phương pháp phân cụm phân cấp cụ thể.
ttnphns

Câu trả lời:


43

Không có câu trả lời dứt khoát cho câu hỏi của bạn, vì ngay cả trong cùng một phương pháp, việc lựa chọn khoảng cách để thể hiện sự tương đồng của từng cá nhân có thể mang lại kết quả khác nhau, ví dụ như khi sử dụng euclidean so với bình phương euclidean trong phân cụm. Một ví dụ khác, đối với dữ liệu nhị phân, bạn có thể chọn chỉ số Jaccard làm thước đo độ tương tự và tiến hành phân cụm theo thứ bậc cổ điển; nhưng có những cách tiếp cận khác, như Mona ( Phân tích Monothetic) thuật toán chỉ xem xét một biến tại một thời điểm, trong khi các phương pháp phân cấp khác (ví dụ HC cổ điển, Agnes, Diana) sử dụng tất cả các biến ở mỗi bước. Cách tiếp cận k-mean đã được mở rộng theo nhiều cách khác nhau, bao gồm phân vùng xung quanh medoid (PAM) hoặc các đối tượng đại diện thay vì centroid (Kaufman và Rousseuw, 1990), hoặc phân cụm mờ (Chung và Lee, 1992). Ví dụ, sự khác biệt chính giữa phương tiện k và PAM là PAM giảm thiểu một số điểm khác nhau thay vì tổng khoảng cách euclid bình phương; phân cụm mờ cho phép xem xét "thành viên một phần" (chúng tôi liên kết với mỗi quan sát một trọng số phản ánh tư cách thành viên của lớp). Và đối với các phương pháp dựa trên khung xác suất, hay còn gọi là phân cụm dựa trên mô hình (hoặc phân tích hồ sơ tiềm ẩnđối với các nhà tâm lý học), có một gói tuyệt vời: Mclust . Vì vậy, dứt khoát, bạn cần xem xét cách xác định sự giống nhau của các cá nhân cũng như phương pháp liên kết các cá nhân với nhau (phân cụm đệ quy hoặc lặp, thành viên lớp nghiêm ngặt hoặc mờ, cách tiếp cận không giám sát hoặc bán giám sát, v.v.).

Thông thường, để đánh giá tính ổn định của cụm, thật thú vị khi so sánh một số thuật toán về cơ bản "chia sẻ" một số điểm tương đồng (ví dụ: phương tiện k và phân cụm theo thứ bậc, bởi vì khoảng cách euclide hoạt động cho cả hai). Để đánh giá sự phù hợp giữa hai giải pháp cụm, một số gợi ý đã được đề xuất để trả lời cho câu hỏi này, Cắt dendrogram ở đâu? (xem thêm các tài liệu tham khảo chéo cho liên kết khác trên trang web này). Nếu bạn đang sử dụng R, bạn sẽ thấy rằng một số gói đã có sẵn trong Chế độ xem tác vụ trên Phân tích cụm và một số gói bao gồm các họa tiết giải thích các phương pháp cụ thể hoặc cung cấp nghiên cứu trường hợp.

Phân tích cụm: Các khái niệm và thuật toán cơ bản cung cấp một cái nhìn tổng quan tốt về một số kỹ thuật được sử dụng trong Phân tích cụm. Đối với một cuốn sách hay gần đây có hình minh họa R, tôi muốn giới thiệu chương 12 của Izenman, Kỹ thuật thống kê đa biến hiện đại (Springer, 2008). Một vài tài liệu tham khảo tiêu chuẩn khác được đưa ra dưới đây:

  • Cormack, R., 1971. Một đánh giá về phân loại. Tạp chí của Hiệp hội Thống kê Hoàng gia, A 134, 321 HO367.
  • Everitt, B., 1974. Phân tích cụm . Luân Đôn: Giáo dục Heinemann. Sách.
  • Gordon, A., 1987. Một đánh giá về phân loại thứ bậc. Tạp chí của Hiệp hội Thống kê Hoàng gia, A 150, 119 Tốt137.
  • Gordon, A., 1999. Phân loại , tái bản lần 2. Chapman và Hội trường.
  • Kaufman, L., Rousseuw, P., 1990. Tìm nhóm trong dữ liệu: Giới thiệu về phân tích cụm . New York, Wiley.

30

Một trích dẫn từ Hastie, Tibshirani và Friedman, Các yếu tố của học thống kê , tr. 506:

"Một biện pháp khác biệt thích hợp là quan trọng hơn nhiều trong việc đạt được thành công với phân cụm hơn là lựa chọn thuật toán phân cụm. Khía cạnh của vấn đề này ... phụ thuộc vào kiến ​​thức cụ thể của miền và ít được chấp nhận trong nghiên cứu chung."

(Điều đó nói rằng, sẽ không hay nếu (wibni) có một trang web nơi sinh viên có thể thử một vài thuật toán và số liệu trên một vài bộ dữ liệu tiêu chuẩn nhỏ?)


Cảm ơn chi; bạn có thể đề xuất một thẻ cho "ví dụ có thể chạy trên web" không?
chối

Bạn có nghĩa là để thử lại câu hỏi (Tôi không nghĩ rằng đó là một ý tưởng hay vì OP không có sau các công cụ đo điểm chuẩn trực tuyến, IMO) hoặc cho một câu hỏi mới mà bạn muốn hỏi? Dù sao, tôi không có ý tưởng về một thẻ tốt vào lúc này. Hỏi về Meta?
chl

1
Trích dẫn này có thể gây hiểu nhầm - rõ ràng nó không áp dụng cho các ví dụ (được thừa nhận) trên wikipedia . Do cụm phi tuyến tính mạnh trong tập dữ liệu thứ hai, các thuật toán phân cụm liên kết và mật độ hoạt động tốt hơn nhiều so với bất kỳ phương pháp dựa trên centroid nào. Không có biện pháp tương tự nào sẽ làm cho sơ đồ phân cụm centroid hoạt động tốt hơn. Báo giá này chỉ được áp dụng nếu bạn giả sử các cụm là gần như tuyến tính (đôi khi là một giả định an toàn). Tôi muốn đề nghị kiểm tra trực quan dữ liệu của bạn trước, nếu có thể.
ness101

@ naught101, chắc chắn - kiểm tra trực quan dữ liệu để thấy sự tương đồng / không giống nhau là quan trọng nhất, nhưng nói dễ hơn làm
chối

Trích dẫn này là từ phiên bản nào? bạn có thể đưa ra công ty trích dẫn của nó
MonsterMMORPG

12

Bạn không thể biết trước thuật toán phân cụm nào sẽ tốt hơn, nhưng có một số manh mối, ví dụ nếu bạn muốn phân cụm hình ảnh, có một số thuật toán nhất định bạn nên thử trước tiên như Fuzzy Art hoặc nếu bạn muốn nhóm khuôn mặt, bạn nên bắt đầu với phân cụm hình học toàn cầu (GGCI) cho hình ảnh.

Dù sao, điều này không đảm bảo kết quả tốt nhất, vì vậy, những gì tôi sẽ làm là sử dụng một chương trình cho phép bạn chạy một cách có phương pháp các thuật toán cụm khác nhau, chẳng hạn như weka, RapidMiner hoặc thậm chí R (không trực quan), tôi sẽ đặt chương trình thành khởi chạy tất cả các thuật toán phân cụm khác nhau mà tôi có thể, với tất cả các khoảng cách khác nhau có thể và nếu chúng cần các tham số, hãy thử nghiệm từng thuật toán với nhiều giá trị tham số khác nhau (ngoài ra nếu tôi không biết số lượng cụm, hãy chạy từng cụm với nhiều loại số của nó). Khi bạn đã giải quyết thử nghiệm, hãy để nó chạy, nhưng nhớ lưu trữ ở đâu đó kết quả của mỗi lần chạy cụm.

Sau đó so sánh các kết quả để có được phân cụm kết quả tốt nhất. Điều này là khó khăn vì có một số số liệu bạn có thể so sánh và không phải tất cả đều được cung cấp bởi mọi thuật toán. Ví dụ: thuật toán phân cụm mờ có các số liệu khác với không mờ, nhưng chúng vẫn có thể được so sánh bằng cách xem xét các nhóm kết quả mờ là không mờ, tôi sẽ sử dụng để so sánh với các số liệu cổ điển như:

• SSE: tổng lỗi vuông từ các mục của mỗi cụm.

• Khoảng cách giữa các cụm: tổng khoảng cách vuông giữa mỗi trung tâm cụm.

• Khoảng cách cụm nội bộ cho mỗi cụm: tổng khoảng cách vuông từ các mục của mỗi cụm đến tâm của nó.

• Maximum Radius: khoảng cách lớn nhất từ ​​một thể hiện đến trọng tâm cụm của nó.

• Bán kính trung bình: tổng khoảng cách lớn nhất từ ​​một thể hiện đến trọng tâm cụm của nó chia cho số lượng cụm.


4

Chọn khoảng cách phù hợp không phải là một nhiệm vụ cơ bản. Khi chúng tôi muốn thực hiện phân tích cụm trên một tập dữ liệu, các kết quả khác nhau có thể xuất hiện bằng các khoảng cách khác nhau, do đó, điều rất quan trọng là phải chọn khoảng cách nào vì chúng tôi có thể tạo ra một vật phẩm giả tốt có thể nắm bắt tốt sự biến đổi, nhưng thực tế không có ý nghĩa trong vấn đề của chúng tôi.

Các khoảng cách Euclide là thích hợp khi tôi có các biến số liên tục và tôi muốn phản ánh khoảng cách tuyệt đối. Khoảng cách này tính đến mọi biến số và không loại bỏ các dư thừa, vì vậy nếu tôi có ba biến giải thích giống nhau (có tương quan), tôi sẽ cân nhắc hiệu ứng này bằng ba. Hơn nữa, khoảng cách này không phải là bất biến tỷ lệ, vì vậy nói chung tôi phải chia tỷ lệ trước đó để sử dụng khoảng cách.
Ví dụ sinh thái học: Chúng tôi có những quan sát khác nhau từ nhiều địa phương, trong đó các chuyên gia đã lấy mẫu của một số yếu tố vi sinh, vật lý và hóa học. Chúng tôi muốn tìm các mô hình trong hệ sinh thái. Các yếu tố này có mối tương quan cao, nhưng chúng tôi biết mọi người đều có liên quan, vì vậy chúng tôi không muốn loại bỏ những dư thừa này. Chúng tôi sử dụng khoảng cách Euclide với dữ liệu được thu nhỏ để tránh ảnh hưởng của các đơn vị.

Các khoảng cách Mahalanobis là thích hợp khi tôi có các biến số liên tục và tôi muốn phản ánh khoảng cách tuyệt đối, nhưng chúng tôi muốn loại bỏ dư thừa. Nếu chúng ta có các biến lặp lại, hiệu ứng lặp đi lặp lại của chúng sẽ biến mất.

Gia đình Hellinger , Hồ sơ loàikhoảng cách hợp âm là phù hợp khi chúng ta muốn nhấn mạnh vào sự khác biệt giữa các biến, khi chúng ta muốn phân biệt các cấu hình. Các khoảng cách này có trọng số theo tổng số lượng của mỗi quan sát, theo cách mà khoảng cách là nhỏ khi biến đổi theo các biến, các cá thể giống nhau hơn, mặc dù ở cường độ tuyệt đối rất khác nhau. Cẩn thận! Những khoảng cách này phản ánh rất rõ sự khác biệt giữa các cấu hình, nhưng mất đi hiệu ứng cường độ. Chúng có thể rất hữu ích khi chúng ta có các cỡ mẫu khác nhau. Ví dụ sinh thái học: Chúng tôi muốn nghiên cứu hệ động vật của nhiều vùng đất và chúng tôi có một ma trận dữ liệu của một kho lưu trữ của dạ dày (lấy mẫu các vị trí trong các hàng và tên loài trong các cột). Ma trận được đặc trưng bởi có nhiều số không và cường độ khác nhau vì một số địa phương có một số loài và những loài khác có loài khác. Chúng ta có thể sử dụng khoảng cách Hellinger.

Bray-Curtis khá giống nhau, nhưng nó phù hợp hơn khi chúng ta muốn phân biệt các cấu hình và cũng tính đến độ lớn tương đối.


1
Vui lòng đăng ký & / hoặc hợp nhất các tài khoản của bạn 1 2 (bạn có thể tìm thấy thông tin về cách thực hiện việc này trong phần Tài khoản của tôi trong trung tâm trợ giúp của chúng tôi ). Sau đó, bạn sẽ có thể theo dõi câu trả lời của mình, câu trả lời cho họ, v.v., và các lợi ích khác nữa. Vì bạn là người mới ở đây, bạn có thể muốn tham quan chúng tôi , nơi có thông tin cho người dùng mới.
gung - Phục hồi Monica

Bạn đã xuất bản các câu trả lời thống kê giống hệt nhau.stackexchange.com/a/253268 / 3277 trước đó trong một chủ đề tương tự. Câu trả lời trùng lặp không được coi là công bằng. Tôi sẽ đề nghị bạn xóa cái hiện tại. Nhưng bạn có thể và được hoan nghênh gửi một liên kết đến (các) câu trả lời khác của bạn - như nhận xét bên dưới câu hỏi của OP hoặc là; có một số câu trả lời trong một chủ đề hiện tại.
ttnphns

2

Theo như tôi quan tâm, nếu bạn muốn có sự lựa chọn an toàn, các phương pháp phân cụm phổ đã đạt được tỷ lệ chính xác cao nhất trong những năm gần đây - ít nhất là trong phân cụm ảnh.

Đối với số liệu khoảng cách, nó phụ thuộc rất nhiều vào cách tổ chức dữ liệu của bạn. Sự lựa chọn an toàn là khoảng cách euclide đơn giản nhưng nếu bạn biết dữ liệu của mình chứa đa tạp, bạn nên ánh xạ các điểm thông qua các phương thức kernel.

PS: tất cả chúng đều liên quan đến các giá trị số, không phân loại. Tôi không chắc chắn làm thế nào một người sẽ đi về phân cụm dữ liệu phân loại.


2

Dưới đây là tóm tắt của một số thuật toán phân cụm có thể giúp trả lời câu hỏi

"tôi nên sử dụng kỹ thuật phân cụm nào?"

Không có một cách khách quan "đúng" thuật toán phân nhóm Ref

Các thuật toán phân cụm có thể được phân loại dựa trên "mô hình cụm" của chúng. Một thuật toán được thiết kế cho một loại mô hình cụ thể thường sẽ thất bại trên một loại mô hình khác. Ví dụ, k-nghĩa là không thể tìm thấy các cụm không lồi, nó chỉ có thể tìm thấy các cụm hình tròn.

Do đó, việc hiểu các "mô hình cụm" này trở thành chìa khóa để hiểu cách lựa chọn giữa các thuật toán / phương pháp phân cụm khác nhau. Các mô hình cụm điển hình bao gồm:

[1] Mô hình kết nối: Xây dựng mô hình dựa trên kết nối khoảng cách. Ví dụ: phân cụm phân cấp. Được sử dụng khi chúng ta cần phân vùng khác nhau dựa trên chiều cao cắt cây. Hàm R: hclust trong gói thống kê.

[2] Các mô hình Centroid: Xây dựng các mô hình bằng cách biểu diễn mỗi cụm bằng một vectơ trung bình duy nhất. Được sử dụng khi chúng ta cần phân vùng rõ nét (trái ngược với phân cụm mờ được mô tả sau). Hàm R: kmeans trong gói thống kê.

[3] Mô hình phân phối: Xây dựng các mô hình dựa trên các phân phối thống kê, chẳng hạn như phân phối bình thường đa biến được sử dụng bởi thuật toán tối đa hóa kỳ vọng. Được sử dụng khi hình dạng cụm có thể tùy ý không giống như k-nghĩa là giả định cụm tròn. Hàm R: emcluster trong gói emcluster.

[4] Các mô hình mật độ: Xây dựng các mô hình dựa trên các cụm như các vùng dày đặc được kết nối trong không gian dữ liệu. Ví dụ: DBSCAN và QUANG HỌC. Được sử dụng khi hình dạng cụm có thể tùy ý không giống như k-nghĩa là giả định cụm tròn .. Hàm R dbscan trong gói dbscan.

[5] Các mô hình không gian con: Xây dựng các mô hình dựa trên cả các thành viên cụm và các thuộc tính có liên quan. Ví dụ: biclustering (còn được gọi là co-clustering hoặc hai chế độ phân cụm). Được sử dụng khi cần phân cụm hàng và cột đồng thời. R chức năng biclust trong gói biclust.

[6] Mô hình nhóm: Xây dựng mô hình dựa trên thông tin nhóm. Ví dụ: lọc cộng tác (thuật toán giới thiệu). Chức năng R recommender trong gói recommenderlab.

[7] Mô hình dựa trên đồ thị: Xây dựng mô hình dựa trên cụm. Các thuật toán phát hiện cấu trúc cộng đồng cố gắng tìm các sơ đồ con dày đặc trong các đồ thị có hướng hoặc không có hướng. Ví dụ: hàm R cluster_walktrap trong gói igraph.

[8] Bản đồ tính năng tự tổ chức của Kohonen: Xây dựng các mô hình dựa trên mạng lưới thần kinh. Hàm R som trong gói kohonen.

[9] Phân cụm phổ: Xây dựng các mô hình dựa trên cấu trúc cụm không lồi hoặc khi một thước đo của tâm không phải là mô tả phù hợp của cụm hoàn chỉnh. Hàm R specc trong gói kernlab.

[10] phân cụm không gian con: Đối với dữ liệu chiều cao, các hàm khoảng cách có thể có vấn đề. mô hình cụm bao gồm các thuộc tính có liên quan cho cụm. Ví dụ, hàm hddc trong gói HD classif.

[11] Phân cụm trình tự: Trình tự nhóm có liên quan. gói rBlast.

[12] Lan truyền mối quan hệ: Xây dựng các mô hình dựa trên thông điệp truyền giữa các điểm dữ liệu. Nó không yêu cầu số lượng cụm được xác định trước khi chạy thuật toán. Nó là tốt hơn cho tầm nhìn nhất định máy tính và nhiệm vụ sinh học tính toán, ví dụ như phân nhóm của hình ảnh của khuôn mặt con người và xác định các bảng điểm quy định, hơn k-means, Ref Rpackage APCluster.

[13] Phân cụm luồng: Xây dựng các mô hình dựa trên dữ liệu đến liên tục như hồ sơ điện thoại, giao dịch tài chính, v.v. Ví dụ: gói R BIRCH [ https://cran.r-project.org/src/contrib/Archive/birch/]

[14] Phân cụm tài liệu (hoặc phân cụm văn bản): Xây dựng các mô hình dựa trên SVD. Nó đã được sử dụng trong khai thác chủ đề. Ví dụ: Carrot [ http://search.carrot2.org] là một công cụ phân cụm kết quả tìm kiếm nguồn mở có thể phân cụm các tài liệu thành các danh mục theo chủ đề.

[15] Mô hình lớp tiềm ẩn: Nó liên quan một tập hợp các biến đa biến quan sát với một tập hợp các biến tiềm ẩn. LCA có thể được sử dụng trong lọc cộng tác. Chức năng R recommender trong gói recommenderlab có chức năng lọc cộng tác.

[16] Tạo bóng đèn: Được sử dụng để đồng thời phân cụm các hàng và cột của dữ liệu hai chế độ. Ví dụ R chức năng biclust trong gói biclust.

[17] Phân cụm mềm (phân cụm mờ): Mỗi đối tượng thuộc về mỗi cụm ở một mức độ nhất định. Ví dụ: hàm R Fclust trong gói fclust.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.