2010-02-27 24 views
26

Tôi đang cố gắng xem liệu hiệu suất của cả hai có thể được so sánh dựa trên các chức năng khách quan mà chúng hoạt động không?Sự khác biệt giữa hàm "k means" và "fuzzy c có nghĩa là gì"?

+7

Thôi nào! Không đóng ... phân cụm IS liên quan đến lập trình, ở cùng mức độ nói thuật toán sắp xếp hoặc câu hỏi về ngữ pháp chính thức! – mjv

Trả lời

22

BTW, thuật toán phân cụm Fuzzy-C-Means (FCM) còn được gọi là Mềm K-Means.

Chức năng mục tiêu hầu như giống hệt nhau, khác biệt duy nhất là giới thiệu vectơ thể hiện tỷ lệ phần trăm thuộc về một điểm nhất định cho từng cụm. Vector này được gửi đến một số mũ "cứng" nhằm mang lại tầm quan trọng hơn cho các kết nối mạnh hơn (và ngược lại với việc giảm thiểu trọng lượng của các kết nối yếu hơn); một cách không tự nhiên, khi hệ số độ cứng có xu hướng hướng tới vô cực, vector kết quả trở thành ma trận nhị phân, do đó làm cho mô hình FCM giống với mô hình của K-Means. Tôi nghĩ rằng ngoại trừ một số vấn đề có thể xảy ra với các cụm không có điểm gán cho chúng, có thể mô phỏng thuật toán K-Means bằng thuật toán FCM bằng cách mô phỏng một hệ số độ cứng vô hạn (= bằng cách giới thiệu một hàm làm thay đổi giá trị lớn nhất trong vectơ thành 1 và các giá trị khác thay vì số mũ của vector). Tất nhiên đây là một cách rất hiệu quả khi chạy K-Means, vì thuật toán sau đó phải thực hiện nhiều thao tác như với một FCM thực (nếu chỉ với giá trị 1 và 0, điều này làm đơn giản hóa số học, nhưng không phức tạp)

Liên quan đến hiệu suất, do đó FCM cần thực hiện phép nhân k (nghĩa là số cụm) cho mỗi điểm, cho mỗi chiều không tính đến độ cứng. Điều này, cộng với chi phí cần thiết để tính toán và quản lý vector lân cận, giải thích tại sao FCM khá chậm hơn so với K-Means thuần túy.

Nhưng FCM/Soft-K-Means ít "ngu ngốc" so với Hard-K-Means khi nói đến các cụm dài (khi các điểm khác nhau trong các chiều khác có xu hướng phân tán theo một hoặc hai chiều cụ thể), Và đó là lý do tại sao nó vẫn còn xung quanh ;-)

Ngoài ra, tôi chỉ nghĩ về điều này, nhưng không đặt bất kỳ ý tưởng "toán học" vào nó, FCM có thể hội tụ nhanh hơn K-Means cứng, phần nào bù đắp yêu cầu tính toán lớn hơn của FCM.

+0

Tại sao FCM hội tụ nhanh hơn? Nó không thực sự hội tụ ở tất cả, bạn phải dừng lại ở một ngưỡng nhất định, khi các bài tập tương đối không còn thay đổi "đủ"; giống như nhóm GMM-EM. –

+0

@ Anony-Mousse: Cả FCM và K-Means _converge_, theo nghĩa toán học, đó là rất nhiều những gì bạn mô tả với 'khi các bài tập tương đối không còn thay đổi" đủ ".' Nói cách khác, giải pháp phân cụm được cung cấp bởi kế tiếp các lần lặp lại của các thuật toán này thay đổi rất nhiều, lúc đầu, từ một lần lặp sang bước tiếp theo, nhưng cuối cùng các thay đổi trở nên nhỏ hơn và nhỏ hơn khi hàm tiếp cận giới hạn của nó. Sẽ an toàn khi dừng lặp lại sau khi đạt được ngưỡng thay đổi thực tế vì hàm này hội tụ: lặp lại nhiều hơn sẽ không tạo ra kết quả khác biệt đáng kể ... – mjv

+0

... Điều tôi chưa thử và nghiên cứu là liệu FCM có thực sự hội tụ hay không nhanh hơn K-Means cứng. Nói cách khác, nếu phải mất ít lần lặp hơn với FCM (so với K-Means thuần túy) để đạt được giải pháp "ổn định" mong muốn. – mjv

16

K-Means clusteringFuzzy-C Means Clustering cũng rất giống phương pháp tiếp cận. Điểm khác biệt chính là, trong nhóm Fuzzy-C Means, mỗi điểm có trọng số liên kết với một cụm cụ thể, do đó, một điểm không nằm trong cụm sao có liên quan yếu hoặc mạnh đến cụm, được xác định bởi khoảng cách nghịch đảo đến tâm của cụm.

Fuzzy-C có nghĩa là có xu hướng chạy chậm hơn K có nghĩa là vì nó thực sự hoạt động nhiều hơn. Mỗi điểm được đánh giá với mỗi cụm, và nhiều hoạt động hơn được tham gia vào mỗi đánh giá. K-Means chỉ cần thực hiện một phép tính khoảng cách, trong khi mờ c nghĩa là cần phải thực hiện một trọng số nghịch đảo đầy đủ.

1

người đã viết kỹ thuật và mỗi câu trả lời đều được viết. Nhưng điều tôi muốn nói là giống như ngôn ngữ của giáo dân. K có nghĩa là cụm cụm toàn bộ tập dữ liệu vào số K của cụm nơi dữ liệu chỉ thuộc về một cụm. Fuzzy c-means tạo ra k số cụm và sau đó gán từng dữ liệu cho mỗi cụm, nhưng chúng sẽ là một yếu tố sẽ xác định mức độ mạnh của dữ liệu thuộc về cụm đó.

Các vấn đề liên quan