模糊數學學習筆記 5:模糊聚類

個人博客地址 Glooow,歡迎光臨~~~


現在想要對 nn 個目標 U={x1,...,xn}U=\{x_1,...,x_n\} 分類,並且每個對象都有多個指標,也即 xi={xi1,...,xim}x_i=\{x_{i1},...,x_{im}\}

模糊聚類通常包括三個步驟:

  1. 建立模糊矩陣
  2. 建立模糊等價矩陣
  3. 進行聚類

1. 數據標準化

實際中各個指標的量綱與數量級很可能相差很大,比如高校評價指標中,可能包括科研經費、論文數量、獲獎數量等,數量級差別很大,這個時候就需要先對各項數據進行標準化。常用方法有

標準差標準化
xij=xijxˉjσj x_{ij}'=\frac{x_{ij}-\bar{x}_j}{\sigma_j}
極差正規化
xij=xijmin1in{xij}max1{xij}min1:in{xij} \boldsymbol{x}_{i j}^{\prime \prime}=\frac{\boldsymbol{x}_{i j}^{\prime}-\min _{1 \leq i \leq n}\left\{\boldsymbol{x}_{i j}^{\prime}\right\}}{\max _{1}\left\{\boldsymbol{x}_{i j}^{\prime}\right\}-\min _{1: i \leqslant n}\left\{\boldsymbol{x}_{i j}^{\prime}\right\}}
極差標準化
xij=xijxˉimax{xij}min{xij} x_{i j}^{\prime}=\frac{x_{i j}-\bar{x}_{i}}{\max \left\{x_{i j}\right\}-\min \left\{x_{i j}\right\}}
最大值規格化
xij=xijmax(x1j,x2j,...,xnj) x_{ij}'=\frac{x_{ij}}{\max{(x_{1j},x_{2j},...,x_{nj})}}

2. 建立模糊相似矩陣

接下來需要確定不同對象之間的相似度,相似度的確定也有幾種常用度量:

1.1 相關係數類

在這裏插入圖片描述

1.2 距離類

在這裏插入圖片描述

1.3 貼近度類

在這裏插入圖片描述

3. 聚類

獲得模糊相似矩陣以後,需要首先求出傳遞閉包 t(R)t(R),以獲得模糊等價矩陣,然後根據不同的閾值 λ\lambda 進行聚類,然後再畫出動態聚類圖。

舉個栗子

在這裏插入圖片描述

求解過程如下

0. 特性指標矩陣 1. 數據標準化 2. 求模糊相似矩陣
在這裏插入圖片描述 在這裏插入圖片描述 在這裏插入圖片描述
3. 求傳遞閉包 4. 根據不同閾值聚類 5. 畫動態聚類圖
在這裏插入圖片描述 在這裏插入圖片描述 在這裏插入圖片描述

4. 其他問題

在實際應用過程中,還會出現一些其他問題,比如:

  • 在實際應用中,如何選擇適當的 λ\lambda?從而給出一個較明確的聚類。

實際中最佳閾值的確定,可以由專家給出值;也可以應用 F-統計量確定最佳閾值。

  • 如果不用傳遞閉包,直接對相似矩陣進行聚類會怎麼樣?

直接應用模糊相似矩陣進行聚類時,可以首先確定一個閾值 λ\lambda,然後根據截集獲得一系列聚類結果,由於模糊相似矩陣並不是等價矩陣,因此此時的聚類結果是不嚴謹的,後面需要對交集非空的集合進行合併(這裏可能表述的不清楚,看下面的例子就明白了)

在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述

  • 當樣本點很多時(幾百萬甚至上千萬個像素),例如需 要對一張圖片上的樣本點進行聚類,該怎麼辦?

可以應用模糊C均值法(FCM)

5. 模糊C均值法(FCM)

xi(i=1,2,...,n)x_i(i=1,2,...,n) 是n個樣本組成的樣本集合,cc 爲預定的類別數目, uiju_{ij} 是第 ii 個樣本對於第 jj 類的隸屬度函數。用隸屬度函數定義的聚類損失函數可以寫爲
j=1ci=1nuijmdij2=j=1ci=1nuijmpjxi2 \sum_{j=1}^{c} \sum_{i=1}^{n} u_{i j}^{m} d_{i j}^{2}=\sum_{j=1}^{c} \sum_{i=1}^{n} u_{i j}^{m}\left\|\mathbf{p}_{j}-\mathbf{x}_{i}\right\|^{2}
其中 m>1m>1PjP_j 是第 jj 類的聚類中心,後面會給出公式。通常也會假設 juij=1\sum_j u_{ij}=1

下面則給出該算法的推導:爲了最小化損失函數,則可以應用 Lagrange 乘子法
J=i=1nj=1cuijmdij2i=1nλi((j=1cuij)1) J=\sum_{i=1}^{n} \sum_{j=1}^{c} u_{i j}^{m} d_{i j}^{2}-\sum_{i=1}^{n} \lambda_{i}\left(\left(\sum_{j=1}^{c} u_{i j}\right)-1\right)
λi,uij\lambda_i,u_{ij} 求偏導等於 0,則可以得到迭代公式爲
uij=(1dij)2/(m1)k=1c(1dik)2/(m1)pj=i=1nuijmxii=1nuijm u_{i j}=\frac{\left(\frac{1}{d_{i j}}\right)^{2 /(m-1)}}{\sum_{k=1}^{c}\left(\frac{1}{d_{i k}}\right)^{2 /(m-1)}} \\\mathbf{p}_{j}=\frac{\sum_{i=1}^{n} u_{i j}^{m} \mathbf{x}_{i}}{\sum_{i=1}^{n} u_{i j}^{m}}
由此就可以給出 FCM 算法的框架

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章