一个算法对于某个输入的循环次数是可以事先估计出来的_结合各路博客的EM算法理解...
本文主要是記錄個(gè)人對(duì)EM算法的理解,原料都是基于各路博客,這里對(duì)原文博主表示感謝。
Part 1:
第一個(gè)博客來自于 https://www.jianshu.com/p/1121509ac1dc 。基礎(chǔ)版本的EM算法不用多說,理解沒有難度。進(jìn)階版花了我一些時(shí)間才理解到。
進(jìn)階版的估計(jì)方法變成了對(duì)期望的計(jì)算,P1表示的是硬幣1出現(xiàn)正面的概率,P1計(jì)算方式可以為 P1=正面出現(xiàn)的次數(shù)/總共拋次數(shù),也可以為 P1 = 正面出現(xiàn)次數(shù)的期望/總共拋出次數(shù)的期望,總共拋出次數(shù)的期又等于正面出現(xiàn)次數(shù)的期望+反面出現(xiàn)次數(shù)的期望。
正面拋出次數(shù)的期望 = 硬幣1被選中的概率*正面出現(xiàn)的次數(shù),同理
反面出現(xiàn)次數(shù)的期望 = 硬幣1被選中的概率*反面出現(xiàn)的次數(shù)。
硬幣1被選中的概率就來自于原文中進(jìn)階版的第二個(gè)表格。然后才有了第四個(gè)表格,從而得出P1的估計(jì)值。
有了P1后,就可以回過去重新計(jì)算進(jìn)階版的第二個(gè)表格,然后再沿著這個(gè)步驟得出新的P1。
=================================================
Part 2:
第二個(gè)博客來自于 https://blog.csdn.net/zouxy09/article/details/8537620 。后面的公式推導(dǎo)沒有完全看懂,主要是用這個(gè)博客中的例子來理解使用EM算法對(duì)來自不同分布的數(shù)據(jù)點(diǎn)進(jìn)行分類。
問題是有了一堆觀測(cè)點(diǎn)(分高),已知這些觀測(cè)點(diǎn)符合2種高斯分布(男/女),求這兩種高斯分布得參數(shù)。
隨機(jī)初始化這兩個(gè)高斯分布的參數(shù)theta1, theta2。用gauss密度函數(shù)得出每個(gè)樣本的概率P(xi|theta),這個(gè)P表示的是數(shù)據(jù)點(diǎn)xi在分布theta上的概率。
區(qū)分一個(gè)數(shù)據(jù)點(diǎn)是什么類別,在這里可以看成比較數(shù)據(jù)點(diǎn)xi在哪個(gè)分布上的概率更高,就將這個(gè)數(shù)據(jù)點(diǎn)標(biāo)記為哪個(gè)類別(感覺就是generative model)。如果P(xi|theta1)>P(xi|theta2)那么xi就是男生,反之就是女生,如果出現(xiàn)相等的情況,就隨機(jī)選個(gè)類別。
現(xiàn)在問題是我們并不知道這兩個(gè)theta,那就不知道數(shù)據(jù)點(diǎn)對(duì)于的P,沒有P就沒辦法label data。于是我們就隨機(jī)兩個(gè)theta出來,標(biāo)一輪數(shù)據(jù),此時(shí)觀測(cè)到的數(shù)據(jù)點(diǎn)就有了標(biāo)記,也就是被分成了男生女生。
然后通過被標(biāo)為男生的數(shù)據(jù)點(diǎn)求出新的theta1,被標(biāo)記為女生的數(shù)據(jù)點(diǎn)求出新的theta2. 求新的theta用同一類別點(diǎn)的聯(lián)合概率(實(shí)際上為了簡(jiǎn)化計(jì)算是用對(duì)數(shù)聯(lián)合概率)求似然。但是最后化簡(jiǎn)的結(jié)果就是所有點(diǎn)的平均。過程見 https://www.jiqizhixin.com/articles/2018-01-09-6
再用得到的新的參數(shù)再去分類數(shù)據(jù)點(diǎn),然后繼續(xù)更新模型參數(shù),直到收斂/人為停止。
這樣我們就實(shí)現(xiàn)了基礎(chǔ)版的EM算法來分類數(shù)據(jù)。
=================================================
Part 3:
進(jìn)階版本的EM算法數(shù)據(jù)分類跟第一個(gè)博客中的思路一樣,采用期望的方式。我們這里將一個(gè)數(shù)據(jù)點(diǎn)判斷為有多少概率是男生,有多少概率是女生,而不再是用P(xi|theta1)>P(xi|theta2)那么xi就是男生,反之就是女生。仿照博客1中進(jìn)階版本的表示
男生 女生
x1 75% 25%
x2 65% 35%
....
某個(gè)數(shù)據(jù)點(diǎn)在某個(gè)類別上的期望是,這個(gè)點(diǎn)取到這個(gè)類別的概率*這個(gè)數(shù)據(jù)點(diǎn)在這個(gè)類別上的概率 公式表示出來 P(cj|theta1)P(xi|cj;theta1),the first term 是數(shù)據(jù)點(diǎn)xi取到類別cj的概率,就是上表中某一行中男生/女生的數(shù)值,第二項(xiàng)是數(shù)據(jù)點(diǎn)在類別cj上的概率(gauss概率密度函數(shù)),上面表格每行的和為1(一個(gè)數(shù)據(jù)點(diǎn)總共就那么多類別),有多少類別這樣的公式就有多少,然后求和:
sum_{j}^{|c|}P(cj|theta1)P(xi|cj;theta1) 就得到數(shù)據(jù)點(diǎn)xi在所有類別上的期望。期望的本質(zhì)是加權(quán)平均,期望越高,均值也就越高,某些任務(wù)下或者就可以理解成水平更高,所以我們希望在這里最大化這個(gè)期望。(不知道這里對(duì)于期望的理解,跟為什么要最大化期望的理解是否正確)
ps: 根據(jù)后面part4的理解,更新一下對(duì)這里的期望的理解。這里的期望表示的是數(shù)據(jù)點(diǎn)出現(xiàn)的最大概率,也就是說,我們希望得到的分布是讓該數(shù)據(jù)點(diǎn)最大可能的出現(xiàn)。這個(gè)數(shù)據(jù)點(diǎn)出現(xiàn)在分布1的概率是P(cj|theta1),在這個(gè)分布上這個(gè)點(diǎn)的概率是P(xi|cj;theta1) ,對(duì)所有類別求和之后就是數(shù)據(jù)點(diǎn)xi在所有分布上出現(xiàn)的期望了。我們自然是希望優(yōu)化讓這個(gè)期望最大。
其他所有的數(shù)據(jù)點(diǎn)在所有類別上的期望就是在這個(gè)基礎(chǔ)上再求個(gè)和
sum_{i}^{n} sum_{j}^{|c|}P(cj|theta1)P(xi|cj;theta1)
我們的目標(biāo)就是最大化這個(gè)formula。有幾個(gè)類別在這個(gè)formula中就有幾個(gè)theta,對(duì)相應(yīng)的theta求偏導(dǎo)就可以得到新的theta,然后再重新計(jì)算對(duì)數(shù)據(jù)點(diǎn)在每個(gè)類別下可能的概率,循環(huán)往復(fù)。
=================================================
這里不理解的地方是,為什么有些文章里面將EM跟Bayes扯上關(guān)系,諸如
從最大似然估計(jì)開始,你需要打下的機(jī)器學(xué)習(xí)基石?www.jiqizhixin.com還有論文 Text Classification from Labeled and Unlabeled Documents using EM。
希望能得到指點(diǎn)。
================================================
Part 4:
對(duì)上面的問題,終于找到答案,在周志華的‘機(jī)器學(xué)習(xí)’一書中的高斯混合聚類中有很好的解釋。
對(duì)于一個(gè)數(shù)據(jù)點(diǎn)xi在某一個(gè)類別cj上的概率用Bayes公式表示出來就是:
P(cj|xi) = p(cj)*p(xi|cj)/p(xi)
p(cj)就是xi取到cj的概率,part3表格中某一行中(某一個(gè)數(shù)據(jù)),某一列(某個(gè)類別)的數(shù)值。
p(xi|cj)就是cj分布下的似然。
p(xi)是需要注意的地方,它是xi在所有類別上出現(xiàn)的概率,也就是在所有類別上的期望了,表示為:
sum_{j}^{|c|}p(cj)p(xi|cj)。
這樣一來通過Bayes公式,我們就能得到xi在cj上的概率,以此類推可以得到xi在所有類別上的概率。然后取概率最大的類別標(biāo)記數(shù)據(jù)點(diǎn)xi。
總結(jié)來看,前面迷糊的問題的答案是Bayes在這里跟EM的關(guān)系是,先用EM尋找各個(gè)類別分布的參數(shù),然后用Bayes來分類。
================================================
新問題,在part3優(yōu)化后,就能得出來一個(gè)數(shù)據(jù)點(diǎn)在不同分布上的概率了,直接取概率最大的來標(biāo)記xi不就完了,為啥還要整這個(gè)Bayes?
總結(jié)
以上是生活随笔為你收集整理的一个算法对于某个输入的循环次数是可以事先估计出来的_结合各路博客的EM算法理解...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python jit_Pyston是一个
- 下一篇: connection refused_E