Dường như đối với phương tiện K và các thuật toán liên quan khác, việc phân cụm dựa trên việc tính toán khoảng cách giữa các điểm. Có một cái mà làm việc mà không có nó?
Dường như đối với phương tiện K và các thuật toán liên quan khác, việc phân cụm dựa trên việc tính toán khoảng cách giữa các điểm. Có một cái mà làm việc mà không có nó?
Câu trả lời:
Một ví dụ về phương pháp như vậy là Mô hình hỗn hợp hữu hạn (ví dụ ở đây hoặc ở đây ) được sử dụng để phân cụm. Trong FMM bạn xem xét sự phân bố ( ) của biến của bạn X là một hỗn hợp của K phân phối ( f 1 , . . . , F k ):
nơi là một vector của các tham số θ = ( π ' , θ ' 1 , . . . , θ ' k ) ' và là một tỷ lệ k 'th phân phối trong hỗn hợp và θ k là một tham số (hoặc các thông số) của phân phối f k .
Một trường hợp cụ thể cho dữ liệu rời rạc là Phân tích lớp tiềm ẩn (ví dụ ở đây ) được định nghĩa là:
Trong đó là xác suất quan sát lớp tiềm ẩn k (tức là π k ), P ( x ) là xác suất quan sát giá trị x và P ( x | k ) là xác suất của x nằm trong lớp k .
Thông thường cho cả thuật toán FMM và LCA EM được sử dụng để ước tính, nhưng phương pháp Bayes cũng có thể, nhưng đòi hỏi nhiều hơn một chút vì các vấn đề như nhận dạng mô hình và chuyển đổi nhãn (ví dụ blog của Xi'an ).
Vì vậy, không có thước đo khoảng cách mà thay vào đó là một mô hình thống kê xác định cấu trúc (phân phối) dữ liệu của bạn. Do đó, tên khác của phương thức này là "phân cụm dựa trên mô hình".
Kiểm tra hai cuốn sách về FMM:
Một trong hầu hết các gói phân nhóm phổ biến có sử dụng FMM được mclust
(kiểm tra ở đây hoặc ở đây ) được thực hiện trong R . Tuy nhiên, FMM phức tạp hơn cũng có thể, kiểm tra ví dụ flexmix
gói và tài liệu của nó . Đối với LCA có gói R poLCA .
K-mean không phải là "thực sự" khoảng cách dựa. Nó giảm thiểu phương sai . (Nhưng đúng bình phương khoảng cách Euclide, vì thế tất cả các điểm được giao cho trọng tâm khu vực gần theo khoảng cách Euclide, quá).
Có rất nhiều cách tiếp cận phân cụm dựa trên lưới . Họ không tính toán khoảng cách vì điều đó thường mang lại thời gian chạy bậc hai. Thay vào đó, họ phân vùng dữ liệu và tổng hợp nó thành các ô lưới. Nhưng trực giác đằng sau những cách tiếp cận như vậy thường liên quan rất chặt chẽ đến khoảng cách.
Có một số thuật toán phân cụm cho dữ liệu phân loại như COOLCAT và STUCCO. Khoảng cách không dễ sử dụng với dữ liệu đó (mã hóa một lần nóng là hack và không mang lại khoảng cách đặc biệt có ý nghĩa). Nhưng tôi chưa nghe thấy ai sử dụng các thuật toán này ...
Có các cách tiếp cận phân cụm cho đồ thị. Nhưng chúng có thể giảm đến các vấn đề đồ thị cổ điển như tìm kiếm clique hoặc gần clique và tô màu đồ thị, hoặc chúng được kết nối chặt chẽ với phân cụm dựa trên khoảng cách (nếu bạn có một biểu đồ có trọng số).
Phân cụm dựa trên mật độ như DBSCAN có một tên khác và không tập trung vào việc thu nhỏ khoảng cách; nhưng "mật độ" thường được chỉ định liên quan đến khoảng cách, vì vậy về mặt kỹ thuật, các thuật toán này là dựa trên khoảng cách hoặc dựa trên lưới.
Phần thiết yếu của câu hỏi mà bạn để lại là dữ liệu của bạn là gì?
Ngoài các câu trả lời hay trước đây, tôi sẽ đề nghị xem xét các mô hình hỗn hợp Dirichlet và các mô hình quy trình Dirichlet phân cấp dựa trên Bayes . Để biết tổng quan khá toàn diện và tổng quát về các phương pháp và phương pháp xác định số lượng cụm tối ưu , vui lòng xem câu trả lời xuất sắc này trên StackOverflow : /programming//a/15376462/2872891 .
Một cách tiếp cận hoàn toàn phân biệt đối xử là "tối đa hóa thông tin thường xuyên" của Gomes et al . Không có khái niệm về sự giống nhau / khoảng cách liên quan đến nó.
Ý tưởng là có một hồi quy logistic như mô hình đặt các điểm vào thùng. Nhưng thay vì đào tạo nó để tối đa hóa một số dạng khả năng đăng nhập của các nhãn lớp, hàm mục tiêu là một hàm đặt các điểm vào các cụm khác nhau.
Mở rộng cho các phương thức kernel hoặc mạng nơ ron để phân cụm phi tuyến tính rất đơn giản.