導航:首頁 > 源碼編譯 > FCM演算法步驟

FCM演算法步驟

發布時間:2022-09-26 02:46:10

Ⅰ matlab中的功能函數FCM如何使用

模糊C均值聚類演算法,可將輸入的數據集data聚為指定的cluster_n類

【函數描述】
語法格式
[center, U, obj_fcn] = FCM(data, cluster_n, options)

用法:
1. [center,U,obj_fcn] = FCM(Data,N_cluster,options);
2. [center,U,obj_fcn] = FCM(Data,N_cluster);

輸入變數
data ---- n*m矩陣,表示n個樣本,每個樣本具有m維特徵值
cluster_n ---- 標量,表示聚合中心數目,即類別數
options ---- 4*1列向量,其中
options(1): 隸屬度矩陣U的指數,>1(預設值: 2.0)
options(2): 最大迭代次數(預設值: 100)
options(3): 隸屬度最小變化量,迭代終止條件(預設值: 1e-5)
options(4): 每次迭代是否輸出信息標志(預設值: 0)

輸出變數
center ---- 聚類中心
U ---- 隸屬度矩陣
obj_fcn ---- 目標函數值

Ⅱ 模糊c-均值聚類演算法的FCM 演算法簡介

假設樣本集合為X={x1 ,x2 ,…,xn },將其分成c 個模糊組,並求每組的聚類中心cj ( j=1,2,…,C) ,使目標函數達到最小。

Ⅲ 四種聚類方法之比較

四種聚類方法之比較
介紹了較為常見的k-means、層次聚類、SOM、FCM等四種聚類演算法,闡述了各自的原理和使用步驟,利用國際通用測試數據集IRIS對這些演算法進行了驗證和比較。結果顯示對該測試類型數據,FCM和k-means都具有較高的准確度,層次聚類准確度最差,而SOM則耗時最長。
關鍵詞:聚類演算法;k-means;層次聚類;SOM;FCM
聚類分析是一種重要的人類行為,早在孩提時代,一個人就通過不斷改進下意識中的聚類模式來學會如何區分貓狗、動物植物。目前在許多領域都得到了廣泛的研究和成功的應用,如用於模式識別、數據分析、圖像處理、市場研究、客戶分割、Web文檔分類等[1]。
聚類就是按照某個特定標准(如距離准則)把一個數據集分割成不同的類或簇,使得同一個簇內的數據對象的相似性盡可能大,同時不在同一個簇中的數據對象的差異性也盡可能地大。即聚類後同一類的數據盡可能聚集到一起,不同數據盡量分離。
聚類技術[2]正在蓬勃發展,對此有貢獻的研究領域包括數據挖掘、統計學、機器學習、空間資料庫技術、生物學以及市場營銷等。各種聚類方法也被不斷提出和改進,而不同的方法適合於不同類型的數據,因此對各種聚類方法、聚類效果的比較成為值得研究的課題。
1 聚類演算法的分類
目前,有大量的聚類演算法[3]。而對於具體應用,聚類演算法的選擇取決於數據的類型、聚類的目的。如果聚類分析被用作描述或探查的工具,可以對同樣的數據嘗試多種演算法,以發現數據可能揭示的結果。
主要的聚類演算法可以劃分為如下幾類:劃分方法、層次方法、基於密度的方法、基於網格的方法以及基於模型的方法[4-6]。
每一類中都存在著得到廣泛應用的演算法,例如:劃分方法中的k-means[7]聚類演算法、層次方法中的凝聚型層次聚類演算法[8]、基於模型方法中的神經網路[9]聚類演算法等。
目前,聚類問題的研究不僅僅局限於上述的硬聚類,即每一個數據只能被歸為一類,模糊聚類[10]也是聚類分析中研究較為廣泛的一個分支。模糊聚類通過隸屬函數來確定每個數據隸屬於各個簇的程度,而不是將一個數據對象硬性地歸類到某一簇中。目前已有很多關於模糊聚類的演算法被提出,如著名的FCM演算法等。
本文主要對k-means聚類演算法、凝聚型層次聚類演算法、神經網路聚類演算法之SOM,以及模糊聚類的FCM演算法通過通用測試數據集進行聚類效果的比較和分析。
2 四種常用聚類演算法研究
2.1 k-means聚類演算法
k-means是劃分方法中較經典的聚類演算法之一。由於該演算法的效率高,所以在對大規模數據進行聚類時被廣泛應用。目前,許多演算法均圍繞著該演算法進行擴展和改進。
k-means演算法以k為參數,把n個對象分成k個簇,使簇內具有較高的相似度,而簇間的相似度較低。k-means演算法的處理過程如下:首先,隨機地選擇k個對象,每個對象初始地代表了一個簇的平均值或中心;對剩餘的每個對象,根據其與各簇中心的距離,將它賦給最近的簇;然後重新計算每個簇的平均值。這個過程不斷重復,直到准則函數收斂。通常,採用平方誤差准則,其定義如下:

