AI產(chǎn)品經(jīng)理必修——揭開算法的面紗(EM算法)

只要有一些訓(xùn)練數(shù)據(jù)庆揩,再定義一個(gè)最大化函數(shù)膳叨,采用EM算法洽洁,利用計(jì)算機(jī)經(jīng)過若干次迭代,就可以得到所要的模型菲嘴。這實(shí)在是太美妙了饿自,這也許是我們的造物主刻意安排的。所以我把它稱作為上帝的算法龄坪≌汛疲——吳軍

1.極大似然原理

要立即EM算法,我們先來了解一個(gè)經(jīng)典的原理——極大似然原理(也叫最大似然原理)健田。

看完這個(gè)示例烛卧,想必你對(duì)極大似然已經(jīng)有了初步的認(rèn)識(shí),沒錯(cuò)妓局,滿足某個(gè)條件总放,使得事件發(fā)生的可能性最大呈宇。上面這個(gè)例子,就是局雄,滿足小球從乙箱中取出甥啄,使得球是黑球的概率最大。


我們?cè)賮砜匆粋€(gè)經(jīng)典的示例:

問題:假設(shè)我們需要調(diào)查我們學(xué)校的男生和女生的身高分布哎榴。

步驟1:在校園里隨便地活捉了100個(gè)男生和100個(gè)女生型豁,共200人僵蛛。

步驟2:你開始喊:“男的左邊尚蝌,女的右邊,其他的站中間充尉!”飘言。

步驟3:統(tǒng)計(jì)分別得到100個(gè)男生的身高和100個(gè)女生的身高。

求解:假設(shè)他們的身高是服從高斯分布的驼侠。但是這個(gè)分布的均值u和方差?2我們不知道姿鸿,這兩個(gè)參數(shù)就是我們要估計(jì)的。記作θ=[u, ?]T倒源。

用剛才的語(yǔ)境來解釋苛预,就是,滿足這個(gè)分部的均值u和方差?2笋熬,使得我們的觀測(cè)數(shù)據(jù)(100個(gè)男生身高和100個(gè)女生的身高)出現(xiàn)的可能性最大热某。


總結(jié)一下,最大似然估計(jì)的目的就是:利用已知的樣本結(jié)果胳螟,反推最有可能(最大概率)導(dǎo)致這樣結(jié)果的參數(shù)值昔馋。極大似然估計(jì)提供了一種給定觀察數(shù)據(jù)來評(píng)估模型參數(shù)的方法,即:“模型已定糖耸,參數(shù)未知”秘遏。通過若干次試驗(yàn),觀察其結(jié)果嘉竟,利用試驗(yàn)結(jié)果得到某個(gè)參數(shù)值能夠使樣本出現(xiàn)的概率為最大邦危,則稱為極大似然估計(jì)。


2.EM算法(期望最大值算法)

回到例子本身舍扰,如果沒有“男的左邊铡俐,女的右邊,其他的站中間妥粟!”這個(gè)步驟审丘,現(xiàn)在這200個(gè)人已經(jīng)混到一起了。這個(gè)時(shí)候勾给,對(duì)于每一個(gè)樣本或者你抽取到的人滩报,就有兩個(gè)東西需要估計(jì)的了:

一锅知、這個(gè)人是男生還是女生?

二脓钾、男生和女生對(duì)應(yīng)的身高的高斯分布的參數(shù)是多少售睹?


那這個(gè)問題EM算法是怎么解決的呢?我們先來看答案可训。

步驟1:我們先隨便猜一下男生(身高)的正態(tài)分布的參數(shù):如均值和方差是多少昌妹。例如男生的均值是1米7,方差是0.1米(當(dāng)然了握截,剛開始肯定沒那么準(zhǔn))飞崖。女生的正態(tài)分布參數(shù)同理。

步驟2:計(jì)算出每個(gè)人更可能屬于第一個(gè)還是第二個(gè)正態(tài)分布中的谨胞。例如固歪,這個(gè)人的身高是1米8,那很明顯胯努,他最大可能屬于男生的那個(gè)分布)牢裳。這個(gè)是屬于Expectation一步。

步驟3:有了每個(gè)人的歸屬叶沛,我們已經(jīng)大概地按上面的方法將這200個(gè)人分為男生和女生兩部分了蒲讯。

現(xiàn)在看出來了嗎?我們已經(jīng)分別得到了100個(gè)男生的身高和100個(gè)女生的身高灰署。是不是回到了最大似然估計(jì)問題判帮?

步驟4:根據(jù)最大似然估計(jì),通過這些被大概分為男生的n個(gè)人來重新估計(jì)第一個(gè)分布的參數(shù)氓侧,女生的那個(gè)分布同樣方法重新估計(jì)脊另,也就是重新求解這個(gè)分布的均值u和方差?2。這個(gè)是Maximization约巷。

假定計(jì)算結(jié)果當(dāng)前男生的均值是1米74偎痛,方差是0.08。

看出來了嗎独郎?這和我們最初隨便猜的那個(gè)參數(shù)不一致呀踩麦!

步驟5:重新猜。假定我們第二次猜測(cè)時(shí)取個(gè)中間值氓癌,例如男生的均值是1米72谓谦,方差是0.09。繼續(xù)步驟1——步驟2——步驟3——步驟4……如此往復(fù)贪婉,直到收斂反粥,參數(shù)基本不再發(fā)生變化為止。


我們?cè)儆靡粋€(gè)簡(jiǎn)單的例子來總結(jié)這EM算法的精髓:

小時(shí)候,老媽給一大袋糖果給你才顿,叫你和你姐姐等分莫湘,然后你懶得去點(diǎn)糖果的個(gè)數(shù),所以你也就不知道每個(gè)人到底該分多少個(gè)郑气。咱們一般怎么做呢幅垮?先把一袋糖果目測(cè)的分為兩袋,然后把兩袋糖果拿在左右手尾组,看哪個(gè)重忙芒,如果右手重,那很明顯右手這代糖果多了讳侨,然后你再在右手這袋糖果中抓一把放到左手這袋呵萨,然后再感受下哪個(gè)重,然后再?gòu)闹氐哪谴ヒ恍“逊胚M(jìn)輕的那一袋爷耀,繼續(xù)下去甘桑,直到你感覺兩袋糖果差不多相等了為止拍皮。

EM算法就是這樣歹叮,假設(shè)我們想估計(jì)知道A和B兩個(gè)參數(shù),在開始狀態(tài)下二者都是未知的铆帽,但如果知道了A的信息就可以得到B的信息咆耿,反過來知道了B也就得到了A〉鳎可以考慮首先賦予A某種初值萨螺,以此得到B的估計(jì)值,然后從B的當(dāng)前值出發(fā)愧驱,重新估計(jì)A的取值慰技,這個(gè)過程一直持續(xù)到收斂為止。


現(xiàn)在组砚,我們來總結(jié)一下:

EM(Expectation Maximization)算法包括了兩個(gè)過程和一個(gè)目標(biāo)函數(shù):

E-step: 根據(jù)現(xiàn)有的聚類結(jié)果吻商,對(duì)所以數(shù)據(jù)(點(diǎn))重新進(jìn)行劃分。如果把最終得到的分類結(jié)果看作是一個(gè)數(shù)學(xué)的模型糟红,那么這些聚類的中心(值)艾帐,以及每一個(gè)點(diǎn)和聚類的隸屬關(guān)系,可以看成是這個(gè)模型的參數(shù)盆偿。

M-step: 根據(jù)重新劃分的結(jié)果柒爸,得到新的聚類。

目標(biāo)函數(shù):上面的點(diǎn)到聚類的距離d和聚類之間的距離D事扭,整個(gè)過程就是要最大化目標(biāo)函數(shù)捎稚。


3.EM算法在分類中的應(yīng)用

了解了EM算法,我們來看一個(gè)EM算法在文本分類中的真實(shí)應(yīng)用。

假設(shè)有N篇文本今野,對(duì)應(yīng)N個(gè)向量V1,V2 …Vn, (文本如何轉(zhuǎn)變?yōu)橄蛄课保暗奈恼乱呀?jīng)寫過,詳見AI產(chǎn)品經(jīng)理必修——揭開算法的面紗(余弦定理))希望把他們分到K類中腥泥,而這K類的中心是C1,C2 …Ck匾南。K可以是一個(gè)固定的數(shù),比如我們認(rèn)為文本的主題只有100類蛔外;也可以是一個(gè)不定的數(shù)蛆楞,比如我們并不知道文本的主題有多少類,最終有多少類就分成多少類夹厌。分類步驟如下:

步驟1.隨機(jī)挑選K個(gè)點(diǎn)豹爹,作為起始的中心。(E-step)

步驟2:計(jì)算所有點(diǎn)到這些聚類中心的距離矛纹,將這些點(diǎn)歸到最近的一類中臂聋。(M-step)

步驟3:重新計(jì)算每一類的中心。新的聚類中心和原先的相比會(huì)有一個(gè)位移或南。(E-step)

步驟4:重復(fù)上述過程孩等,直到每次新的中心和舊的中心支局的偏移非常非常小,即過程收斂采够。(M-step)

步驟5:迭代(重復(fù)E-step和M-step)

現(xiàn)在肄方,我們已經(jīng)實(shí)現(xiàn)了只利用一組觀測(cè)數(shù)據(jù)自動(dòng)對(duì)文本進(jìn)行分類。這個(gè)方法不需要任何人工干預(yù)和先驗(yàn)的經(jīng)驗(yàn)蹬癌,是一些純粹的數(shù)學(xué)計(jì)算权她,最后就完全得到了自動(dòng)的分類,這簡(jiǎn)直有點(diǎn)令人難以置信逝薪!更奇妙的是隅要,對(duì)文本分成多少類也是由觀測(cè)數(shù)據(jù)自動(dòng)得出的。

至此董济,我們已經(jīng)了解了一種典型的非監(jiān)督學(xué)習(xí)算法步清。堪稱精妙感局!

?著作權(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
  • 序言:老撾萬(wàn)榮一對(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