K-means聚類算法與EM算法


K-means聚類算法

K-means聚類算法也是聚類算法中最簡單的一種了,但是里面包含的思想卻不一般。

聚類屬於無監督學習。在聚類問題中,給我們的訓練樣本是clip_image004,每個clip_image006,沒有了y。

K-means算法是將樣本聚類成k個簇(cluster),具體算法描述如下:

1、 隨機選取k個聚類質心點(cluster centroids)為clip_image008[6]

2、 重復下面過程直到收斂 {

對於每一個樣例i,計算其應該屬於的類

clip_image009

對於每一個類j,重新計算該類的質心

clip_image010[6]

}

 K是我們事先給定的聚類數,clip_image012[6]代表樣例i與k個類中距離最近的那個類,clip_image012[7]的值是1到k中的一個。質心clip_image014[6]代表我們對屬於同一個類的樣本中心點的猜測,重復迭代第一步和第二步直到質心不變或者變化很小。

   K-means面對的第一個問題是如何保證收斂,前面的算法中強調結束條件就是收斂,可以證明的是K-means完全可以保證收斂性。下面我們定性的描述一下收斂性,我們定義畸變函數(distortion function)如下:

     clip_image016[6]

     J函數表示每個樣本點到其質心的距離平方和

     K-means是要將J調整到最小。

假設當前J沒有達到最小值,那么首先可以固定每個類的質心clip_image014[8],調整每個樣例的所屬的類別clip_image012[9]來讓J函數減少,同樣,固定clip_image012[10],調整每個類的質心clip_image014[9]也可以使J減小。這兩個過程就是內循環中使J單調遞減的過程。當J遞減到最小時,clip_image018[6]和c也同時收斂。

由於畸變函數J是非凸函數,意味着我們不能保證取得的最小值是全局最小值,也就是說k-means對質心初始位置的選取比較感冒,但一般情況下k-means達到的局部最優已經滿足需求。但如果你怕陷入局部最優,那么可以選取不同的初始值跑多遍k-means,然后取其中最小的J對應的clip_image018[8]和c輸出。

下面累述一下K-means與EM的關系:

首先回到初始問題,我們目的是將樣本分成K個類,其實說白了就是求一個樣本例的隱含類別y,然后利用隱含類別將x歸類。由於我們事先不知道類別y,那么我們首先可以對每個樣例假定一個y吧,但是怎么知道假定的對不對呢?怎樣評價假定的好不好呢?

我們使用樣本的極大似然估計來度量,這里就是x和y的聯合分布P(x,y)了。如果找到的y能夠使P(x,y)最大,那么我們找到的y就是樣例x的最佳類別了,x順手就聚類了。但是我們第一次指定的y不一定會讓P(x,y)最大,而且P(x,y)還依賴於其他未知參數,當然在給定y的情況下,我們可以調整其他參數讓P(x,y)最大。但是調整完參數后,我們發現有更好的y可以指定,那么我們重新指定y,然后再計算P(x,y)最大時的參數,反復迭代直至沒有更好的y可以指定。

這個過程有幾個難點:

第一怎么假定y?是每個樣例硬指派一個y還是不同的y有不同的概率,概率如何度量。

第二如何估計P(x,y),P(x,y)還可能依賴很多其他參數,如何調整里面的參數讓P(x,y)最大。

EM算法的思想E步就是估計隱含類別y的期望值,M步調整其他參數使得在給定類別y的情況下,極大似然估計P(x,y)能夠達到極大值。然后在其他參數確定的情況下,重新估計y,周而復始,直至收斂。

從K-means里我們可以看出它其實就是EM的體現,E步是確定隱含類別變量clip_image024[6]M步更新其他參數clip_image018[9]來使J最小化。這里的隱含類別變量指定方法比較特殊,屬於硬指定,從k個類別中硬選出一個給樣例,而不是對每個類別賦予不同的概率。總體思想還是一個迭代優化過程,有目標函數,也有參數變量,只是多了個隱含變量,確定其他參數估計隱含變量,再確定隱含變量估計其他參數,直至目標函數最優。

      EM算法就是這樣,假設我們想估計知道AB兩個參數,在開始狀態下二者都是未知的,但如果知道了A的信息就可以得到B的信息,反過來知道了B也就得到了A。可以考慮首先賦予A某種初值,以此得到B的估計值,然后從B的當前值出發,重新估計A的取值,這個過程一直持續到收斂為止。

 EM的意思是“Expectation Maximization

http://blog.csdn.net/zouxy09/article/details/8537620

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM