歡迎光臨
每天分享高質量文章

從最大似然到EM演演算法:一致的理解方式

作者丨蘇劍林

單位丨廣州火焰資訊科技有限公司

研究方向丨NLP,神經網路

個人主頁丨kexue.fm

最近在思考 NLP 的無監督學習和機率圖相關的一些內容,於是重新把一些引數估計方法理了一遍。


在深度學習中,引數估計是最基本的步驟之一了,也就是我們所說的模型訓練過程。為了訓練模型就得有個損失函式,而如果沒有系統學習過機率論的讀者,能想到的最自然的損失函式估計是平均平方誤差,它也就是對應於我們所說的歐式距離。


而理論上來講,機率模型的最佳搭配應該是“交叉熵”函式,它來源於機率論中的最大似然函式。

最大似然

合理的存在


何為最大似然?哲學上有句話叫做“存在就是合理的”,最大似然的意思是“存在就是最合理的”。具體來說,如果事件 X 的機率分佈為 p(X),如果一次觀測中具體觀測到的值分別為 X1,X2,…,XN,並假設它們是相互獨立,那麼:



是最大的。如果 p(X) 是一個帶有引數 θ 的機率分散式 (X),那麼我們應當想辦法選擇 θ,使得 L 最大化,即:

對機率取對數,就得到等價形式:

如果右端再除以 N,我們就得到更精煉的表達形式:

其中我們將 −L(θ) 就稱為交叉熵。


理論形式


理論上,根據已有的資料,我們可以得到每個 X 的統計頻率 (X),那麼可以得到上式的等價形式:

但實際上,我們幾乎都不可能得到 (X)(尤其是對於連續分佈),我們能直接算的是關於它的數學期望,也就是 (4) 式,因為求期望只需要把每個樣本的值算出來,然後求和並除以 N 就行了。所以 (5) 式只有理論價值,它能方便後面的推導。 


要註意的是,上面的描述是非常一般的,其中 X 可以是任意物件,它也有可能是連續的實數,這時候就要把求和換成積分,把 p(X) 變成機率密度函式。當然,這並沒有什麼本質困難。

有監督模型


現在我們來觀察有監督學習中是如何應用上述內容的。假設輸入為 X,標簽為 Y,那麼 (X,Y) 就構成了一個事件,於是我們根據 (4) 就有:

這裡已經註明瞭是X,Y 整體求數學期望,然而該式卻是不夠實用的。


分類問題


以分類問題為例,我們通常建模的是 p(Y|X) 而不是 p(X,Y),也就是我們要根據輸入確定輸出的分佈,而不是它們的聯合分佈。所以我們還是要從 (5) 式出發,利用 p(X,Y)=p(X)p(Y|X),先得到:


因為我們只對 p(Y|X) 建模,因此 (X) 我們認為就是 (X),那麼這相當於讓最佳化標的多了一個常數項,因此 (7) 等價於:

然後,我們還有 (X,Y)=(X)p̃θ(Y|X),於是 (8) 式還可以再變化成:

最後別忘了,我們是處理有監督學習中的分類問題,一般而言在訓練資料中對於確定的輸入 X 就只有一個類別,所以 (Yt|X)=1,其餘為 0,Yt 就是 X 的標的標簽,所以:

這就是最常見的分類問題的最大似然函式了:

變變變


事實上,上述的內容只是一些恆等變換,應該說沒有特別重要的價值,而它的結果(也就是分類問題的交叉熵損失)也早就被我們用得滾瓜爛熟了。


因此,這一節僅僅是展示瞭如何將最大似然函式從最原始的形式出發,最終落實到一個具體的問題中,讓讀者熟悉一下這種逐步推進的變換過程

隱變數


現在就是展示它的價值的時候了,我們要將用它來給出一個 EM 演演算法的直接推導對於 EM 演演算法,一般將它分為 M 步和 E 步,應當說,M 步是比較好理解的,難就難在 E 步的那個 Q 函式為什麼要這樣構造


很多教程並沒有給出這個 Q 函式的解釋,有一些教程給出了基於詹森不等式的理解,但我認為這些做法都沒有很好凸顯出 EM 演演算法的精髓。


一般來說,EM 演演算法用於存在隱變數的機率問題最佳化。什麼是隱變數?很簡單,還是以剛才的分類問題為例,分類問題要建模的是 p(Y|X),當然也等價於 p(X,Y),我們說過要用最大似然函式為標的,得到 (6) 式:

如果給出 (X,Y) 的標簽資料對,那就是一個普通的有監督學習問題了,然而如果只給出 X 不給出 Y 呢?這時候 Y 就稱為隱變數,它存在,但我們看不見,所以“隱”


GMM模型


等等,沒有標簽資料你也想做分類問題?當然有可能,GMM 模型不就是這樣的一個模型了嗎?在 GMM 中假設了:

註意,是 (Y)(X|Y) 而不是 (X)(Y|X),兩者區別在於我們難以直接估計 p(X),也比較難直接猜測 p(Y|X) 的形式。


