ISODATA聚类算法
文章目錄
- ISODATA聚類算法
- 一、 K均值算法
- 1、K均值算法概述
- 2、K均值算法步驟
- 步驟一:
- 步驟二:
- 步驟三:
- 步驟四:
- 3、K均值算法動態演示
- 4、K均值算法優缺點
- 優點:
- 缺點:
- 二、ISODATA聚類算法
- 1、ISODATA算法概述
- 2、ISODATA算法步驟
- 步驟一:
- 步驟二:
- 步驟三:
- 步驟四:
- 步驟五:
- 步驟六:
- 步驟七:
- 步驟八:
- 3、ISODATA優缺點:
- 優點:
- 缺點:
ISODATA聚類算法
一、 K均值算法
ISODATA算法是在k-均值算法的基礎上,增加對聚類結果的“合并”和“分裂”兩個操作
1、K均值算法概述
k均值聚類算法(k-means clustering algorithm)是一種迭代求解的聚類分析算法
2、K均值算法步驟
步驟一:
預將數據分為K組,則隨機選取K個對象作為初始的聚類中心。
步驟二:
計算每個對象與各個種子聚類中心之間的距離,把每個對象分配給距離它最近的聚類中心。
可以根據實際需要選擇一種距離作為相似性度量,其中最常用的是歐氏距離:X中的樣本用d個描述屬性A1,A2…Ad來表示,并且d個描述屬性都是連續型屬性。數據樣本xi=(xi1,xi2,…xid), xj=(xj1,xj2,…xjd)其中,xi1,xi2,…xid和xj1,xj2,…xjd分別是樣本xi和xj對應d個描述屬性A1,A2,…Ad的具體取值。樣本xi和xj之間的相似度通常用它們之間的距離d(xi,xj)來表示,距離越小,樣本xi和xj越相似,差異度越小;距離越大,樣本xi和xj越不相似,差異度越大。
步驟三:
每分配一個樣本,聚類的聚類中心會根據聚類中現有的對象被重新計算。
各個聚類子集的均值代表點(也稱聚類中心)分別為m1,m2,…,mk。
步驟四:
上述過程將不斷重復直到滿足某個終止條件(準則函數)。
k-means聚類算法使用誤差平方和準則函數來評價聚類性能。誤差平方和準則函數公式為:
3、K均值算法動態演示
動畫演示
4、K均值算法優缺點
優點:
1.算法快速、簡單;
2.對大數據集有較高的效率并且是可伸縮性的;
3.時間復雜度近于線性,而且適合挖掘大規模數據集。K-Means聚類算法的時間復雜度是O(nkt) ,其中n代表數據集中對象的數量,t代表著算法迭代的次數,k代表著簇的數目。
缺點:
① 在 K-means 算法中 K 是事先給定的,這個 K 值的選定是非常難以估計的。
② 在 K-means 算法中,首先需要根據初始聚類中心來確定一個初始劃分,然后對初始劃分進行優化。這個初始聚類中心的選擇對聚類結果有較大的影響,一旦初始值選擇的不好,可能無法得到有效的聚類結果,這也成為 K-means算法的一個主要問題。
二、ISODATA聚類算法
1、ISODATA算法概述
ISODATA算法是在k-均值算法的基礎上,增加對聚類結果的“合并”和“分裂”兩個操作,并設定算法運?控制參數的?種聚類算法。迭代次數會影響最終結果,迭代參數選擇很重要。
2、ISODATA算法步驟
步驟一:
初始化
設定控制參數:
c:預期的類數;
Nc:初始中心個數 (可以不等于c) ;
TN:每?類中允許的最少樣本數目 (若少于此數, 就不能單獨成為?類) ;
TE:類內各特征分量分布的相對標準差上限 (大于此數就分裂) ;
TC:兩類中心間的最小距離下限 (若小于此數, 這兩類應合并) ;
NT:在每次 中最多可以進行“合并”操作的次數;
NS:允許的最多迭代次數。
選定初始中心
步驟二:
按最近鄰規則將樣本集{xi}中每個樣本分到某?類中(此處與K均值算法相似)
步驟三:
依據TN判斷合并:如果類ωj中樣本數nj< TN, 則取消該類的中心zj, Nc=Nc- 1, 轉至② 。
步驟四:
計算分類后的參數:類內平均距離
及總體平均距離
步驟五:
判斷停止、分裂或合并
a、若 次數Ip =NS, 則算法結束;
b、若Nc ≤c/2, 則轉到⑥ (將?些類分裂) ;
c、若Nc ≥2c, 則轉至⑦ (將一些類合并) ;
d、若c/2< Nc<2c, 當迭代次數Ip是奇數時轉至⑥ (分裂處理) ;迭代次數Ip是偶數時轉至⑦ (合并處理) 。
步驟六:
分裂操作
計算各類內樣本到類中心的標準差向量
σj=( σ1j, σ2j, … ., σ nj)T , j=1,2, … …,Nc
計算其各個分量。
求出每?類內標準差向量σj中的最大分量
若有某?類中最大分量?于TE, 同時又滿足下面兩個條件之?:
a、 > 且
>2(TN+1)
b、Nc ≤ c/2
則將該類ωj分裂為兩個類, 原zj取消且令Nc=Nc+1。
兩個新類的中?zj+和zj-分別是在原zj中相應于 的分量加上和減去 分裂后, Ip=Ip+1, 轉?②。
步驟七:
合并操作
計算各類中?間的距離Dij, i=1,2, … ,Nc- 1 ; j=1,2, … ,Nc, ?起它分量不變, 其中0<k≤1。
依據TC判斷合并。將Dij與TC?較, 并將?于TC的那些Dij按遞增次序排列, 取前NT個。
從最?的Dij開始, 將相應的兩類合并, 并計算合并后的 中?。
在?次迭代 中, 某?類最多只能合并?次。
Nc=Nc- 已并掉的類數。
步驟八:
如果迭代次數Ip=NS或過程收斂, 則算法結束。否則, Ip=Ip+1, 若需要調整參數, 則轉?①;若不改變參數, 則轉?②;
3、ISODATA優缺點:
優點:
ISODATA 可以在聚類過程中自動調整類別個數和類別中心,使聚類結果能更加靠近客觀真實的聚類結果。避免了K均值算法事先很難去確定待分類的集合(樣本)中到底有多少類別這一缺點 。
缺點:
ISODATA算法需要設置的參數比較多,參數值不好確定。
不同的參數之間相互影響
可以通過多次設置不同的值進行不同的實驗,然后取一些已知的樣本來檢驗聚類結果的精度,以最后取得更好的分類結果的那次實驗為準;或者考慮和其他方法相結合來得到更好的分類結果。
總結
以上是生活随笔為你收集整理的ISODATA聚类算法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: RDM6300 125KHz ID卡读卡
- 下一篇: 安装黑苹果未能与服务器取得联系,记录黑苹