1. 程式人生 > >FCM 模糊C均值聚類演算法

FCM 模糊C均值聚類演算法

首先FCM在影象分割領域有很多應用,FCM演算法我覺得主要是兩個部分,一個是模糊理論,一個是C/Kmean演算法,這兩者在數學家手中完美的結合。

下面切入整體,我也是為了溫故才寫的這篇部落格,如有錯誤或者瑕疵的地方歡迎指出。話說有一個集合,甭管是啥,但是如果你是影象分割的話,那這個集合就是畫素了xi(i=1,2,3,...,n),分為C個類,這個時候如果不想採用監督式學習的話,聚類是個非常好的選擇,突然想到之前研究的FCN(全卷積神經網路)演算法,那是畫素級別的分割,效果也是槓槓的,但是這類監督式學習演算法有個致命的缺點是需要大規模的標註,而且還是畫素級別的標註,不知道是不是有什麼工具可以方便的進行,不然光靠人工可都是淚(累)啊。又或者能不能用這類無監督的聚類演算法對樣本進行初始的標註,然後再進行調整呢?

       1.xi(i=1,2,3,...,n),分為C個類,並求每個類的中心,使得非相似性指標達到最小(人話就是使得距離的和達到最小),就是要保證第Ci類中的的各個原子都緊緊得團結在黨的周圍。如果不加入模糊的概念那一個集合中的元素是0/1,但是加入模糊理論之後,每個元素是[0,1]範圍內的某個值,且這個元素所有的隸屬度值加起來和為1(1) 這個等式是一個條件

下面在上我們的優化目標(2)其中為隸屬度m為加權指數,(距離),

我覺得(2)式的意思是我們的目標函式要保證(c1類中的所有元素*u+c2類中的所有元素+...+cn類中的所有元素)的和最小是我們的優化目標,更詳細的來講就是要保證ci類(Lx1x1*u1+Lx2*u2+Lx3*u3+...+)最小,Lx1是距離,及度量標準。

    下面就是一個優化的問題了(最優控制要好好學啊大哭),首先我們有(1)這個條件等式,還有目標函式,這個時候拉格朗日大法體現出價值了,這個個條件極值問題,我們根據拉格朗日大法得到如下(3)

下面對變數求導,得到要想使目標函式最小必須滿足以下條件(4)(5)

下面就需要不斷的迭代來更新這兩個值:第一步:初始化隸屬度u使其滿足(1)的約束條件

                                                                                第二步:用(4)來計算每類的中心ci

 第三步:計算目標函式,如果小於設定的閾值則停止迭代

         第四步:依據(5)來計算新的隸屬度,並返回第二步執行