1. 程式人生 > >CS229 Machine Learning學習筆記:Note 7(K-means聚類、高斯混合模型、EM算法)

CS229 Machine Learning學習筆記:Note 7(K-means聚類、高斯混合模型、EM算法)

learn 不同的 inf ear 公式 course splay alt spa

K-means聚類

ng在coursera的機器學習課上已經講過K-means聚類,這裏不再贅述

高斯混合模型

問題描述

聚類問題:給定訓練集\(\{x^{(1)},\cdots,x^{(m)}\}\),每個數據沒有任何標簽。這是一個無監督學習問題

模型描述

首先,我們認為每個數據所屬的類別滿足一定的概率分布。定義隱含隨機變量(latent random variable)\(z^{(1)},\cdots,z^{(m)}\),隨機變量\(z^{(i)}\)代表了第i個數據\(x^{(i)}\)所屬的類別。

每個\(z^{(i)}\in\{1,\cdots,k\}\)\(z^{(i)}\sim \mathrm{Multinomial}(\phi)\)

,即每個\(z^{(i)}\)服從由參數\(\phi_1,\cdots,\phi_k\)決定的多項式分布,\(p(z^{(i)}=j)=\phi_j\)\(\sum_{j=1}^k \phi_j=1\)

另外,我們認為對於k個不同的標簽,相對應有k個不同的多元高斯分布。在已知\(x^{(i)}\)所屬類別\(z^{(i)}=j\)後,\(x^{(i)}\)服從其類別\(j\)對應的多元高斯分布:\((x^{(i)}|z^{(i)}=j)\sim \mathcal N (\mu_j,\Sigma_j)\);進一步,我們可以得到\(x^{(i)},z^{(i)}\)的聯合分布:
\[p(x^{(i)},z^{(i)})=p(x^{(i)}|z^{(i)})p(z^{(i)})\]

整個模型可以描述為:對於每個樣本\(x^{(i)}\),首先根據多項式分布隨機生成其標簽\(z^{(i)}\)(隱含隨機變量),然後根據標簽\(z^{(i)}\)對應的多元高斯分布模型隨機生成該樣本\(x^{(i)}\)

該模型關於\(\phi,\mu,\Sigma\)的似然函數為:

\[\mathcal L(\phi,\mu,\Sigma)=\sum_{i=1}^m p(x^{(i)};\phi,\mu,\Sigma)\]

\[=\sum_{i=1}^m\sum_{j=1}^k p(x^{(i)}|z^{(i)}=j;\mu_j,\Sigma_j)p(z^{(i)}=j;\phi_j)\]

相應地,對數似然函數為:

\[l(\phi,\mu,\Sigma)=\sum_{i=1}^m \log p(x^{(i)};\phi,\mu,\Sigma)\]

\[=\sum_{i=1}^m\log[\sum_{j=1}^k p(x^{(i)}|z^{(i)}=j;\mu,\Sigma)p(z^{(i)}=j;\phi)]\]

這個式子不能通過令對數似然函數\(l\)對各個參數的偏導數=0來求得最優解。

但如果我們已知每個樣本的標簽\(z^{(i)}=j\)的話,即,\(p(z^{(i)}\neq j;\phi)=0\),此時對數似然函數可以簡化為

\[l(\phi,\mu,\Sigma)=\sum_{i=1}^m\log[p(x^{(i)}|z^{(i)};\mu,\Sigma)p(z^{(i)};\phi)]\]

\[l(\phi,\mu,\Sigma)=\sum_{i=1}^m[\log p(x^{(i)}|z^{(i)};\mu,\Sigma)+\log p(z^{(i)};\phi)] \]

此時再對各參數求偏導,並令偏導函數=0,得到各參數取值:
技術分享圖片

此時各參數的式子和高斯判別分析模型非常相似,但如果現在不知道每個樣本的分類\(z^{(i)}\),就需要另一種算法:EM算法

EM(Expectation-Maximization)算法

Repeat until convergence{
____(E-step)
____For each i,j:
________令\(w_j^{(i)}:=p(z^{(i)}=j|x^{(i)};\phi,\mu,\Sigma)\)
____(M-step)更新各個參數
____\(\phi_j:=\frac 1 m \sum_{i=1}^m w_j^{(i)}\)
____\(\mu_j:=\frac{\sum_{i=1}^m w_j^{(i)}x^{(i)}}{\sum_{i=1}^m w_j^{(i)}}\)
____\(\Sigma_j:=\frac {\sum_{i=1}^m w_j^{(i)}(x^{(i)}-\mu_j)(x^{(i)}-\mu_j)^T}{\sum_{i=1}^m w_j^{(i)}}\)
}

可見,這裏用更"軟"的\(w_j^{(i)}\)替代了原有的\(1\{z^{(i)}=j\}\),其中:

\(p(z^{(i)}=j|x^{(i)};\phi,\mu,\Sigma)\)是在給定\(x^{(i)}\)的條件下\(z^{(i)}=j\)的後驗概率,根據貝葉斯公式有:

\[p(z^{(i)}=j|x^{(i)};\phi,\mu,\Sigma)=\frac{p(x^{(i)}|z^{(i)}=j;\mu,\Sigma)p(z^{(i)}=j;\phi)}{p(x^{(i)})}\]

\[=\frac{p(x^{(i)}|z^{(i)}=j;\mu,\Sigma)p(z^{(i)}=j;\phi)}{\sum_{l=1}^k p(x^{(i)}|z^{(i)}=l;\mu,\Sigma)p(z^{(i)}=l;\phi)}\]

\(p(x^{(i)}|z^{(i)}=l;\mu,\Sigma)\)是在標簽\(l\)對應的多元高斯分布模型中,\(x^{(i)}\)的概率

根據最開始的假設\(z^{(i)}\)服從多項式分布,\(p(z^{(i)}=l;\phi)=\phi_l\)

CS229 Machine Learning學習筆記:Note 7(K-means聚類、高斯混合模型、EM算法)