日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

2021-04-14 Matlab实现模糊聚类分析 FCM

發布時間:2025/3/21 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2021-04-14 Matlab实现模糊聚类分析 FCM 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Matlab實現模糊聚類分析 FCM

模糊均值聚類(FCM)是用隸屬度確定每個數據點屬于某個聚類的程度的一種聚類算法。1973年,Bezdek提出了該算法,作為早期硬均值聚類(HCM)方法的一種改進。FCM把 n 個向量 xi(i=1,2,…,n)分為 c 個模糊組,并求每組的聚類中心,使得非相似性指標的價值函數達到最小。FCM 使得每個給定數據點用值在 0,1 間的隸屬度來確定其屬于各個組的程度。與引入模糊劃分相適應,隸屬矩陣 U 允許有取值在 0,1 間的元素。不過,加上歸一化規定,一個數據集的隸屬度的和總等于 1:

那么,FCM的價值函數(或目標函數):

這里 uij 介于 0,1 間;ci 為模糊組 i 的聚類中心,dij=||ci-xj||為第 i 個聚類中心與第 j 個數據點間的歐幾里德距離;且 m (屬于1到無窮) 是一個加權指數。
構造如下新的目標函數,可求得使下式達到最小值的必要條件:其實就是拉格朗日乘子法:

對上式所有輸入參量求導,使上式達到最小的必要條件為:



由上述兩個必要條件,模糊 C 均值聚類算法是一個簡單的迭代過程。在批處理方式運行時,
FCM 用下列步驟確定聚類中心 ci 和隸屬矩陣 U[1]:
步驟 1:用值在 0,1 間的隨機數初始化隸屬矩陣 U
步驟 2:用式(3)計算 c 個聚類中心 ci,i=1,…,c。
步驟 3:根據式(1)計算價值函數。如果它小于某個確定的閥值,或它相對上次價
值函數值的改變量小于某個閥值,則算法停止。
步驟 4:用(4)計算新的 U 矩陣和。返回步驟 2。
上述算法也可以先初始化聚類中心,然后再執行迭代過程。由于不能確保 FCM 收斂于一個最優解。算法的性能依賴于初始聚類中心。因此,我們要么用另外的快速算法確定初始聚類中心,要么每次用不同的初始聚類中心啟動該算法,多次運行 FCM。

注:上面討論不難看出二個參數比較重要:1.聚類的數目,2.控制算法的參數m,如果m過大,則聚類的效果很差,如果m過小,則算法接近Kmeans算法。

借用Matlab自帶的fcm函數來做個例子

data = rand(100,2); % 數據 options = [2;100;1e-5;1]; % 控制參數 [center,U,obj_fcn] = fcm(data,2,options); % 聚類為2類 figure; plot(data(:,1), data(:,2),'o'); title('Demo'); grid on; hold on; maxU = max(U); index1 = find(U(1,:) == maxU); index2 = find(U(2,:) == maxU); line(data(index1,1),data(index1,2),'marker','*','color','g'); line(data(index2,1),data(index2,2),'marker','*','color','r'); plot([center([1 2],1)],[center([1 2],2)],'*','color','k') hold off; figure plot(obj_fcn) title('Objective Function Values') xlabel('Iteration Count')

?

總結

以上是生活随笔為你收集整理的2021-04-14 Matlab实现模糊聚类分析 FCM的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。