機(jī)器學(xué)習(xí)筆記 - 19. EM算法(講師:鄒博)

前言

EM算法拷姿,在學(xué)術(shù)界的重視程度惭载,要高于在工業(yè)界。
它是一個(gè)做數(shù)據(jù)優(yōu)化的方法响巢。
比如現(xiàn)在如果遇到問題棕兼,如果想對(duì)問題做優(yōu)化,大家或許只會(huì)用最大似然估計(jì)(MLE)寫目標(biāo)函數(shù)抵乓,當(dāng)然也可以換成最大熵模型的目標(biāo)函數(shù)伴挚。
但是如果遇到參數(shù)的個(gè)數(shù)比目標(biāo)函數(shù)的值還要多的時(shí)候靶衍,沒有辦法進(jìn)行求解,即數(shù)據(jù)中存在隱變量茎芋,即存在不可觀測(cè)變量颅眶,還想對(duì)參數(shù)求極值,但有些隱變量y不知道田弥,只知道x涛酗,即需要求解(x, y, θ)中的參數(shù)θ,當(dāng)然順便想求解隱變量y本身偷厦。
這種時(shí)候商叹,可以嘗試期望最大化算法,即EM算法

主要內(nèi)容

2018-10-07 20_05_15-【鄒博_chinahadoop】機(jī)器學(xué)習(xí)升級(jí)版VII(七).png

該算法的提出時(shí)間為1977年只泼。

EM算法可以解決很多問題剖笙,比如估計(jì)身高。


2018-10-07 20_07_52-【鄒博_chinahadoop】機(jī)器學(xué)習(xí)升級(jí)版VII(七).png

此節(jié)課的內(nèi)容分兩部分:
第一部分:使用歐拉(Euler)式的方法來討論
可能并不是對(duì)的请唱,但很直觀弥咪,了解即可。
第二部分:使用高斯(Gauss)式的方法來討論十绑。
非常嚴(yán)格聚至,過程一步一步,一環(huán)扣一環(huán)本橙。但是需要掌握

名詞解釋

EM算法本身是一個(gè)求解帶隱變量y扳躬,以及含有模型參數(shù)θ的模型,當(dāng)然甚亭,往往是要求取給定的樣本x坦报,即P(x|y, θ)
但是落地的時(shí)候,說的模型是假設(shè)數(shù)據(jù)服從混合高斯模型(GMM)狂鞋,利用EM算法片择,求解混合高斯模型的參數(shù)。
亦即有兩個(gè)或多個(gè)高斯模型:
如均值是μ1, 方差是σ12骚揍,即α1N(μ1, σ12)
此外還有:
α2N(μ2, σ22)
...
αkN(μk, σk2)
即k個(gè)高斯模型字管。
將這些高斯模型混在一起,形成高斯混合模型信不,即GMM嘲叔。
其實(shí)在講解K均值(K-Means)時(shí),已經(jīng)談到過抽活,即:
方差:σ12 = σ22 = ... = σk2硫戈,并且它們都是對(duì)角陣,其實(shí)就可以使用K均值算法下硕,對(duì)每個(gè)樣本做簇的標(biāo)記丁逝。
但是如果方差不相等的話汁胆,推廣為一般的高斯分布,那么K均值可能并不適用
那么此時(shí)可以嘗試EM算法霜幼。
注意: EM,即期望最大化罪既,是需要解釋說明的算法(Algorithm);GMM丢间,高斯混合模型烘挫,是需要落地的模型(Model)

課堂問答

問:EM算法主要運(yùn)用在哪一塊牌捷?是自然語(yǔ)言處理么涡驮?
答:不見得只是用于自然語(yǔ)言處理。有可能會(huì)用在哪呢撤防?比如如果想用于主題模型棒口,比如有一些文檔寄月,每個(gè)文檔有若干個(gè)詞,這些都是已知的无牵。我們希望了解每個(gè)文檔有哪些topic漾肮,即這些Topic是什么?(Topic Model)茎毁,拿天龍八部為例克懊,比如“契丹”,即主題或許是政治七蜘;“王語(yǔ)嫣”谭溉,即主題或許偏向愛情。
即可以得到統(tǒng)計(jì):
文檔:天龍八部橡卤;武俠主題比重0.8扮念,愛情比重0.15,歷史碧库、政治柜与。巧勤。踢关。這些主題的比重各是多少签舞?
這相當(dāng)于主題分布,有多少個(gè)主題就是多少個(gè)類別搂鲫。
然后每一個(gè)主題魂仍,比如:P(大理|武俠),即武俠這個(gè)主題當(dāng)中菠劝,大理出現(xiàn)的比例是多少赊舶?假定有10萬個(gè)詞,在下圖中的p(Wj|Zk)赶诊,即10萬點(diǎn)分布寓调。
下面的模型的意義在于:
通過文檔->得到N個(gè)主題->主題對(duì)應(yīng)N個(gè)詞捶牢,任何節(jié)點(diǎn)D,任何節(jié)點(diǎn)Z灸蟆,任何節(jié)點(diǎn)W都是隨機(jī)變量可缚,并且給定文檔時(shí)候的主題,其概率是多項(xiàng)分布描姚,給定文檔的詞也是多項(xiàng)分布。
當(dāng)給定多篇文檔的時(shí)候绊寻,比如M篇文檔,文檔本身我們知道,詞本身我們也知道王凑,但是每一個(gè)文檔包含的主題是什么,每一個(gè)主題所對(duì)應(yīng)的詞分布是什么弱睦,是未知的,但是通過文檔看到詞的概率是已知的火惊。
因?yàn)槲臋n是已給定的,我們只需要通過頻率去統(tǒng)計(jì)一下寿弱。我們認(rèn)為頻率的極限是概率症革,總是可以去解釋的。
主要問題在于我們不知道隱變量Z,然后我們現(xiàn)在有的是文檔和詞語(yǔ)雷袋,將文檔與詞語(yǔ)的配對(duì)楷怒,記為樣本數(shù)據(jù),即X向量:(D, W)刃泡。
P(z|d)與P(w|z),我們認(rèn)為目的是求參數(shù)θ,Z本身是隱變量主題模型锻离,這其實(shí)就是:P(θ, Z|X),即X有了虱朵,但是隱變量Z不清楚,我們的參數(shù)θ想估計(jì)一個(gè)這個(gè)問題羞福。
EM算法即可以解決這種P(θ, Z|X)類似的問題遭顶。
這個(gè)并不是高斯混合模型(GMM)喘批,這其實(shí)是兩個(gè)多項(xiàng)分布。

雖然EM算法落地可以通過高斯混合模型來講敌厘,但是本質(zhì)來說,高斯混合模型與EM算法并沒有什么關(guān)系。
鄒博老師舉的例子:比如小龍女與王語(yǔ)嫣本身沒關(guān)系毯焕,但是演過小龍女的演員婆咸,或許也可以演王語(yǔ)嫣块差,就感覺這兩個(gè)人很像状蜗。

2018-10-07 20_29_23-【鄒博_chinahadoop】機(jī)器學(xué)習(xí)升級(jí)版VII(七).png

問:EM算法能用在金融領(lǐng)域么缸血?
答:不清楚,至少鄒博目前在金融領(lǐng)域沒有用到EM算法械筛。

問:K-Means僅適用于各個(gè)變量呈正態(tài)分布的情況捎泻,而EM算法對(duì)數(shù)據(jù)的要求沒有要求是么?
答:EM算法對(duì)數(shù)據(jù)分布要求是先有先驗(yàn)判定埋哟,比如我們將數(shù)據(jù)建模為多個(gè)多項(xiàng)分布或者高斯混合分布笆豁,即人工先建模扩氢,然后推公式双饥,再迭代。
而K-Means算法必然是服從混合高斯分布的统求。

問:K-Means的數(shù)據(jù)不一定需要呈現(xiàn)正態(tài)分布微驶?
答:從理論上說,K-Means算法需要滿足混合高斯分布腾么,但不等同于高斯分布。如果不滿足的話,效果不一定非常差宵蛀,但是不夠符合理論征候。

問:EM算法解決的事情有隱藏的東西埠巨,需要求參數(shù)也要求中間隱藏東西?
答:是的鹃锈。

問:貌似θ才是隱變量,Z是觀測(cè)值秸讹?
答:Z是隱變量啊棕诵,即主題模型犀变,因?yàn)椴豢次臋n萨西,只根據(jù)詞匯,完全不知道主題是什么废麻。所以Z是觀測(cè)不到的隱變量荠卷。

使用歐拉(Euler)式的方法來討論

2018-10-07 21_02_11-【鄒博_chinahadoop】機(jī)器學(xué)習(xí)升級(jí)版VII(七).png
2018-10-07 21_02_51-【鄒博_chinahadoop】機(jī)器學(xué)習(xí)升級(jí)版VII(七).png
2018-10-07 21_03_28-【鄒博_chinahadoop】機(jī)器學(xué)習(xí)升級(jí)版VII(七).png

如圖,K-Means算法無法給出某個(gè)樣本屬于該簇的后驗(yàn)概率。
如果需要計(jì)算后驗(yàn)概率撬即,就需要使用EM算法挨摸。

最大似然估計(jì)

2018-10-07 21_05_19-【鄒博_chinahadoop】機(jī)器學(xué)習(xí)升級(jí)版VII(七).png
2018-10-08 19_54_23-【鄒博_chinahadoop】機(jī)器學(xué)習(xí)升級(jí)版VII(七).png
2018-10-08 19_58_33-【鄒博_chinahadoop】機(jī)器學(xué)習(xí)升級(jí)版VII(七).png

MLE(Maximum likelihood estimation)即最大似然估計(jì)的縮寫:


2018-10-08 20_01_44-【鄒博_chinahadoop】機(jī)器學(xué)習(xí)升級(jí)版VII(七).png

