机器学习 —— 概率图模型(学习:贝叶斯估计)
之前談到學習就是利用數據集對參數進行最大似然估計。本質上是獲取一組有效的參數。然而如果考慮一個這樣的問題:一枚硬幣扔10次有7次朝上;扔1000次有700次朝上。顯然對于二者而言,對參數的估計都是0.7。但是如果我們已知硬幣是無偏的,那么第一次可以告訴自己是意外,第二次卻很難說服。極大似然估計的問題是無法對先驗知識進行建模并帶入模型中。
1、貝葉斯估計
在極大似然估計中,我們使用的原理是使得theta = argmax P(x|theta),這里theta作為一個確定的量。而貝葉斯估計的原理是 theta = max p(theta|x),這里已經發生的 x 不再是隨機變量,而theta 卻被視作隨機變量。如下圖:
在theta作為隨機變量的前提下,每一次的觀測都會影響theta,toss之間并非獨立(the trace is active)。
其中,P(theta|x[1],......x[M])是貝葉斯推斷的核心方程。由于P(x[1],.....x[M])在貝葉斯推斷中是以觀測量,可通過聯合概率密度函數邊際化求取。換而言之,和theta沒關系是個常數。所以這個核心方程就只和分子有關。分子又可以分為兩部分,P(x[1]....x[M]|theta)是模型CPD,p(theta)稱為先驗概率,是我們對theta已知情況的猜測。
2、先驗——狄利克雷分布
顯然,初期對theta的假設(p(theta))會對我們的最終結果有很大影響(同樣對某人第一映像會對此人之后感覺有很大影響)。所以需要有個函數能夠簡明的來對先驗分布進行建模,此函數就是狄利克雷函數。
從直覺上來說,狄利克雷函數里的參數alpha_k代表我們的先驗觀測。換言之,theta是服從多項分布的,第一項我們認為被觀測到alpha_1次,第二項alpha_2次...
狄利克雷函數有個最好的性質:如果theta的先驗分布是狄利克雷的,其CPD服從多項分布,那么theta的后驗分布也是狄利克雷的。舉個簡單的例子,如果某個骰子,雖然是有偏的,但是假設無偏。開始實驗且更新數據,那么這個過程是連續變化的。每一次的后驗分布都是下一次的先驗分布。并且,數字出現的次數是充分統計量。
貝葉斯學習的本質是一種特殊的推斷。因為此觀點下,theta是隨機變量。
3、貝葉斯預測
學習并估計參數的目的是進行預測。依據給定參數對變量發生的可能性進行預測如下式所示:
顯然,先驗概率代表之前發生的次數得到驗證。
對于貝葉斯預測而言,在觀測到M個變量后,只需要更新關于theta的先驗分布即可。由充分統計可得,X[M+1]=xi的概率等于其頻率。
4、在貝葉斯網絡中使用貝葉斯估計
對于如圖所示貝葉斯網絡:
1、變量x[1]y[1]在給定參數的情況下與x[2]y[2]是獨立的
2、參數theta_x,theta_xy在給定數據的情況下是獨立的,所以,可以對兩個P分別進行求解。
如果是狄利克雷先驗情況下的多項式分布,那么關于theta的后驗分布可以用充分統計的算法進行更新。
3、顯然按照常理而言,如果要對網絡中所有的參數設定先驗分布,會是一件非常復雜的事情。theta_x 與 theta_y|x 需要匹配。因為theta_x 的狄利克雷分布具有“先驗次數”的物理意義。故theta_y|x必須滿足x的先驗次數要求。
4、在設計好先驗分布之后,則可用數據對先驗分布進行更新。有先驗分布的好處是數據能很快收斂。
總體而言,對于小樣本數據,提供先驗分布的方式可以防止數據發散。
轉載于:https://www.cnblogs.com/ironstark/p/5277413.html
總結
以上是生活随笔為你收集整理的机器学习 —— 概率图模型(学习:贝叶斯估计)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 42.Android之ListView中
- 下一篇: 转自他人——————TLE之前,没有一个