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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

ISODATA聚类算法

發布時間:2024/1/1 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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聚类算法的全部內容,希望文章能夠幫你解決所遇到的問題。

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