對(duì)似然概率取對(duì)數(shù)雇盖,化簡(jiǎn):


2018-10-08 20_13_23-【鄒博_chinahadoop】機(jī)器學(xué)習(xí)升級(jí)版VII(七).png

對(duì)μ與σ分別求偏導(dǎo)忿等,并且偏導(dǎo)等于0,其中μ為均值崔挖,σ為偽方差(因?yàn)榉讲顟?yīng)該是除以n-1)贸街。通過樣本得到均值與方差庵寞,就能得到估計(jì)值,這就是最大似然估計(jì)的最終結(jié)論:


2018-10-08 20_15_19-【鄒博_chinahadoop】機(jī)器學(xué)習(xí)升級(jí)版VII(七).png

設(shè)定一個(gè)場(chǎng)景薛匪,解釋EM算法:


2018-10-08 20_20_04-【鄒博_chinahadoop】機(jī)器學(xué)習(xí)升級(jí)版VII(七).png

2018-10-08 20_22_02-【鄒博_chinahadoop】機(jī)器學(xué)習(xí)升級(jí)版VII(七).png

延伸捐川,用于解釋問題是什么:
接上圖,Σi有可能是數(shù)字逸尖,也可能是nxn的矩陣古沥,μi有可能是數(shù)字,也可能是n維的向量娇跟。
關(guān)鍵在于樣本是一元還是多元的岩齿。
舉例:
如果設(shè)定有數(shù)據(jù)身高=h,體重=w苞俘,腰圍=r盹沈,則構(gòu)成(h, w, r),任何一個(gè)樣本給定了3x3維度的正定對(duì)稱的方陣(如身高與身高的方差吃谣,身高與體重的方差乞封,身高與腰圍的方差。岗憋。肃晚。):
Σ =
hh2 σhw2 σhr2
σwh2 σww2 σwr2
σrh2 σrw2 σrr2)

現(xiàn)在估計(jì)參數(shù)π1π2...πk是什么,估計(jì)μ以及Σ是什么

課堂問答

問:神經(jīng)網(wǎng)絡(luò)能不能做無監(jiān)督學(xué)習(xí)澜驮?
答:我們現(xiàn)在其實(shí)是利用輸出的值去做陷揪,但是可以做自編碼。如果假定沒有y杂穷,輸入是x悍缠,輸出其實(shí)還是x嘁锯。我們來調(diào)整中間網(wǎng)絡(luò)權(quán)值秸仙,得到自編碼,最后把x扔了鼠冕。這樣倒數(shù)第二列是x的特征廊蜒,這個(gè)時(shí)候我們可以認(rèn)為實(shí)現(xiàn)了無監(jiān)督學(xué)習(xí)趴拧。但是是用有監(jiān)督的方式,做無監(jiān)督的事山叮。

問:做最大似然估計(jì)是不是要求目標(biāo)函數(shù)必須是凸函數(shù)著榴?
答:不要求。比如屁倔,K-Means算法其實(shí)給定目標(biāo)函數(shù)也是最大似然估計(jì)所給的脑又,但并不是凸函數(shù)。因?yàn)镵-Means對(duì)初值敏感,有多個(gè)極值问麸,所以不會(huì)是凸函數(shù)往衷。
只是我們與大家所見到的函數(shù),大多是指數(shù)族分布严卖,如果有極值席舍,只有一個(gè),所以感覺是凸函數(shù)哮笆。

問:μ與Σ是可觀測(cè)變量還是隱變量来颤?π是隱變量么?
答:這里μ疟呐,Σ與π都是我們想去求解的未知的值脚曾,如果一定要區(qū)分东且,比如男性启具,女性的性別是隱變量,μi與π都是參數(shù)θ珊泳。

求解的過程:
首先建立目標(biāo)函數(shù)


2018-10-08 20_43_47-【鄒博_chinahadoop】機(jī)器學(xué)習(xí)升級(jí)版VII(七).png

N(xik, Σk)鲁冯,這個(gè)是一個(gè)給定了某個(gè)均值,方差之后色查,第i個(gè)樣本的概率密度薯演。
本質(zhì)上是這個(gè)(一元的),只是 把μ替換為μk秧了,把σ替換為 σk

2018-10-08 20_47_23-Start.png

只要μk與σk是已知的跨扮,那么給定一個(gè)樣本xi的時(shí)候,概率密度的值是可以計(jì)算的验毡。
此時(shí)如果有先驗(yàn)概率πk衡创,則下述式子是可以計(jì)算出來的(即第i個(gè)樣本發(fā)生的概率):

2018-10-08 20_52_06-Start.png

課堂問答

問:隱變量有多少如何確定?
答:隱變量有多少晶通,與K均值取幾個(gè)類似璃氢,不容易判定。至于有多少狮辽,需要根據(jù)樣本的特定一也,進(jìn)行嘗試,即隱變量其實(shí)是超參數(shù)喉脖。

