动态聚类法
目錄
- 動態(tài)聚類法
- 一、K—均值算法(K-means)
- 1.1 條件及約定
- 1.2 基本思想:
- 1.3 基于使聚類準(zhǔn)則函數(shù)最小化
- 準(zhǔn)則函數(shù)
- 聚類準(zhǔn)則
- 1.4 算法步驟
- 1.5 討 論
- 1.6 例題
- 1.7 類別數(shù)目未知情況下如何使用?
- 1.8 如何避免初始聚類中心的影響?
- 二、ISODATA算法
- 2.1 ISODATA算法的提出
- 2.2 ISODATA算法
- 2.2.1基本步驟和思路
動態(tài)聚類法
兩種常用算法:
- K-均值算法(K-means算法)
- 迭代自組織的數(shù)據(jù)分析算法(ISODATA, iterative self-organizing data analysis techniques algorithm)
?
一、K—均值算法(K-means)
1.1 條件及約定
- 設(shè)待分類的模式特征矢量集為 { x1,x2,…,xN };
- 類的數(shù)目K是事先取定的。
1.2 基本思想:
- 首先任意選取K個聚類中心
- 按最小距離原則將各模式分配到K類的某一類;
- 不斷計算聚類中心和調(diào)整各模式的類別
- 最終使各模式到其判屬類別中心的距離平方之和最小。
1.3 基于使聚類準(zhǔn)則函數(shù)最小化
準(zhǔn)則函數(shù)
- 聚類集中每一樣本點到該類中心的距離平方和。
對于第 j 個聚類集,準(zhǔn)則函數(shù)定義為
- Sj:第j個聚類集(域),
- 聚類中心為Zj;
- Nj:第j個聚類集Sj中所包含的樣本個數(shù)。
?
?
對所有K個模式類有:
?
?
聚類準(zhǔn)則
K-均值算法的聚類準(zhǔn)則:
- 聚類中心的選擇應(yīng)使準(zhǔn)則函數(shù)J極小
- 即使Jj的值極小。
?
對于某一個聚類 j:
即 :
可解得 :
1.4 算法步驟
(1) 任選K個模式特征矢量作為初始聚類中心:
- z1(1) ,z2(1) ,…zK(1)。
- 括號內(nèi)的序號表示迭代次數(shù)
(2) 將待分類的模式特征矢量集{x}中的模式
- 逐個按最小距離原則分劃給K類中的某一類。
- 如果Dj(k)=min?{∥x?Zi(k)∥},i=1,2,…,K\mathrm{D}_{j}(k)=\min \left\{\left\|x-\mathrm{Z}_{i}(k)\right\|\right\}, \quad i=1,2, \ldots, KDj?(k)=min{∥x?Zi?(k)∥},i=1,2,…,K
則判 x∈Sj(k)x \in S_{j}(k)x∈Sj?(k)
(3) 計算重新分類后的各聚類中心 zj(k+1)z_{j}(k+1)zj?(k+1)
- 即 求各聚類域中所包含樣本的均值向量:
- 以均值向量作新的聚類中心,
- 可得新的準(zhǔn)則函數(shù):
- 可得新的準(zhǔn)則函數(shù):
(4) 如果zj(k+1)=zj(k)(j=1,2,…K)z_{j}(k+1)=z_{j}(k)(j=1,2, \ldots K)zj?(k+1)=zj?(k)(j=1,2,…K),則結(jié)束;
- 否則,k=k+1, 轉(zhuǎn)(2)
?
1.5 討 論
-
“動態(tài)”聚類法?
- 聚類過程中,
聚類中心位置或個數(shù)發(fā)生變化。
?
- 聚類過程中,
-
算法討論
結(jié)果受到:
1. 所選聚類中心的個數(shù)和其初始位置
2. 以及模式樣本的幾何性質(zhì)及讀入次序等的影響實際應(yīng)用中需要試探不同的K值和選擇不同的聚類中心起始值。
?
1.6 例題
例2.3:已知20個模式樣本如下,試用K-均值算法分類。
解:
結(jié)果圖示:
?
?
?
1.7 類別數(shù)目未知情況下如何使用?
- 在類別數(shù)未知情況下使用K—均值算法時:
- 可以假設(shè)類別數(shù)是逐步增加的。
- 顯然準(zhǔn)則函數(shù)是隨K的增加而單調(diào)地減少的。
?
- 如果樣本集的合理聚類數(shù)為K類
- 當(dāng)類別數(shù)從1增加到K時準(zhǔn)則函數(shù)迅速減小
- 當(dāng)類別數(shù)超過K時,準(zhǔn)則函數(shù)雖然繼續(xù)減少但會呈現(xiàn)平緩趨勢。
1.8 如何避免初始聚類中心的影響?
-
多次運行K均值算法
例如50~1000次,每次隨機選取不同的初始聚類中心。
-
聚類結(jié)束后計算準(zhǔn)則函數(shù)值。
-
選取準(zhǔn)則函數(shù)值最小的聚類結(jié)果為最后的結(jié)果。
-
該方法一般適用于聚類數(shù)目小于10的情況。
?
?
?
二、ISODATA算法
2.1 ISODATA算法的提出
(iterative self-organizing data analysis techniques algorithm,ISODATA)
- K—均值算法比較簡單,但它的自我調(diào)整能力也比較差。
- 這主要表現(xiàn)在類別數(shù)不能改變
- 受代表點初始選擇的影響也比較大。
ISODATA算法的功能與K—均值算法相比,在下列幾方面有改進(jìn):
可以改變類別數(shù)目。
通過類別的合并與分裂來實現(xiàn)。
合并
· 主要發(fā)生在某一類內(nèi)樣本個數(shù)太少的情況
· 或兩類聚類中心之間距離太小的情況。
· 為此設(shè)有最小類內(nèi)樣本數(shù)限制,以及類間中心距離參數(shù)。
分裂
· 主要發(fā)生在某一類別的某分量出現(xiàn)類內(nèi)方差過大的現(xiàn)象
· 因而宜分裂成兩個類別,以維持合理的類內(nèi)方差。
· 給出一個對類內(nèi)分量方差的限制參數(shù),用以決定是否需要將某一類分裂成兩類。
由于算法有自我調(diào)整的能力
· 因而需要設(shè)置若干個控制用參數(shù)。
· 如:
聚類數(shù)期望值K
每次迭代允許合并的最大聚類對數(shù)L
允許迭代次數(shù)I
?
2.2 ISODATA算法
2.2.1基本步驟和思路
-
(1) 選擇初始控制參數(shù)。
可選不同的指標(biāo),也可在迭代過程中人為修改,
以將N個模式樣本按指標(biāo)分配到各個聚類中心中去。 -
(2) 計算各類中諸樣本的距離指標(biāo)函數(shù)。
-
(3)~(5)按給定的要求,將前一次獲得的聚類集進(jìn)行分裂和合并處理
【(4)為分裂處理,(5)為合并處理 】
從而獲得新的聚類中心。 -
(6) 重新進(jìn)行迭代運算
計算各項指標(biāo)
判斷聚類結(jié)果是否符合要求,如不符合,返回(2)。
經(jīng)過多次迭代后,若結(jié)果收斂,則運算結(jié)束。
總結(jié)
- 上一篇: kali linux 安装搜狗输入法(解
- 下一篇: 初识flv.js