這里E是資料庫中所有對象的平方誤差的總和,p是空間中的點,mi是簇Ci的平均值[9]。該目標函數使生成的簇盡可能緊湊獨立,使用的距離度量是歐幾里得距離,當然也可以用其他距離度量。k-means聚類演算法的演算法流程如下:
輸入:包含n個對象的資料庫和簇的數目k;
輸出:k個簇,使平方誤差准則最小。
步驟:
(1) 任意選擇k個對象作為初始的簇中心;
(2) repeat;
(3) 根據簇中對象的平均值,將每個對象(重新)賦予最類似的簇;
(4) 更新簇的平均值,即計算每個簇中對象的平均值;
(5) until不再發生變化。
2.2 層次聚類演算法
根據層次分解的順序是自底向上的還是自上向下的,層次聚類演算法分為凝聚的層次聚類演算法和分裂的層次聚類演算法。
凝聚型層次聚類的策略是先將每個對象作為一個簇,然後合並這些原子簇為越來越大的簇,直到所有對象都在一個簇中,或者某個終結條件被滿足。絕大多數層次聚類屬於凝聚型層次聚類,它們只是在簇間相似度的定義上有所不同。四種廣泛採用的簇間距離度量方法如下:

這里給出採用最小距離的凝聚層次聚類演算法流程:
(1) 將每個對象看作一類,計算兩兩之間的最小距離;
(2) 將距離最小的兩個類合並成一個新類;
(3) 重新計算新類與所有類之間的距離;
(4) 重復(2)、(3),直到所有類最後合並成一類。
2.3 SOM聚類演算法
SOM神經網路[11]是由芬蘭神經網路專家Kohonen教授提出的,該演算法假設在輸入對象中存在一些拓撲結構或順序,可以實現從輸入空間(n維)到輸出平面(2維)的降維映射,其映射具有拓撲特徵保持性質,與實際的大腦處理有很強的理論聯系。
SOM網路包含輸入層和輸出層。輸入層對應一個高維的輸入向量,輸出層由一系列組織在2維網格上的有序節點構成,輸入節點與輸出節點通過權重向量連接。學習過程中,找到與之距離最短的輸出層單元,即獲勝單元,對其更新。同時,將鄰近區域的權值更新,使輸出節點保持輸入向量的拓撲特徵。
演算法流程:
(1) 網路初始化,對輸出層每個節點權重賦初值;
(2) 將輸入樣本中隨機選取輸入向量,找到與輸入向量距離最小的權重向量;
(3) 定義獲勝單元,在獲勝單元的鄰近區域調整權重使其向輸入向量靠攏;
(4) 提供新樣本、進行訓練;
(5) 收縮鄰域半徑、減小學習率、重復,直到小於允許值,輸出聚類結果。
2.4 FCM聚類演算法
1965年美國加州大學柏克萊分校的扎德教授第一次提出了『集合』的概念。經過十多年的發展,模糊集合理論漸漸被應用到各個實際應用方面。為克服非此即彼的分類缺點,出現了以模糊集合論為數學基礎的聚類分析。用模糊數學的方法進行聚類分析,就是模糊聚類分析[12]。
FCM演算法是一種以隸屬度來確定每個數據點屬於某個聚類程度的演算法。該聚類演算法是傳統硬聚類演算法的一種改進。

演算法流程:
(1) 標准化數據矩陣;
(2) 建立模糊相似矩陣,初始化隸屬矩陣;
(3) 演算法開始迭代,直到目標函數收斂到極小值;
(4) 根據迭代結果,由最後的隸屬矩陣確定數據所屬的類,顯示最後的聚類結果。
3 四種聚類演算法試驗
3.1 試驗數據
實驗中,選取專門用於測試分類、聚類演算法的國際通用的UCI資料庫中的IRIS[13]數據集,IRIS數據集包含150個樣本數據,分別取自三種不同的鶯尾屬植物setosa、versicolor和virginica的花朵樣本,每個數據含有4個屬性,即萼片長度、萼片寬度、花瓣長度,單位為cm。在數據集上執行不同的聚類演算法,可以得到不同精度的聚類結果。
3.2 試驗結果說明
文中基於前面所述各演算法原理及演算法流程,用matlab進行編程運算,得到表1所示聚類結果。

如表1所示,對於四種聚類演算法,按三方面進行比較:(1)聚錯樣本數:總的聚錯的樣本數,即各類中聚錯的樣本數的和;(2)運行時間:即聚類整個過程所耗費的時間,單位為s;(3)平均准確度:設原數據集有k個類,用ci表示第i類,ni為ci中樣本的個數,mi為聚類正確的個數,則mi/ni為第i類中的精度,則平均精度為:

3.3 試驗結果分析
四種聚類演算法中,在運行時間及准確度方面綜合考慮,k-means和FCM相對優於其他。但是,各個演算法還是存在固定缺點:k-means聚類演算法的初始點選擇不穩定,是隨機選取的,這就引起聚類結果的不穩定,本實驗中雖是經過多次實驗取的平均值,但是具體初始點的選擇方法還需進一步研究;層次聚類雖然不需要確定分類數,但是一旦一個分裂或者合並被執行,就不能修正,聚類質量受限制;FCM對初始聚類中心敏感,需要人為確定聚類數,容易陷入局部最優解;SOM與實際大腦處理有很強的理論聯系。但是處理時間較長,需要進一步研究使其適應大型資料庫。
聚類分析因其在許多領域的成功應用而展現出誘人的應用前景,除經典聚類演算法外,各種新的聚類方法正被不斷被提出。

Ⅳ FCM什麼意思

回答:流式細胞術是一種生物學技術,用於對懸浮於流體中的微小顆粒進行計數和分選。這種技術可以用來對流過光學或電子檢測器的一個個細胞進行連續的多種參數分析。

流式細胞術(Flow CytoMetry,FCM)是對懸液中的單細胞或其他生物粒子,通過檢測標記的熒光信號,實現高速、逐一的細胞定量分析和分選的技術。


延伸:

其特點是通過快速測定庫爾特電阻、熒光、光散射和光吸收來定量測定細胞 DNA含量、細胞體積、蛋白質含量、酶活性、細胞膜受體和表面抗原等許多重要參數。根據這些參數將不同性質的細胞分開,以獲得供生物學和醫學研究用的純細胞群體。

Ⅳ 急求FCM演算法在C或MATLAB上實現

function [U,V,num_it]=fcm(U0,X)

% MATLAB (Version 4.1) Source Code (Routine fcm was written by Richard J.

% Hathaway on June 21, 1994.) The fuzzification constant

% m = 2, and the stopping criterion for successive partitions is epsilon =??????.

%*******Modified 9/15/04 to have epsilon = 0.00001 and fix univariate bug********

% Purpose:The function fcm attempts to find a useful clustering of the

% objects represented by the object data in X using the initial partition in U0.

%