問:剛剛的對(duì)數(shù)似然函數(shù)不用加負(fù)號(hào)么椰苟?
答:如果加負(fù)號(hào)就變成了取最小值,即變成了損失函數(shù)树叽。不加負(fù)號(hào)是取最大值舆蝴。通常做的時(shí)候,會(huì)取負(fù)對(duì)數(shù)似然,否則就變成取最大值须误。

鄒博首先通過歐拉的方式來討論:

1. Euler:

下面要做兩件事情:
PPT如下:


2018-10-08 20_59_44-【鄒博_chinahadoop】機(jī)器學(xué)習(xí)升級(jí)版VII(七).png
2018-10-10 21_43_19-【鄒博_chinahadoop】機(jī)器學(xué)習(xí)升級(jí)版VII(七).png

舉個(gè)例子:
假定得到x1, x2, x3, ..., xm挨稿,共m個(gè)樣本。
然后希望得到各個(gè)樣本的性別是男孩還是女孩:sex: boy/girl京痢,
即認(rèn)為boy服從高斯分布:N(μ1, σ1)奶甘,女孩服從高斯分布:N(μ2, σ2)。
然后各自與π1祭椰,π2相乘后臭家,再相加,所得到的結(jié)果:

π1·N(μ1, σ1)

2·N(μ2, σ2)

其目的就是求得其中的π1方淤,μ1, σ1以及π2钉赁,μ2, σ2
第一步:先驗(yàn)知識(shí)(蒙或者猜)
比如均值μ1 = 1.75;方差σ1 = 100
均值μ2 = 1.62携茂;方差σ2 = 80
這里是隨便說的你踩,沒有什么道理。讳苦。带膜。
π1 = π2 = 0.5
即,假定男女各半
老師的相關(guān)草稿如下:

2018-10-08 21_10_26-【鄒博_chinahadoop】機(jī)器學(xué)習(xí)升級(jí)版VII(七).png

繼續(xù)往下計(jì)算結(jié)果鸳谜。
比如x1的值是2.26膝藕,既然已經(jīng)通過先驗(yàn)得到假定均值與方差,那么就可以求概率密度:

2018-10-08 20_47_23-Start.png

如圖咐扭,等式右側(cè)可得到一個(gè)為常數(shù)的概率密度芭挽,假定是0.01,然后乘以π1 蝗肪,概率密度的意思:如果這個(gè)人是男孩的概率密度是幾袜爪;那么π1=0.5的含義是:在m個(gè)人隨機(jī)挑出一個(gè)人,是男孩的概率穗慕。

2018-10-08 21_16_37-【鄒博_chinahadoop】機(jī)器學(xué)習(xí)升級(jí)版VII(七).png

下面的草稿饿敲,是將μ與σ的參數(shù)1替換為參數(shù)2的值,然后得到另外一個(gè)概率:


2018-10-08 21_23_43-【鄒博_chinahadoop】機(jī)器學(xué)習(xí)升級(jí)版VII(七).png

現(xiàn)在對(duì)2.26這個(gè)人算出是男孩還是女孩的概率密度逛绵,做一個(gè)規(guī)劃怀各,然后將第一次計(jì)算的值,替換為規(guī)劃計(jì)算之后的值:


2018-10-08 21_27_03-【鄒博_chinahadoop】機(jī)器學(xué)習(xí)升級(jí)版VII(七).png

即得到:身高為2.26的人术浪,在先驗(yàn)參數(shù)下瓢对,是男孩的概率是71.42%,是女孩的概率是28.57%.
這是第一個(gè)樣本胰苏,即身高為2.26的情況硕蛹。
同理可以選更多樣本的情況,如
x2: 1.70
x3: 1.58
然后,將每個(gè)樣本法焰,都按照第一個(gè)樣本的形式算一遍秧荆,分別得到各個(gè)樣本在先驗(yàn)概率情況下,是男孩或女孩的概率:

2018-10-08 21_33_13-【鄒博_chinahadoop】機(jī)器學(xué)習(xí)升級(jí)版VII(七).png

然后可以往下計(jì)算新的一種情況:
將2.26 x 0.71, 2.26 x 0.29; 1.70 x 0.51, 1.70 x 0.49....埃仪,得到下面的草圖:

2018-10-10 20_41_39-【鄒博_chinahadoop】機(jī)器學(xué)習(xí)升級(jí)版VII(七).png

通過概率來解釋乙濒,即,2.26米的人卵蛉,71%的概率是男的颁股,29%的概率是女的。
男孩服從N(μ1, σ1)的高斯分布傻丝,如果是高斯分布甘有,均值與方差能否按照下述公式計(jì)算?
2018-10-10 20_48_21-【鄒博_chinahadoop】機(jī)器學(xué)習(xí)升級(jí)版VII(七).png

