第九章 聚類
此係列文章旨在提煉周志華《機器學習》的核心要點,不斷完善中…
9.1 聚類任務
無監督學習:訓練樣本標記位置,學習揭示內在規律,分類任務等前驅過程
將數據集劃分爲若干互不相交的子集(簇:cluster)
9.2 性能度量
1、概念
- 內相似度(intra-cluster similarity)
- 簇間相似度(inter-cluster similarity)
2、指標
-
外部指標(external index):將聚類結果與某個參考模型(reference model)進行比較
常用的聚類性能度量外部指標(a=∣SS∣,b=∣SD∣,c=∣DS∣,d=∣DD∣):
- Jaccard係數(Jaccard Coefficient, JC):JC=a+b+ca
- FM指數(Fowlkes and Mallows Index, FMI):FMI=a+ba∗a+ca
- Rand指數(Rand Index, RI):RI=m(m−1)2(a+d)
-
內部指標(internal index):直接考察結果
聚類結果的簇劃分C={C1,C2,…Ck},定義:
- avg(C)=∣C∣(∣C∣−1)2∑1≤i<j≤∣C∣dist(xi,xj)
- diam(C)=max1≤i<j≤∣C∣dist(xi,xj)
- dmin(Ci,Cj)=minxi∈Ci,xj∈Cjdist(xi,xj)
- dcen(Ci,Cj)=dist(μi,μj)
導出內部指標
- DB指數(Davies-Bouldin Index, DBI):
DBI=k1i=1∑kmaxj=i(dcen(Ci,Cj)avg(Ci)+avg(Cj))
- Dunn指數(Dunn Index, DI):
DI=min1≤i≤k{minj=i(max1≤l≤kdiam(Cl)dmin(Ci,Cj))}
- DBI越小越好,DI越大越好
9.3 距離計算
1、距離度量的基本性質
非負性:dist(xi,xj)≥0
同一性:dist(xi,xj)=0當且僅當xi=xj
對稱性:dist(xi,xj)=dist(xj,xi)
直遞性:dist(xi,xj)≤dist(xi,xk)+dist(xk,xj)(三角不等式)
2、最常用:閔可夫斯基距離(Minkowski distance)
distmk(xi,xj)=(u=1∑n∣xiu−xju∣p)p1
p=∞:切貝雪夫距離
p=2:歐式距離:disted(xi,xj)=∣∣xi−xj∣∣2=∑u=1n∣xiu−xju∣2
p=1:曼哈頓距離:distman(xi,xj)=∣∣xi−xj∣∣1=∑u=1n∣xiu−xju∣2
3、幾個概念
連續屬性/離散屬性:定義域上有無窮/有限取值
有序屬性:可採用閔可夫斯基距離
無序屬性:可採用VDM(Value Difference Metric):VDMp(a,b)=i=1∑k∣mu,amu,a,i−mu,bmu,b,i∣
相似度度量:非度量距離(距離大相似小,未必滿足度量距離性質,尤其直遞性)
距離度量學習:基於數據樣本來確定合適的距離計算式
4、一些做法
將閔可夫斯基距離和VDM結合(可處理混合屬性):
加權閔可夫斯基距離(樣本空間不同屬性的重要性不同時):
9.4 原型聚類
0、基本想法:假設聚類結構能通過一組原型刻畫(在現實聚類任務中極爲常用)
1、k均值算法
2、學習向量量化(Learning Vector Quantization, LVQ)
- 假設數據樣本帶有類別標記,學習過程利用樣本的這些監督信息來輔助聚類
- 算法
- Voronoi劃分
Ri={x∈X∣ ∣∣x−pi∣∣2≤∣∣x−pi′∣∣2,i′=i}
- 算法測試結果
3、高斯混合聚類(Mixture of Gaussian)
- 多元高斯分佈概率密度函數:p(x)=(2π)2n∣Σ∣211e−21(x−μ)TΣ−1(x−μ)
- 高斯混合分佈函數:pM(x)=∑i=1kαi∗p(x∣μi,Σi)
性質:k個混合成分組成(每個對應一個高斯分佈)
混合係數:∑i=1kαi=1
- 假設樣本生成過程由高斯分佈給出
1.根據a1,a2,…ak定義的先驗分佈選擇高斯混合成分(ai爲選擇第i個混合成分概率)
2.根據被選擇的混合成分的概率密度函數進行採樣,生成相應的樣本
3.若訓練集D由上述過程生成,令隨機變量zj={1,2,…k}表示生成樣本xj的高斯混合成分,取值未知
4.樣本xj由第i個高斯混合成分生成的後驗概率
- 模型參數求解
極大似然估計
採用EM算法進行迭代優化求解
- 算法
9.5 密度聚類
0、基本想法:假設聚類結構能通過樣本分佈的緊密程度決定
1、著名密度聚類算法DBSCAN(Density-Based Spatial Clustering of Applications with Noise)
- 思想:基於一組領域參數來刻畫樣本分佈的緊密程度
- 基本概念
- ε-鄰域:對xj∈D,其ϵ-鄰域包含樣本集D中與xj的距離不大於ϵ的樣本,即Nϵ(xj)={xj∈D∣dist(xi,xj)≤ϵ}
- 核心對象:若xj的ϵ-鄰域至少包含MinPts個樣本,即∣Nϵ(xj)∣≥MinPts,則xj是一個核心對象
- 密度直達:若xj位於xi的ϵ-鄰域中,且xi是核心對象,則稱xj由xi密度直達
- 密度可達:對xi與xj,若存在樣本系列p1,p2,...pn,其中p1=xi,pn=xj且pi+1由pi密度直達,則稱xj由xi密度可達
- 密度相連:對xi與xj,若存在xk使得xi與xj均由xk密度可達,則稱xi與xj密度相連
- DBSCAN對簇的定義
- 由密度可達關係導出的最大的密度相連樣本集合
- 給定領域參數(E,MinPts),簇C是滿足以下性質的非空樣本子集
連接性(connectivity):xi∈C,xj∈C⇒xi與xj密度相連
最大型(maximality):xi∈C,xj由xi密度可達⇒xj∈C
- 算法
- 算法測試結果
9.6 層次聚類
0、基本想法:試圖在不同層次對數據集進行劃分,從而形成樹形的聚類結構
1、自底向上的聚合策略: AGglomerative NESting(AGNES)
-
算法過程
1.將數據集中的每個樣本看做一個初始聚類簇
2.在運行的每一步找出距離最近兩個簇併合並
3.重複,直到達到預設的聚類簇個數
-
集合的距離
通常採用:Hausdorff distance
注意:當聚類簇距離由dmin、dmaz或davg計算時,AGNES算法被相應地成爲單鏈接、全鏈接或均鏈接算法
-
算法
-
算法測試結果
2、自頂向下的分拆策略:DIANA