K Means聚類方法與EM演算法之間的關係

2021-09-12 02:33:45 字數 2155 閱讀 1877

將樣本分成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)最大。

k-means聚類演算法

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

聚類屬於無監督學習。在聚類問題中,給我們的訓練樣本是

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

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

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

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

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

k是我們事先給定的聚類數,

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

j函式表示每個樣本點到其質心的距離平方和。

k-means是要將j調整到最小。

假設當前j沒有達到最小值,那麼首先可以固定每個類的質心

由於畸變函式j是非凸函式,意味著我們不能保證取得的最小值是全域性最小值,也就是說k-means對質心初始位置的選取比較感冒,但一般情況下k-means達到的區域性最優已經滿足需求。但如果你怕陷入區域性最優,那麼可以選取不同的初始值跑多遍k-means,然後取其中最小的j對應的

e步就是估計隱含類別y的期望值,m步調整其他引數使得在給定類別y的情況下,極大似然估計p(x,y)能夠達到極大值。然後在其他引數確定的情況下,重新估計y,周而復始,直至收斂。

從k-means裡我們可以看出它其實就是em的體現,e步是確定隱含類別變數。這裡的隱含類別變數指定方法比較特殊,屬於硬指定,從k個類別中硬選出乙個給樣例,而不是對每個類別賦予不同的概率。總體思想還是乙個迭代優化過程,有目標函式,也有引數變數,只是多了個隱含變數,確定其他引數估計隱含變數,再確定隱含變數估計其他引數,直至目標函式最優。

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

em的意思是「expectation maximization」在我們上面這個問題裡面,我們是先隨便猜一下男生(身高)的正態分佈的引數:如均值和方差是多少。例如男生的均值是1公尺7,方差是0.1公尺(當然了,剛開始肯定沒那麼準),然後計算出每個人更可能屬於第乙個還是第二個正態分佈中的(例如,這個人的身高是1公尺8,那很明顯,他最大可能屬於男生的那個分布),這個是屬於expectation一步。有了每個人的歸屬,或者說我們已經大概地按上面的方法將這200個人分為男生和女生兩部分,我們就可以根據之前說的最大似然那樣,通過這些被大概分為男生的n個人來重新估計第乙個分布的引數,女生的那個分布同樣方法重新估計。這個是maximization。然後,當我們更新了這兩個分布的時候,每乙個屬於這兩個分布的概率又變了,那麼我們就再需要調整e步……如此往復,直到引數基本不再發生變化為止。

**:

K Means聚類和EM演算法複習總結

摘要 1.演算法概述 2.演算法推導 3.演算法特性及優缺點 4.注意事項 5.實現和具體例子 6.適用場合 內容 1.演算法概述 k means演算法是一種得到最廣泛使用的聚類演算法。它是將各個聚類子集內的所有資料樣本的均值作為該聚類的代表點。k means 計算過程 1 隨機選擇k個類簇的中心 ...

EM聚類演算法

em演算法也稱期望最大化 expectation maximum,簡稱em 演算法它是乙個基礎演算法,是很多機器學習領域演算法的基礎,比如隱式馬爾科夫演算法 hmm lda主題模型的變分推斷等等。em演算法解決這個的思路是使用啟發式的迭代方法,既然我們無法直接求出模型分布引數,那麼我們可以先猜想隱含...

K Means聚類演算法

k means聚類演算法 intergret kmeans演算法的基本思想是初始隨機給定k個簇中心,按照最鄰近原則把待分類樣本點分到各個簇。然後按平均法重新計算各個簇的質心,從而確定新的簇心。一直迭代,直到簇心的移動距離小於某個給定的值。k means聚類演算法主要分為三個步驟 1 第一步是為待聚類...