把剛剛計(jì)算的結(jié)論給代進(jìn)去葡缰,即將右側(cè)的計(jì)算結(jié)果給代進(jìn)去:
μ1的估計(jì)值 = (1.6046 + 0.87 + 0.474 + 1.287) / (0.71 + 0.51 + 0.3 + ... + 0.65)
σ12的估計(jì)值可以將μ1的估計(jì)值代入公式求得亏掀。
這樣,男孩的μ1的估計(jì)值與σ12的估計(jì)值就有了运准。
同理幌氮,可以求得女孩的μ2的估計(jì)值與σ22的估計(jì)值缭受。
同時(shí)μ1 / m即可得到所謂的π1的估計(jì)值
同理胁澳,μ2 / m也可以得到所謂的π2的估計(jì)值

回到剛剛隨便猜的地方:

2018-10-10 21_03_20-【鄒博_chinahadoop】機(jī)器學(xué)習(xí)升級(jí)版VII(七).png

再回到計(jì)算得來的估計(jì)值,即得到了一定的樣本信息:
2018-10-10 21_04_11-【鄒博_chinahadoop】機(jī)器學(xué)習(xí)升級(jí)版VII(七).png

同時(shí)米者,還有先驗(yàn)的一些情況韭畸,可能沒有收斂,但是沒關(guān)系蔓搞。
可以把計(jì)算出來的各個(gè)估計(jì)值胰丁,再重新做計(jì)算。
2018-10-10 21_06_08-【鄒博_chinahadoop】機(jī)器學(xué)習(xí)升級(jí)版VII(七).png

即重新算男孩喂分,女孩的均值與方差锦庸,以及參數(shù)π。
如此重復(fù)計(jì)算幾十次蒲祈,相信足夠收斂了甘萧。
收斂之后的參數(shù)們,就是我們要求的結(jié)論梆掸。

這個(gè)過程不難扬卷,可能并不嚴(yán)格,而這一過程酸钦,就是歐拉式的方法
下半段怪得,再利用嚴(yán)格的高斯的解法,解釋這樣做的結(jié)論,為什么是對(duì)的徒恋。

課堂問答

問:可以理解成身高 * 人數(shù)蚕断,人數(shù)是總?cè)藬?shù) * 是男性的概率。然后把總?cè)藬?shù)除掉歸一化入挣?
答: 是的基括,不過我們是用身高 * 是男孩或女孩的概率,比如男孩概率是0.65财岔,女孩概率是0.35风皿,
問: 第一次的先驗(yàn)參數(shù)怎么給出?是隨便給么匠璧?
答:我們根據(jù)先驗(yàn)經(jīng)驗(yàn)給的
問:與K-Means一樣桐款,隨便給個(gè)初值,然后不斷收斂就行夷恍?
答:是的魔眨。
問:后面得出的結(jié)果會(huì)和給出的先驗(yàn)參數(shù)有很大關(guān)系吧?
答:可能有關(guān)系酿雪,后半段會(huì)進(jìn)行解釋遏暴。
問:高斯混合聚類的過程就是這樣,只是多了一步指黎,最后把樣本歸類為概率最大的那一類朋凉?
答:是的。
問:隨便給一個(gè)初值會(huì)不會(huì)影響收斂醋安?這個(gè)函數(shù)是局部收斂還是全局收斂杂彭?
答:是局部收斂的,它可能有多個(gè)極值吓揪。
問:隨便給的話亲怠,要是我全給一樣的值,那最后算出來的豈不是還是一樣的柠辞?
答:這樣的話团秽,就真的分不開了。
問:這里的隱變量是哪一個(gè)叭首?
答:π或者說男孩與女孩的概率是隱變量习勤。
問:這應(yīng)該算一個(gè)無監(jiān)督模型吧?
答:是的。
問:第一次的參數(shù)是隨機(jī)估計(jì)的放棒,計(jì)算1輪后各個(gè)參數(shù)向哪個(gè)方向調(diào)整呢姻报?需要梯度下降求偏導(dǎo)么?
答:不需要间螟。剛才那個(gè)方法就是相關(guān)的做法吴旋。EM本身自帶梯度下降损肛。
問:如果不同分布,例如泊松分布荣瑟,都會(huì)收斂么治拿?
答:可以這么做。假定細(xì)胞培養(yǎng)皿笆焰,存在青霉素劫谅,紅霉素,以及其他毒素嚷掠,每個(gè)毒素的個(gè)數(shù)都服從泊松分布捏检,最終數(shù)一數(shù)細(xì)菌個(gè)數(shù)。它應(yīng)該符合混合泊松分布不皆。
問:會(huì)不會(huì)最后男女弄反了贯城?
答:可能會(huì)的。不過無監(jiān)督模型目的分簇霹娄,至于簇是什么能犯,再進(jìn)行給定就可以了。
問:什么是高斯混合模型犬耻?
答:剛剛的例子踩晶,比如男孩符合高斯分布,女孩符合高斯分布枕磁,將其混在一起渡蜻,就可以了。
問:對(duì)初值還是有限制的巴傅洹晴楔?
答:當(dāng)然,不能隨便給哈峭咒,至少符合常識(shí)~~~
問:為什么身高乘以概率?
答:身高乘以概率纪岁,目的是提取純男孩或純女孩的部分
問:高斯模型相交的越多越難分吧凑队?
答:是的
問:為什么均值這個(gè)參數(shù)是求的概率的平均值來迭代呢?
答:因?yàn)槲覀儎偛潘f的符合高斯分布幔翰,就可以用這個(gè)公式求均值:


2018-10-10 20_48_21-【鄒博_chinahadoop】機(jī)器學(xué)習(xí)升級(jí)版VII(七).png

嚴(yán)格的推導(dǎo)過程:使用高斯(Gauss)式的方法來討論

2018-10-10 21_45_07-【鄒博_chinahadoop】機(jī)器學(xué)習(xí)升級(jí)版VII(七).png
2018-10-24 20_12_38-【鄒博_chinahadoop】機(jī)器學(xué)習(xí)升級(jí)版VII(七).png

開始來想目標(biāo)函數(shù)的問題
如下圖:p(x|θ)就是目標(biāo)函數(shù)漩氨,最大似然概率,
其局部極值對(duì)應(yīng)的θ遗增,是需要尋找的最優(yōu)值叫惊。
l(θ) >= r(θ),而r(θ)是l(θ)的下界做修。
而r(θ)求極值是可以做的霍狰。

2018-10-24 20_14_34-【鄒博_chinahadoop】機(jī)器學(xué)習(xí)升級(jí)版VII(七).png

通過定義多個(gè)可以計(jì)算的r(θ)函數(shù)抡草,逐步獲得θ1,直到獲取l(θ)的局部最大值θ蔗坯,則此時(shí)的θ為局部最優(yōu)解康震。


2018-10-24 20_25_31-【鄒博_chinahadoop】機(jī)器學(xué)習(xí)升級(jí)版VII(七).png

以上推導(dǎo),為EM算法的整體思路宾濒。

課堂問答

問:這種算法是按梯度上升么腿短?
答:不見得是按梯度上升。如用某種方式求得藍(lán)色函數(shù)的極大值绘梦,方式為讓期望值取最大橘忱。這個(gè)就是EM的意思。
問:一般只能收到局部最優(yōu)么卸奉?
答:舉例鹦付,我們生活在這個(gè)世界,一直在做局部最優(yōu)择卦。
問:學(xué)機(jī)器學(xué)習(xí)的人應(yīng)該越來越多了敲长,怎么會(huì)越來越缺了?
答:因?yàn)閼?yīng)用機(jī)器學(xué)習(xí)的人越來越多了秉继。
問:r函數(shù)是什么樣的祈噪?
答:r函數(shù)是一會(huì)要說的重點(diǎn)。
問:如何沒有服從分布的假設(shè)尚辑,也就沒有了參數(shù)辑鲤,那么假設(shè)數(shù)據(jù)分布就是EM算法的前提么?
答:是的杠茬。
問:什么叫吉布斯采樣月褥?
答:在說到LDA的時(shí)候會(huì)談到這個(gè)。

Jensen不等式

2018-10-24 21_10_24-【鄒博_chinahadoop】機(jī)器學(xué)習(xí)升級(jí)版VII(七).png

z是一個(gè)隱變量瓢喉,
如x1, x2, ..., xi..., xm共有m個(gè)樣本宁赤,
x1的隱變量記為z1,x2的隱變量記為z2栓票,xi的隱變量記為zi..., xm的隱變量記為zm
這樣的話决左,任何一個(gè)xi有隱變量zi,zi的分布走贪,選擇某一個(gè)分布佛猛,記作Qi(zi),即第i個(gè)樣本它的分布坠狡。
l(θ)為最大似然函數(shù)继找,將樣本代入,公式推斷部分的part1 >= part2, 其中part1為對(duì)數(shù)函數(shù)逃沿,為紅線弧線婴渡,part2為線段部分幻锁。

2018-11-12 19_28_10-【鄒博_chinahadoop】機(jī)器學(xué)習(xí)升級(jí)版VII(七).png

課堂問答

問:假設(shè)數(shù)據(jù)分布然后求參數(shù),感覺EM算法的思路和解決的問題似乎和MCMC有點(diǎn)相似缩搅?
答:它們相似程度并不大越败,EM算法是指樣本服從分布并求解決,是基于推導(dǎo)的硼瓣;MCMC(蒙特卡洛馬爾科夫采樣)采樣方式究飞,是關(guān)于采樣的。

尋找盡量緊的下界

解決什么時(shí)候取等號(hào)的問題堂鲤。
P(x, z)/Q(z) 為定值c
即亿傅,Q(z) = c * P(x, z)


2018-11-12 19_34_41-【鄒博_chinahadoop】機(jī)器學(xué)習(xí)升級(jí)版VII(七).png

下面來看,Jensen不等式什么時(shí)候取等號(hào):

2018-12-12 18_44_18-【鄒博_chinahadoop】機(jī)器學(xué)習(xí)升級(jí)版VII(七).png

如圖瘟栖,y1 = y2, 則匯聚為1個(gè)點(diǎn)葵擎,換句話說p(x, z)/ Q(z) = C即定值,即滿足要求半哟。
2018-12-12 18_48_14-【鄒博_chinahadoop】機(jī)器學(xué)習(xí)升級(jí)版VII(七).png

即Q(z) = C * p(x, z)
假定z是隨機(jī)變量酬滤,
其對(duì)應(yīng)
z: z1, z2, ..., zk
其概率p對(duì)應(yīng): q1, q2, .. qk
q1+q2+...+qk = 1
則:
Q(z1) = q1 ... Q(zk) = qk
即C * p(x1, z1) + C * p(x2, z2) + ... + C * p(xk, zk) = 1
Q(z) = p(x, z) / Σzp(x, z)
繼續(xù)推證:
Q(z1) = p(x1, z1) / Σzp(x, z)
Q(z2) = p(x2, z2) / Σzp(x, z)
。寓涨。盯串。
Q(zk) = p(xk, zk) / Σzp(x, z)
如此可以確保Q(z1) +Q(z2) + 。戒良。体捏。 + Q(zk) = 1
Σzp(x, y) = p(x),=> p(x, z)/ p(x) = p(z|x) = Q(z)
即取條件概率Q(z) = p(z|x)糯崎,可以使得Jensen不等式的兩邊取得等號(hào)几缭。

Jensen不等式的>=的后面部分其實(shí)就是下圖紅框中函數(shù)r(x|θ):

2018-12-12 19_05_20-【鄒博_chinahadoop】機(jī)器學(xué)習(xí)升級(jí)版VII(七).png

將兩個(gè)過程綜合起來,即得到EM算法整體框架:
2018-12-12 19_11_33-【鄒博_chinahadoop】機(jī)器學(xué)習(xí)升級(jí)版VII(七).png

其中θ作為初值沃呢,是隨機(jī)給的年栓,或者根據(jù)先驗(yàn)情況,給出的θ樟插,然后x是樣本韵洋,然后其得到z的條件概率Qi(z(i)),本質(zhì)上黄锤,我們希望Jensen不等式能夠取等號(hào)。
將下圖紅框食拜,當(dāng)做Y鸵熟,即ΣQQ * Y = EQ(Y),或者說是對(duì)Y在Q的分布上求期望负甸。
2018-12-12 19_19_00-【鄒博_chinahadoop】機(jī)器學(xué)習(xí)升級(jí)版VII(七).png

進(jìn)一步換算為:lnEQ(Y) >= EQ(lnY)流强,但是我們?nèi)〉腝 如果等于 p(z|x, θ)痹届,能夠使得期望取相等,即:
第一步是取期望的過程打月。
第二步队腐,將Q替換為p(z|x, θ),即相當(dāng)于關(guān)于θ的函數(shù):γ(θ)奏篙,對(duì)于這樣一個(gè)函數(shù)就來去想任何一個(gè)辦法柴淘,求取它的最大值:
θ = arg maxθγ(θ)
第二步就是取θ的最大值
然后不停的迭代,即不斷求期望與θ最大值的過程
最后秘通,如果z的條件概率收斂了为严,不再發(fā)生變化了,θ也不再發(fā)生變化了肺稀,隱變量與參數(shù)θ就都有了第股。
下圖紅框內(nèi)容,即顯示迭代求取E與M的過程话原,這就是EM算法:
2018-12-12 19_34_10-【鄒博_chinahadoop】機(jī)器學(xué)習(xí)升級(jí)版VII(七).png

課堂問答

問:θ也是求局部最大么夕吻?
答:是的
問:每個(gè)樣本Xi對(duì)應(yīng)隱變量Z的分布Q都不一樣么?所以才記做Qi?
答:是的

從理論公式推導(dǎo)高斯混合模型(GMM):


2018-12-12 19_43_20-【鄒博_chinahadoop】機(jī)器學(xué)習(xí)升級(jí)版VII(七).png

第一步繁仁,求期望值涉馅,即求取條件概率的過程:
給定樣本,看樣本屬于哪一個(gè)分布的概率


2018-12-12 19_44_05-【鄒博_chinahadoop】機(jī)器學(xué)習(xí)升級(jí)版VII(七).png

第二步改备,求最大值:


2018-12-12 19_46_22-【鄒博_chinahadoop】機(jī)器學(xué)習(xí)升級(jí)版VII(七).png

對(duì)均值μ求偏導(dǎo):


2018-12-12 19_49_31-【鄒博_chinahadoop】機(jī)器學(xué)習(xí)升級(jí)版VII(七).png

令偏導(dǎo)等于0:


2018-12-12 19_50_44-【鄒博_chinahadoop】機(jī)器學(xué)習(xí)升級(jí)版VII(七).png

對(duì)方差求偏導(dǎo)控漠,令其等于0:
2018-12-12 19_52_11-【鄒博_chinahadoop】機(jī)器學(xué)習(xí)升級(jí)版VII(七).png

求關(guān)于φ的極值:


2018-12-12 19_53_08-【鄒博_chinahadoop】機(jī)器學(xué)習(xí)升級(jí)版VII(七).png

2018-12-12 19_54_53-【鄒博_chinahadoop】機(jī)器學(xué)習(xí)升級(jí)版VII(七).png

2018-12-12 19_55_43-【鄒博_chinahadoop】機(jī)器學(xué)習(xí)升級(jí)版VII(七).png

結(jié)論與歐拉式的推論,其實(shí)沒什么區(qū)別的


2018-12-12 19_56_32-【鄒博_chinahadoop】機(jī)器學(xué)習(xí)升級(jí)版VII(七).png

EM算法與什么分布沒什么關(guān)系悬钳,只要了解EM算法整體過程就可以盐捷。

pLSA用法沒那么多,但有助于理解EM算法


2018-12-12 20_01_36-【鄒博_chinahadoop】機(jī)器學(xué)習(xí)升級(jí)版VII(七).png
2018-12-12 20_03_34-【鄒博_chinahadoop】機(jī)器學(xué)習(xí)升級(jí)版VII(七).png

課堂問答

問:EM算法有哪些具體應(yīng)用默勾?有Scikit-Learn包么碉渡?隱馬爾科夫模型的概率是由EM算法計(jì)算的么?
答:Scikit-Learn有關(guān)于高斯混合模型的包母剥,隱馬爾科夫模型架诞,一個(gè)方式是可以使用EM算法來算,還有可以直接使用最大似然估計(jì)來算鼻弧。
問:假設(shè)的分布必須是相同的么呜投?
答:如果分布不同理論是可以的,但是推導(dǎo)公式會(huì)麻煩很多炫隶。比如高斯分布于高斯指數(shù)分布混合淋叶,那么公式就麻煩很多。在應(yīng)用中伪阶,大多都是相同分布煞檩。
問:如SVM处嫌,Logistic回歸等模型參數(shù),可以用EM算法求解么斟湃?
答:沒必要熏迹。
問:也就是參數(shù)非常多的時(shí)候采用EM?
答:不是凝赛,與參數(shù)多少?zèng)]關(guān)系注暗。只和有沒有隱變量有關(guān)系。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末哄酝,一起剝皮案震驚了整個(gè)濱河市友存,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌陶衅,老刑警劉巖屡立,帶你破解...
    沈念sama閱讀 218,755評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異搀军,居然都是意外死亡膨俐,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門罩句,熙熙樓的掌柜王于貴愁眉苦臉地迎上來焚刺,“玉大人,你說我怎么就攤上這事门烂∪橛洌” “怎么了?”我有些...
    開封第一講書人閱讀 165,138評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵屯远,是天一觀的道長(zhǎng)蔓姚。 經(jīng)常有香客問我,道長(zhǎng)慨丐,這世上最難降的妖魔是什么坡脐? 我笑而不...
    開封第一講書人閱讀 58,791評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮房揭,結(jié)果婚禮上备闲,老公的妹妹穿的比我還像新娘。我一直安慰自己捅暴,他們只是感情好恬砂,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蓬痒,像睡著了一般觉既。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上乳幸,一...
    開封第一講書人閱讀 51,631評(píng)論 1 305
  • 那天瞪讼,我揣著相機(jī)與錄音,去河邊找鬼粹断。 笑死符欠,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的瓶埋。 我是一名探鬼主播希柿,決...
    沈念sama閱讀 40,362評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼养筒!你這毒婦竟也來了曾撤?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,264評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤晕粪,失蹤者是張志新(化名)和其女友劉穎挤悉,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體巫湘,經(jīng)...
    沈念sama閱讀 45,724評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡装悲,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了尚氛。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片诀诊。...
    茶點(diǎn)故事閱讀 40,040評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖阅嘶,靈堂內(nèi)的尸體忽然破棺而出属瓣,到底是詐尸還是另有隱情,我是刑警寧澤讯柔,帶...
    沈念sama閱讀 35,742評(píng)論 5 346
  • 正文 年R本政府宣布抡蛙,位于F島的核電站,受9級(jí)特大地震影響磷杏,放射性物質(zhì)發(fā)生泄漏溜畅。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評(píng)論 3 330
  • 文/蒙蒙 一极祸、第九天 我趴在偏房一處隱蔽的房頂上張望慈格。 院中可真熱鬧,春花似錦遥金、人聲如沸浴捆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)选泻。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間页眯,已是汗流浹背梯捕。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評(píng)論 1 270
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留窝撵,地道東北人傀顾。 一個(gè)月前我還...
    沈念sama閱讀 48,247評(píng)論 3 371
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像碌奉,于是被迫代替她去往敵國(guó)和親短曾。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容