LDA漫游系列(二)-數學基礎

要想了解LDA背后的算法原理,我們首先要有一定的數學基礎,這一節,我們一起來學習LDA算法中涉及的一些基礎的數學知識。

1、gamma函數

所謂的gamma函數其實就是階乘的函數形式,中學時候我們都學過n的階乘,比如我們知道n!=123....n,如果我問你3的階乘是多少,你能夠立即回答出12*3=6,但是咱們學過的階乘知識僅限于整數范圍,如果我問你0.5的階乘是多少,你可能會啞口無言,不過沒關系,學過gamma 函數之后你就能夠回答了,歐拉經過不懈努力,終于發現階乘的更一般的函數形式gamma函數,gamma函數如下所示:

不難發現:



接下來,我們共同推導一下0.5的階乘:



在上面的推導過程中,大家可能對雅可比行列式不是十分了解,我也一樣,所以經過百度,終于明白了其中的道理,雅可比行列式在求解積分的過程中往往可以發揮重要的作用:

所以,在極坐標變換中:



為什么gamma函數可以表示階乘呢,這里我們只需證明下面的式子即可:

證明過程也很簡單:

上面提到了分部積分法,說實話是真忘了,如果大家對分部積分法有點遺忘的話,希望下面的圖片可以幫你回憶起來,如果你沒有忘,下面的部分可以直接跳過:

所以,其實gamma函數表示的是x-1的階乘。即:

2、二項分布

二項分布相信大家都接觸過,二項分布即重復n次獨立的伯努利試驗,在每次實驗中只有兩種可能的結果,成功或者失敗,每次成功的概率為p,失敗的概率就為1-p,假設在n次實驗中,成功了k次,則二項分布的概率密度函數是:


3、beta分布

在概率論中,beta分布是指一組定義在區間(0,1)的連續概率分布,有兩個參數α和 β,且 α ,β > 0
Beta分布的概率密度函數是:



隨機變量服從參數為α和 β的beta分布通常寫作,X~Beta(α,β),式中的分布的函數稱為B函數
可以看到beta分布中用到了gamma分布,所以我們首先來驗證一個公式,這個公式也就是B函數和Gamma函數的關系:



這里給出一種證明方法

證明過程太復雜了,沒有點數學功底是搞不出來的,不過我們就先記住結論吧。

接下來我們來看一下Beta分布的期望:


講了這么多Beta分布的公式,那么我們該如何通俗的理解Beta分布呢?用一句話來說,beta分布可以看作一個概率的概率分布,當你不知道一個東西的具體概率是多少時,它可以給出了所有概率出現的可能性大小。
舉一個簡單的例子,熟悉棒球運動的都知道有一個指標就是棒球擊球率(batting average),就是用一個運動員擊中的球數除以擊球的總數,我們一般認為0.266是正常水平的擊球率,而如果擊球率高達0.3就被認為是非常優秀的。現在有一個棒球運動員,我們希望能夠預測他在這一賽季中的棒球擊球率是多少。你可能就會直接計算棒球擊球率,用擊中的數除以擊球數,但是如果這個棒球運動員只打了一次,而且還命中了,那么他就擊球率就是100%了,這顯然是不合理的,因為根據棒球的歷史信息,我們知道這個擊球率應該是0.215到0.36之間才對啊。對于這個問題,我們可以用一個二項分布表示(一系列成功或失敗),一個最好的方法來表示這些經驗(在統計中稱為先驗信息)就是用beta分布,這表示在我們沒有看到這個運動員打球之前,我們就有了一個大概的范圍。beta分布的定義域是(0,1)這就跟概率的范圍是一樣的。接下來我們將這些先驗信息轉換為beta分布的參數,我們知道一個擊球率應該是平均0.27左右,而他的范圍是0.21到0.35,那么根據這個信息,我們可以取α=81,β=219



之所以取這兩個參數是因為:

beta分布的均值是

從圖中可以看到這個分布主要落在了(0.2,0.35)間,這是從經驗中得出的合理的范圍。

在這個例子里,我們的x軸就表示各個擊球率的取值,x對應的y值就是這個擊球率所對應的概率。也就是說beta分布可以看作一個概率的概率分布。

那么有了先驗信息后,現在我們考慮一個運動員只打一次球,那么他現在的數據就是”1中;1擊”。這時候我們就可以更新我們的分布了,讓這個曲線做一些移動去適應我們的新信息。結果很簡單:
其中α0和β0是一開始的參數,在這里是81和219。所以在這一例子里,α增加了1(擊中了一次)。β沒有增加(沒有漏球)。這就是我們的新的beta分布Beta(81+1,219),我們跟原來的比較一下:

可以看到這個分布其實沒多大變化,這是因為只打了1次球并不能說明什么問題。但是如果我們得到了更多的數據,假設一共打了300次,其中擊中了100次,200次沒擊中,那么這一新分布就是:



注意到這個曲線變得更加尖,并且平移到了一個右邊的位置,表示比平均水平要高。
一個有趣的事情是,根據這個新的beta分布,我們可以得出他的數學期望為:
,這一結果要比直接的估計要小
你可能已經意識到,我們事實上就是在這個運動員在擊球之前可以理解為他已經成功了81次,失敗了219次這樣一個先驗信息。
因此,對于一個我們不知道概率是什么,而又有一些合理的猜測時,beta分布能很好的作為一個表示概率的概率分布。

4、多項分布

多項分布是二項分布的擴展,在n次獨立試驗中每次只輸出k種結果中的一個,且每種結果都有一個確定的概率p。多項分布給出了在多種輸出狀態的情況下,關于成功次數的各種組合的概率。
舉一個擲骰子的例子,擲n次骰子,每次可能有六種輸出,1點出現概率為p1,2點出現概率為p2,依次類推,在n次試驗中,骰子1點出現次數為x1次,骰子2點出現次數為x2次,依次類推,這個組合出現的概率為:



也可以用gamma分布來表示:


5、狄利克雷分布(dirichlet distribution)

狄利克雷分布是beta分布在多項情況下的推廣,也是多項分布的共軛先驗分布(共軛先驗分布我們在接下來會講到),dirichlet分布的概率密度函數如下:


還有一個重要的公式,實在是太難推導了,大家記住結論就好:

跟前面beta分布類似,我們可以得到參數p的期望:

參考文獻:https://www.zhihu.com/question/30269898/answer/123261564

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容