% Usage: [U,V,num_it]=fcm(U0,X)

%

% where: U0 = on entry, the initial partition matrix of size c x n

% X = on entry, the object data matrix of size s x n

% U = on exit, the final partition matrix of size c x n

% V = on exit, the final prototype matrix of size s x c

% num_it = on exit, the number of iterations done

% Check for legal input values of U0 and X:

%

[c,n]=size(U0);

[s,nn]=size(X);

if min(min(U0)) < 0 | max(max(U0)) > 1 | any(abs(sum(U0) - 1) > .001),

error('U0 is not properly initialized.')

elseif nn ~= n,

error('Dimensions of U0 and X are inconsistent.')

end;

%

% Initialize variables:

%

temp=zeros(c,n); num_it=0; max_it=1000; U=U0; d=zeros(c,n);

epsilon=.00001;min_d=1.0e-100; step_size=epsilon; Vones=zeros(s,n);

%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%

% Begin the main loop:

%

while num_it < max_it & step_size >= epsilon,

num_it = num_it + 1;

U0 = U;

%

% Get new V prototypes:

%

temp = U0 .* U0;

work = sum(temp');

V = X*temp';

for i=1:c, V(:,i) = V(:,i) / work(i); end

%

% Get new squared-distance values d:

%

% First, get new initial values for d:

for i=1:c,

for j=1:s,

Vones(j,:)=V(j,i)*ones(1,n);

end

temp = X - Vones;

temp = temp.*temp;

if s > 1,

d(i,:) = sum(temp);

else

d(i,:) = temp;

end

end

% Second, adjust all d values to be at least as big as min_d:

j = find(d < min_d);

d(j) = d(j) - d(j) + min_d;

%

% Get new partition matrix U:

%

U = 1 ./ d;

work = sum(U);

for i=1:c, U(i,:) = U(i,:) ./ work; end

%

% Calculate step_size and return to top of loop:

%

step_size=max(max(abs(U-U0)));

%

% End the main loop:

%

end

%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

return

python 中如何調用FCM演算法

以下代碼調試通過:

1234567classLuciaClass:#定義類defluciaprint(self,text):#類裡面的方法print(' ',text)#方法就是輸出textx=LuciaClass()#方法的實例xx.luciaprint('todayisabadday~~~')#實例調用類方法

運行效果:

Ⅶ 用流式細胞術(FCM) 檢測大鼠盲腸腸壁組織中T淋巴細胞CD3+、CD4+ 、CD8+ 數量及CD4+/CD,具體步驟怎麼做

1.將腸壁組織研磨為單細胞懸液,用PBS懸浮,並用300目尼龍網過濾;
2.按BD試劑說明書,加試劑、染色制備好標本(如果要進行絕對計數,則需要絕對計數管);
3.按流式細胞儀操作要求,設定好相應模板,上機檢查;
4.根據分析要求,用相應的分析軟體、分析模板進行分析數據。

Ⅷ 用C語言實現聚類分析演算法或者是FCM演算法源程序

為什麼總有人在這里問這么麻煩的問題呢,會有人有耐心給你寫程序嗎

Ⅸ 圖像分割的特定理論

圖像分割至今尚無通用的自身理論。隨著各學科許多新理論和新方法的提出,出現了許多與一些特定理論、方法相結合的圖像分割方法。 特徵空間聚類法進行圖像分割是將圖像空間中的像素用對應的特徵空間點表示,根據它們在特徵空間的聚集對特徵空間進行分割,然後將它們映射回原圖像空間,得到分割結果。其中,K均值、模糊C均值聚類(FCM)演算法是最常用的聚類演算法。K均值演算法先選K個初始類均值,然後將每個像素歸入均值離它最近的類並計算新的類均值。迭代執行前面的步驟直到新舊類均值之差小於某一閾值。模糊C均值演算法是在模糊數學基礎上對K均值演算法的推廣,是通過最優化一個模糊目標函數實現聚類,它不像K均值聚類那樣認為每個點只能屬於某一類,而是賦予每個點一個對各類的隸屬度,用隸屬度更好地描述邊緣像素亦此亦彼的特點,適合處理事物內在的不確定性。利用模糊C均值(FCM)非監督模糊聚類標定的特點進行圖像分割,可以減少人為的干預,且較適合圖像中存在不確定性和模糊性的特點。
FCM演算法對初始參數極為敏感,有時需要人工干預參數的初始化以接近全局最優解,提高分割速度。另外,傳統FCM演算法沒有考慮空間信息,對雜訊和灰度不均勻敏感。 模糊集理論具有描述事物不確定性的能力,適合於圖像分割問題。1998年以來,出現了許多模糊分割技術,在圖像分割中的應用日益廣泛。模糊技術在圖像分割中應用的一個顯著特點就是它能和現有的許多圖像分割方法相結合,形成一系列的集成模糊分割技術,例如模糊聚類、模糊閾值、模糊邊緣檢測技術等。
模糊閾值技術利用不同的S型隸屬函數來定義模糊目標,通過優化過程最後選擇一個具有最小不確定性的S函數。用該函數增強目標及屬於該目標的像素之間的關系,這樣得到的S型函數的交叉點為閾值分割需要的閾值,這種方法的困難在於隸屬函數的選擇。基於模糊集合和邏輯的分割方法是以模糊數學為基礎,利用隸屬圖像中由於信息不全面、不準確、含糊、矛盾等造成的不確定性問題。該方法在醫學圖像分析中有廣泛的應用,如薛景浩 等人提出的一種新的基於圖像間模糊散度的閾值化演算法以及它在多閾值選擇中的推廣演算法,採用了模糊集合分別表達分割前後的圖像,通過最小模糊散度准則來實現圖像分割中最優閾值的自動提取。該演算法針對圖像閾值化分割的要求構造了一種新的模糊隸屬度函數,克服了傳統S函數帶寬對分割效果的影響,有很好的通用性和有效性,方案能夠快速正確地實現分割,且不需事先認定分割類數。實驗結果令人滿意。 概述
小波變換是2002年來得到了廣泛應用的數學工具,它在時域和頻域都具有良好的局部化性質,而且小波變換具有多尺度特性,能夠在不同尺度上對信號進行分析,因此在圖像處理和分析等許多方面得到應用。
小波變換的分割方法
基於小波變換的閾值圖像分割方法的基本思想是首先由二進小波變換將圖像的直方圖分解為不同層次的小波系數,然後依據給定的分割准則和小波系數選擇閾值門限,最後利用閾值標出圖像分割的區域。整個分割過程是從粗到細,有尺度變化來控制,即起始分割由粗略的L2(R)子空間上投影的直方圖來實現,如果分割不理想,則利用直方圖在精細的子空間上的小波系數逐步細化圖像分割。分割演算法的計算饋與圖像尺寸大小呈線性變化。

閱讀全文

與FCM演算法步驟相關的資料

熱點內容
vc界面編程經典實例 瀏覽:884
戰爭學院伺服器什麼意思 瀏覽:141
主角穿越賣軍火給紅軍 瀏覽:778
男主因誤會報復女主 瀏覽:190
windows安裝php70 瀏覽:923
校園奇俠何丹全文閱讀 瀏覽:793
網路禁止的50部小說 瀏覽:241
泰國電影推薦大尺碼 瀏覽:7
pore命令 瀏覽:870
rsa加密上傳圖片 瀏覽:386
香港經典三圾片 瀏覽:751
什麼app可以自己定製鞋子 瀏覽:315
穿越將夜的小說有哪些 瀏覽:912
法國啄木鳥40部電影有哪些 瀏覽:664
主角叫葉無雙的小說 瀏覽:396
程序員總裁肉 瀏覽:900
最短路演算法編程簡單示例 瀏覽:219
訂民宿的app是什麼 瀏覽:653
攝像頭內存卡怎麼解壓 瀏覽:426
命令商 瀏覽:823