聚類之詳解FCM演算法原理及應用
阿新 • • 發佈:2019-01-19
【之前】 該文的pdf清晰版已被整理上傳,方便儲存學習,下載地址:
(一)原理部分
模糊C均值(Fuzzy C-means)演算法簡稱FCM演算法,是一種基於目標函式的模糊聚類演算法,主要用於資料的聚類分析。理論成熟,應用廣泛,是一種優秀的聚類演算法。本文關於FCM演算法的一些原理推導部分介紹等參考下面視訊,加上自己的理解以文字的形式呈現出來,視訊參考如下,比較長,看不懂的可以再去看看:
首先介紹一下模糊這個概念,所謂模糊就是不確定,確定性的東西是什麼那就是什麼,而不確定性的東西就說很像什麼。比如說把20歲作為年輕不年輕的標準,那麼一個人21歲按照確定性的劃分就屬於不年輕,而我們印象中的觀念是21歲也很年輕,這個時候可以模糊一下,認為21歲有0.9分像年輕,有0.1分像不年輕,這裡0.9與0.1不是概率,而是一種相似的程度,把這種一個樣本屬於結果的這種相似的程度稱為樣本的隸屬度,一般用u表示,表示一個樣本相似於不同結果的一個程度指標。
基於此,假定資料集為X,如果把這些資料劃分成c類的話,那麼對應的就有c個類中心為C,每個樣本j屬於某一類i的隸屬度為,那麼定義一個FCM目標函式(1)及其約束條件(2)如下所示:
看一下目標函式(式1)而知,由相應樣本的隸屬度與該樣本到各個類中心的距離相乘組成的,m是一個隸屬度的因子,個人理解為屬於樣本的輕緩程度,就像與這種一樣。式(2)為約束條件,也就是一個樣本屬於所有類的隸屬度之和要為1。觀察式(1)可以發現,其中的變數有
這裡首先採用拉格朗日乘數法將約束條件拿到目標函式中去,前面加上係數,並把式(2)的所有j展開,那麼式(1)變成下列所示:
現在要求該式的目標函式極值,那麼分別對其中的變數求導數,首先對求導。
分析式(3),先對第一部分的兩級求和的求導,對求和形式下如果直接求導不熟悉,可以把求和展開如下: