1. 程式人生 > >FCM聚類演算法

FCM聚類演算法

FCM聚類演算法

知識準備

聚類演算法: 聚類分析又稱群分析,它是研究(樣品或指標)分類問題的一種統計分析方法,同時也是資料探勘的一個重要演算法。顧名思義,就是將一些具有相似性質的資料劃分到一起,得到多個具有不同性質的資料類集合。
模糊集合: 模糊集合是用來表達模糊性概念的集合。 又稱模糊集、模糊子集。普通的集合是指具有某種屬性的物件的全體。這種方法把待考察的物件及反映它的模糊概念作為一定的模糊集合,建立適當的隸屬函式,通過模糊集合的有關運算和變換,對模糊物件進行分析。模糊集合論以模糊數學為基礎,研究有關非精確的現象。客觀世界中,大量存在著許多亦此亦彼的模糊現象。
隸屬函式:

是用於表徵模糊集合的數學工具。為了描述元素u對U上的一個模糊集合的隸屬關係,由於這種關係的不分明性,它將用從區間[0,1]中所取的數值代替0,1這兩值來描述,表示元素屬於某模糊集合的“真實程度”。
舉個例子簡單說明下:
比如你在荷蘭和比利時的國界線喝咖啡,這時你一大半身子在荷蘭,另一半在比利時,那麼你應該算是在荷蘭還是在比利時呢?
對於普通集合來說,因為你大半個身子在荷蘭,那麼你就應該屬於在荷蘭,因為集合只能是或不是,但是感覺這樣描述不太準確,對於模糊集合來說,就比較好描述了,可以是你0.7屬於荷蘭,0.3屬於比利時。0.7和0.3就是用你的體積來劃分的隸屬度。

FCM介紹

核心思想: 演算法把n個向量xi 其中(i=1,2…,n)分為c個組Gj其中(j=1,2,…,c),並求每組的聚類中心,使得非相似性(或距離)指標的價值函式(或目標函式)達到最小。

FCM原理

FCM的目標函式
在這裡插入圖片描述
其中,U表示原矩陣,p表示聚類中心,dik表示樣本點xk與第i個類的樣本原型pi之間的失真度,一般是用兩個向量之間的距離表示,uik表示xk與第i類樣本的隸屬度。
dik是一種距離範數,可以表示為:
在這裡插入圖片描述
其中,A表示權重。
一般性模糊聚類分析的目標函式
在這裡插入圖片描述
其中m>1。
求解過程如下所示:
約束條件為:
在這裡插入圖片描述
在這個約束條件下,滿足:
在這裡插入圖片描述
用拉格朗方法求解,求解過程如下:
拉格朗日函式:
在這裡插入圖片描述
在這裡插入圖片描述
將該公式帶入約束條件,即可得到:
在這裡插入圖片描述
在這裡插入圖片描述
求解聚類中心:
在這裡插入圖片描述
得到聚類中心:
在這裡插入圖片描述

FCM流程

步驟1:用值在0,1間的隨機數初始化隸屬矩陣U,使其滿足約束條件

步驟2:計算聚類中心pi

步驟3:根據J(U,P)計算價值函式。如果它小於某個確定的閥值,或它相對上次價值函式值的改變數小於某個閥值,則演算法停止。

步驟4:用ujt計算新的U矩陣。返回步驟2。

參考

https://www.cnblogs.com/sddai/p/6259553.html
https://www.cnblogs.com/xiaohuahua108/p/6187178.html