p(Y) 和 p(X|Y) 就相對容易了,因為我們通常假設 Y 的意義是類別,所以 p(Y只是一個有限向量,而 p(X|Y表示每個類內的物件的分佈。


既然這些物件都屬於同一個類,同一個類應該都長得差不多吧,所以 GMM 假設它為正態分佈,這時候做的假設就有依據了,不然將所有資料混合在一起,誰知道假設什麼分佈好呢?


pLSA模型


當然,並不只有無監督學習才有隱變數,有監督學習也可以有,比如我們可以設:

這時候多出了一個變數 Z,就算給出 (X,Y) 這樣的標簽資料對,但 Z 仍然是沒有資料的,是我們假想的一個變數,它也就是隱變數,pLSA 就是這樣的一個問題。這時候它的最大似然估計是:

聯合最大似然


再等等,你這個好像跟我之前看到的 pLSA 的標的函式不大一樣呀?還有 (6) 式也跟 GMM 的標的函式不一樣呀?你是不是弄錯了? 


我覺得並沒有弄錯,最大似然函式應該要考慮的是整體聯合分佈,也就是得把 Z 也考慮進去。而教程一般是這樣處理的:由於隱變數不可觀測,因此一般改用邊緣分佈(也就是顯變數的分佈)的最大似然為標的函式,即:

為最大化的標的。


事實上這種做法我認為是不大妥當的,隱變數雖然“隱”了,但既然我們假設它存在,那麼它就是真的存在了,既然真的存在,最大似然函式當然要考慮上它,這才是真正的“存在就是最合理的”,是連同隱變數一起最合理才對

而事實上這種處理不僅具有理論意義,它還極大簡化了 EM 演演算法的推導,而如果採用邊緣分佈最大似然的做法,我們就無法直觀地理解那個 Q 函式的來源了。


最後,可能有讀者“異想天開”:那麼引數 θ 是不是也可以看作一個隱變數呢?恭喜你,如果你有這層領悟,那你已經進入貝葉斯學派的思維範疇了。


貝葉斯學派認為,一切都是隨機的,一切都服從某個機率分佈,引數 θ 也不例外。不過很遺憾,貝葉斯學派的機率理論很艱深,我們這裡還沒法派上用場。

EM演演算法


好了,不再廢話了,還是正式進入對 EM 演演算法的討論吧。 


再變變變


以式 (6) 的模型為例,假設我們只有 X 的資料,沒有對應的標簽 Y,這時候 Y 是隱變數,但我們還是要算整體的最大似然,也就是前面的 (16) 式:



這時候我們依然沒有解決的問題是:我們不知道 (X,Y),甚至 (X) 我們也可能不知道(但我們可以算關於它的期望)。那好吧,將式子做一下變換:


這裡的 ? 是對 X 求的期望。現在好像有點意思了,然而並沒有什麼用,因為 (Y|X) 還是未知的。


EM大佬來了


這時候,大佬就發話了:先當它已知的吧,那麼我們就可以算引數 θ 了:

然後根據算出來的結果再去更新 (Y|X) 就是了,根據定義:

所以:

就讓它們交替更新吧。現在來看看 (18) 式,有個 E(求期望),又有個 M(argmax),就叫它 EM 演演算法吧,那個被 E 的式子,我們就叫它 Q 函式好了。於是 EM 大佬就這樣出來了,Q 函式也出來了,就這麼任性。


當然,EM 演演算法中的 E 的本意是將:

看成是對隱變數 Y 求期望,這裡我們就隨意一點的,結論沒錯就行。


是不是感覺很突然?感覺啥也沒做,EM 演演算法就這麼兩句話說清楚了?還包括了推導?


究竟在做啥


對於 pLSA 或者其他含有因變數的模型的 EM 演演算法,也可以類似地推導。對比目前我能找到的 EM 演演算法的推導,我相信上面的過程已經是相當簡潔了。儘管前面很多鋪墊,但其實都是基礎知識而已。 


那這是如何實現的呢?回顧整個過程,其實我們也沒做什麼,只是堅持使用聯合隱變數的整體分佈的最大似然,然後該化簡的就化簡,最終關於隱變數部分沒法化簡,那就迭代吧,迭著迭著就出來了


這樣子得到的推導,比從邊緣分佈的最大自然出發,居然直接快捷了很多,也是個驚喜。

一致的理解


本文是作者對最大似然原理的一番思考,整體思路是從最大似然的原理和形式出發,來誘匯出有監督/無監督學習的一些結果,希望能用一個統一的思想將各種相關內容都串起來。


最後發現結果也挺讓人滿意的,尤其是 EM 演演算法部分,以後只需要記住一切的根本都是(聯合)分佈的最大似然,再也不用死記 EM 演演算法中的 Q 函式形式了。


當然,文章有些觀點都是“我認為”的,因此可能有不當之處,請讀者甄別。不過可以保證的是結果跟現有的都是一樣的。

點選以下標題檢視相關內容: 

#榜 單 公 布 #


2017年度最值得讀的AI論文 | NLP篇 · 評選結果公佈

2017年度最值得讀的AI論文 | CV篇 · 評選結果公佈


          

 我是彩蛋

 解鎖新功能:熱門職位推薦!

PaperWeekly小程式升級啦

今日arXiv√猜你喜歡√熱門職位

找全職找實習都不是問題

 

 解鎖方式 

1. 識別下方二維碼開啟小程式

2. 用PaperWeekly社群賬號進行登陸

3. 登陸後即可解鎖所有功能

 職位釋出 

請新增小助手微信(pwbot01)進行諮詢

 

長按識別二維碼,使用小程式

*點選閱讀原文即可註冊

關於PaperWeekly


PaperWeekly 是一個推薦、解讀、討論、報道人工智慧前沿論文成果的學術平臺。如果你研究或從事 AI 領域,歡迎在公眾號後臺點選「交流群」,小助手將把你帶入 PaperWeekly 的交流群裡。

▽ 點選 | 閱讀原文 | 進入作者部落格

贊(0)

分享創造快樂