模糊C均值聚類-FCM算法


FCM(fuzzy c-means)

模糊c均值聚類融合了模糊理論的精髓。相較於k-means的硬聚類,模糊c提供了更加靈活的聚類結果。因為大部分情況下,數據集中的對象不能划分成為明顯分離的簇,指派一個對象到一個特定的簇有些生硬,也可能會出錯。故,對每個對象和每個簇賦予一個權值,指明對象屬於該簇的程度。當然,基於概率的方法也可以給出這樣的權值,但是有時候我們很難確定一個合適的統計模型,因此使用具有自然地、非概率特性的模糊c均值就是一個比較好的選擇。

聚類損失函數:

N個樣本,分為C類。C是聚類的簇數;i,j是標號;表示 樣本i 屬於 j類 的隸屬度。

xi表示第i個樣本,xi是具有d維特征的一個樣本。cj是j簇的中心,也具有d維度。||*||可以是任意表示距離的度量。

 

模糊c是一個不斷迭代計算隸屬度簇中心的過程,直到他們達到最優。

對於單個樣本xi,它對於每個簇的隸屬度之和為1。

迭代的終止條件為:

其中k是迭代步數,\varepsilon是誤差閾值。上式含義是,繼續迭代下去,隸屬程度也不會發生較大的變化。即認為隸屬度不變了,已經達到比較優(局部最優或全局最優)狀態了。

該過程收斂於目標Jm的局部最小值或鞍點。

拋開復雜的算式,這個算法的意思就是:給每個樣本賦予屬於每個簇的隸屬度函數。通過隸屬度值大小來將樣本歸類

算法步驟:

1、初始化

2、計算質心

FCM中的質心有別於傳統質心的地方在於,它是以隸屬度為權重做一個加權平均。

3、更新隸屬度矩陣

 

 

 

 

 

b一般取2。

 

【轉載自】

Fuzzy C-Means(模糊C均值聚類)算法原理詳解與python實現 - Yancy的博客 - CSDN博客 https://blog.csdn.net/lyxleft/article/details/88964494

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM