簡述isodata演算法的原理 ISODATA演算法

2021-10-13 08:47:44 字數 1311 閱讀 1361

摘要:

isodata

演算法是目前應用比較廣泛的,通過引入引數而進行人機互動不斷進行**

與合併的非監督分類演算法。本文介紹了

isodata

基本原理與具體實現的過程,並用對引數

設定的影響進行了試驗和分析。

isodata

非監督分類

演算法模式識別

一、原理介紹

isodata

,迭代自組織分析,通過設定初始引數而引入人機對話環節,並使用歸併與**的機制,當某兩

類聚類中心距離小於某一閾值時,將它們合併為一類,當某類標準差大於某一閾值或其樣本數目超過某一

閾值時,將其分為兩類。在某類樣本數目少於某閾值時,需將其取消。如此,根據初始聚類中心和設定的

類別數目等引數迭代,最終得到乙個比較理想的分類結果。

二、演算法設計

第一步:

將個模式樣本

讀入,確定

c個初始聚類中心和

個初始引數kθn

θcθsli

第二步:將n

個模式樣本分給最近的聚類,

假如dj=min(

x-zj

,i=1,2,…,),

即‖x-zj

‖的距離最小,則x

sj第三步:如果

sj中的樣本數

nj取消樣本子集。

第四步:修正聚類中心值

j=1,2,

第五步:計算各聚類域

sj中諸聚類中心間的平均距離:

第六步:計算全部模式樣本對其相應聚類中心的總平均距離:

第七步:判別**、合併及迭代運算等步驟:

①如迭代運算次數已達

i次,即最後一次迭代,置

θc = 0,

跳到第十一步,運算結束。

②如≤k/2

,即聚類中心的數目等於或不到規定值的一半,則進入第八步,將已有的聚類**。

③如迭代運算的次數是偶次,或

≥2k,不進行**處理,跳到第十一步;如不符合以上兩個條件(即既

不是偶次迭代,也不是

≥2k),則進入第八步,進行**處理。

**處理:

第八步:計算聚類樣本距離的標準差向量:

第九步:求每一標準差向量

σj=1,2, …

中的最大分量,以

{σj=1,2, …

代表。第十步:在任一最大分量集

{σj=1,2, …

中,如有

>θs

(該值給定),同時又滿足以下二條件中之一:

(a),即

sj中樣本總數超過規定值一倍以上,

bnc≤k/2

簡述isodata演算法的原理 ISODATA演算法

isodata 演算法匯報文件 一 演算法介紹 1.背景 isodata 迭代自組織資料分析演算法 來自模糊數學領域 是統計模式識別 中非監督動態聚類演算法的一種。在許多科學實驗 經濟管理和日常生活中,往往需要對某些指標 或事 物 按一定的標準 相似的程度 親疏關係等 進行分類處理。例如,根據 生物...

K means和ISODATA 演算法 原理與實現

k means演算法 原理 對於給定的樣本集,按照樣本之間的距離大小,將樣本集劃分為k個簇。讓簇內的點盡量緊密的連在一起,而讓簇間的距離盡量的大。如果用資料表示式表示,假設簇劃分為 c1,c2,ck 則我們的目標是最小化平方誤差e 其中 i是簇ci的均值向量,有時也稱為質心,表示式為 一般步驟 1....

簡述二分查詢演算法原理

舉例 當需要查詢乙個公升序陣列中是否包含某個數時,可以使用二分查詢演算法 要求陣列必須有序 就是將陣列的中間值與該數比較,若該數大於中間值,則表明在該陣列中間值的右側,反之亦然,這個時候,將改變起始值或末尾值在將該數,與重新選定的區域中間值判斷,依次類推,直到結束 author zhangyu da...