1. 程式人生 > >無監督分類:聚類分析(K均值)

無監督分類:聚類分析(K均值)

1.K均值聚類

K均值聚類是最基礎的一種聚類方法。K均值聚類,就是把看起來最集中、最不分散的簇標籤分配到輸入訓練樣本{xi}中。具體而言就是通過下式計算簇y的分散狀況:
在這裡,∑i,yi=y表示的是滿足yi=y的y的和。
μy是指簇y的中心。ny為屬於簇y的樣本總數。利用上述定義,對於所有的簇y=1,2,3,..,c的下式和最小時,決定其所屬的簇標籤。
然而,上述的最優化過程的計算時間隨著樣本數目n的增加呈現指數級的增長,當n為較大的數值的時候,很難對其進行高精度的求解。因此在實際應用中,一般將樣本逐個分類到距離最近的聚類中,並重復這一操作,直到最終求得其區域性最優解。
K均值聚類的演算法流程如下所示:

K均值聚類的一個例項:
K均值聚類演算法的例項。方框表示的是簇中心

2.核K均值聚類

由於K均值聚類是依據歐氏距離||x-μy||的大小來決定樣本所屬的簇,因此只能處理線性可分得聚類問題。 同理,我們可以採用核對映的方法,可以處理非線性可分的聚類問題(核K均值聚類演算法)。具體而言,就是把上市的歐式距離的平方用樣本間的內積來表示,如下:
接著,把上式的內積置換為核函式K(x,x'),就變成了核K均值聚類演算法。
在這裡,與(x,x')相對應的K(x,x')是與最小化無關的常數,因此實際計算過程中可以忽略。 利用核K均值聚類可以得到非線性的簇的分類結果。然而,採用核函式的非線性核K均值聚類的方法,最終的聚類結果強烈依賴於初始值的選取,因此在實際應用中想要得到理想的解並非易事。

3.譜聚類

核K均值聚類方法,最終的聚類結果強烈以來與初始值的選取,當由核函式決定的特徵空間的緯度比較高的時候,這種依賴尤其明顯。對此,可以使用降維的方法來解決這個問題,這種方法稱為譜聚類。 前面也介紹了很多的無監督聚類方法。其中也包括可以很好地保護原始資料中的簇構造的區域性保持投影法,作為聚類分析的前處理是一種很好的選擇。譜聚類,首先在核特徵空間中應用區域性保持投影法,然後直接應用常規的K均值聚類方法(並非核函式的方法)。 譜聚類的具體演算法流程如下:
利用譜聚類的一則例項如下:
a表示的原始二維資料應用拉普拉斯特徵對映法向一維部分空間進行對映,就可以得到b所示的只有兩點的資料結果。對得到的b結果,利用K均值聚類處理後,就可以得到c那樣的兩個點分別代表一個聚類結果,再把得到的簇標籤對映到原始的二維資料中,就可以得到d所示的自然地聚類結果。

4.調整引數的自動選取

核K均值聚類法和譜聚類的結果依賴於高斯核函式的頻寬等核引數的選擇。這一塊重點討論聚類方法中根據更重客觀條件自動決定這些引數的方法。 聚類演算法中,通過d次維的實向量樣本{xi},求得c中標量值1,...,c對應的簇標籤{yi}。這一操作可以被理解為將d次維的實向量中包含的資訊,通過標量c進行壓縮。如下所示:
基於這樣的觀點,一般認為簇標籤{yi}比原始的樣本{xi}包含更多的資訊,可以得到更好的聚類結果。 簇標籤{yi}包含的樣本{xi}的資訊量,可以通過互資訊來進行測算。互資訊是資訊理論中的一個基本概念定義如下:
互資訊一般為非負的數值,只有當變數在統計上相互獨立的時候,互資訊為0.因此,可以通過互資訊的大小推匯出x,y的從屬性的強弱。綜上可知,互資訊越大,簇標籤{yi}包含樣本{xi}的資訊越多。 互資訊的值,可以採用KL散度密度比估計法進行高精度的計算。但是由於互資訊的計算公式中包含對數函式,對異常值的反應相當的明顯,所以經常採用沒有對數的平方損失互資訊來加以替換(泰勒公式)
接下來主要討論樣本{xi}和簇標籤{yi}之間的平方損失互資訊的最小二乘互資訊估計法。平方損失互資訊最小二乘互資訊估計法,不需要計算p(x,y)/p(x)/p(y)等概率,而是對將其組合而成的密度比函式進行學習。
為了對上述的密度比函式進行近似,採用與引數相關的線性模型:
然後對下式的J(a)為最小時對應的引數a進行最小二乘學習:
上式中,C是無關的常數,計算過程可以忽略。然後,對第一項和第二項中包含的期望值進行樣本平均近似,再加上L2正則化項,就可以的帶下面的學習規則:
其中,G是b*b階矩陣;h是b次維向量:
對於上面的凸的二次式,進行簡單的偏微分求導即可得到最優解:
將上面得到的密度比估計量,帶入與平方損失互資訊等價的下式:
就可以得到如下的平方損失互資訊的估計量:
正則化引數λ和基函式中包含的引數,可以通過與規則J相關的交叉驗證法加以確定。 下面是與各個簇的高斯模型相對應的最小二乘互資訊估計法的例項:
使用k近鄰相似度的譜聚類中,當k=10的時候平方損失互資訊的估計值達到最大值 由此可以得到最優的聚類效果