[機(jī)器學(xué)習(xí)]第九章 聚類

9.1 聚類任務(wù)

常見的無監(jiān)督學(xué)習(xí)任務(wù)

  • 密度估計

  • 異常檢測

  • 聚類

聚類任務(wù)將數(shù)據(jù)集劃分為若干個不相交的子集,為每一個樣本標(biāo)上一個簇標(biāo)記(表示這個樣本屬于哪個簇),于是得到一個簇標(biāo)記向量?

9.2 性能度量

在開始一項機(jī)器學(xué)習(xí)任務(wù)之前,首先必須要定義好性能度量指標(biāo),以便量化的評估模型的好壞。

聚類性能度量的基本想法

“物以類聚”, 相同簇內(nèi)的樣本應(yīng)該盡可能的相似;“人以群分”, 不同簇內(nèi)的樣本應(yīng)該經(jīng)可能的不同。需要定義距離來度量相似性。

兩類度量指標(biāo)

  • 外部指標(biāo)通過和一個參考模型比較(即和一個專家進(jìn)行比較)

  • 內(nèi)部指標(biāo)不借助任何參考模型

外部指標(biāo)

假定通過聚類給出的簇劃分為C = \{C_1...C_K\}, 參考模型給出的簇劃分為C^* = \{C_1^*...C_K^*\}, 令\lambda\lambda^*分別表示聚類給出的簇標(biāo)記向量以及參考模型給出的簇標(biāo)記向量, 定義如下量

其中a表示在中屬于同一個簇的且在中也屬于同一個簇的點(diǎn)對的集合,其他依次類推。顯然我們希望ab越大越好。

由于一個點(diǎn)對只能出現(xiàn)在一個集合中,共有個點(diǎn)對,所以a + b + c + d = \frac{m(m - 1) }{2}

  • Jaccard系數(shù)

    顯然當(dāng)ab越大時,該系數(shù)越大,直觀的表達(dá)了聚類性能度量的基本想法

    JC = \frac{a}{a + b + c} = \frac{a}{S - b}

  • FM系數(shù)

    FMI = \sqrt{\frac{a}{a + b}\frac{a}{a +c}}

  • Rand指數(shù)

    RI = \frac{2(a + d)}{m(m - 1)}

內(nèi)部指標(biāo)

  • 簇內(nèi)樣本間平均距離

    描述簇內(nèi)的聚合程度

  • 簇內(nèi)樣本間最大距離

    描述簇內(nèi)的聚合程度

  • 簇間樣本最小距離

    描述兩簇之間的距離

  • 兩簇間樣本中心距離

    描述兩簇簇之間的距離

  • DB指數(shù)

    顯然任意兩簇樣本內(nèi)平均距離越小,樣本中心越遠(yuǎn)越好,所以DB指數(shù)越小越好

  • Dunn指數(shù)

    顯然任意兩簇,簇內(nèi)最遠(yuǎn)距離越小,簇間最小距離越大越好,所以該指數(shù)越大越好

9.4 原型聚類

此類算法假設(shè)聚類結(jié)構(gòu)能夠通過一組原型刻畫,在聚類任務(wù)中較為通用。一般先對原型進(jìn)行初始化,然后再對原型進(jìn)行迭代更新求解

9.4.1 k均值算法

給定樣本?,k均值算法針對聚類所得簇劃分?最小化平方誤差,?

E = \sum^k_{i = 1}\sum_{x \in C_i}||x - \mu_i||^2_2

E值越小,簇內(nèi)樣本相似程度越高,求解該最優(yōu)劃分為NP難問題,k均值算法采用貪心策略通過迭代優(yōu)化來近似求解

算法流程

image
  • 可設(shè)定最大迭代次數(shù),或?的最小更新幅度閾值來防止迭代過久

9.4.2 學(xué)習(xí)向量量化(Learning Vector Quantization)

LVQ假設(shè)數(shù)據(jù)樣本帶有類別標(biāo)記,利用這些監(jiān)督信息來輔助聚類

算法流程

image
  • 初始化原型向量可如下操作,對第個簇,從類別標(biāo)記相同的樣本中隨機(jī)選取一個作為原型向量

  • LVQ根據(jù)樣本與原型向量的距離來劃分簇,因此學(xué)得一組原型向量后,就得到了樣本空間上的一組劃分,稱為"Voronoi"劃分

  • 學(xué)習(xí)率?越大,每次原型向量更新的幅度就越大

  • 若將簇?所對應(yīng)的劃分區(qū)域?中的樣本全用原型向量?表示,則可實(shí)現(xiàn)數(shù)據(jù)的有損壓縮,稱為“向量量化”

9.4.3 高斯混合聚類

k均值和LVQ通過原型向量來刻畫聚類結(jié)構(gòu),而高斯混合聚類通過概率模型來表達(dá)聚類原型

高斯分布

  • n維均值向量和n \times n的協(xié)方差矩陣決定

高斯混合分布

  • 數(shù)據(jù)分布由k個高斯成分混合而成,每個高斯分布都有一個混合系數(shù)\alpha_i,且\sum_{i=1}^{k}\alpha_i = 1,則為樣本在生成過程中,選擇第個高斯分布的概率P(z_j = i)對應(yīng)與\alpha_i

聚類

訓(xùn)練集,令z_j \in \{1,2....k\}表示生成樣本的高斯混合成分, 設(shè)后驗概率為p_M(z_j = i | x_j), 簡記為\gamma_{ji}由貝葉斯定義得的后驗分布為

image

高斯混合聚類把樣本D劃分為k個簇(對應(yīng)k個混合成分),每個樣本的簇標(biāo)記如下確定,選取簇標(biāo)記后驗概率最大的一個做為樣本的簇標(biāo)記,

image

模型參數(shù)由EM算法求取

  • 由表達(dá)式看,參數(shù)通過樣本加權(quán)平均來估計,權(quán)重為每個樣本屬于該成分的后驗概率


算法流程

image

9.5 密度聚類

密度聚類假設(shè)聚類結(jié)構(gòu)能通過樣本分布的緊密程度確定。

DBSCAN聚類

使用一組“鄰域”參數(shù)來刻畫樣本分布的緊密程度,數(shù)據(jù)集D = \{x_1....x_m\}

  • \epsilon-鄰域

    對于樣本x_j \in D, N_\epsilon = \{x_i \in D | dist(x_i,x_j) \leq \epsilon\}, 即與樣本之間的距離小于\epsilon的樣本的集合

  • 核心對象

    x_j\epsilon-鄰域內(nèi)至少包含個MinPts樣本,則x_j是一個核心對象

  • 密度直達(dá)

    x_j位于x_i\epsilon-鄰域中,且x_i是核心對象,則x_jx_i密度直達(dá)

  • 密度可達(dá)

    若存在樣本序列p_1....p_n, 其中p_1 = x_i, p_n = x_j,且p_{i + 1}p_i密度直達(dá),則x_jx_i密度可達(dá)

    即存在一條路徑使得可以到達(dá)的x_i\epsilon-鄰域內(nèi)

  • 密度相連

    x_ix_j存在x_k, 使的x_ix_j均由x_k密度可達(dá),則稱x_ix_j密度相連

簇的定義

DBSCAN將簇定義為

由密度可達(dá)關(guān)系導(dǎo)出的最大密度相連樣本集合

  • 連接性

    簇內(nèi)任意兩個樣本都是密度相連的

  • 最大性

    簇內(nèi)樣本不與簇外的任何一個樣本密度相連

由上定義可看出,這里的簇與圖論中的連通分量概念相似

若?為核心對象,由?密度可達(dá)的所有樣本組成的集合為?,則?為滿足連接性與最大性的簇

算法流程

image

9.6 層次聚類

層次聚類嘗試在不同層次對數(shù)據(jù)集進(jìn)行劃分, 從而形成樹形的聚類結(jié)構(gòu)

  • 自底向上聚合數(shù)據(jù)集

  • 自頂向下拆分?jǐn)?shù)據(jù)集

AGNES聚類

采用自底向上聚合策略進(jìn)行聚類,先將數(shù)據(jù)集中的每一個樣本看作一個初始簇, 不斷合并距離最近的兩個簇,直到達(dá)到預(yù)設(shè)的簇的個數(shù)。關(guān)鍵是距離的計算。

image
  • 由最小距離計算時:AGNES算法被稱為單鏈接

  • 由最大距離計算時:AGNES算法被稱為全鏈接

  • 由平均距離計算時:AGNES算法被稱為均鏈接

算法流程

image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容