概率圖模型相比於其他學習算法的優勢在於可以利用圖結構來將已知信息帶入到知識網絡中。那么在使用概率圖模型之前,往往要求圖結構是已知的。而現實中或許我們並沒有足夠的先驗知識,但是有大量的樣本。如何通過樣本對概率圖的G進行推測就是這種學習算法要解決的問題。確實,在有大量樣本的情況下,其他的Machine Learning 算法可能可以更方便的解決問題。但是PGM對圖模型進行學習的目的往往不是為了使用,而是為了進行Knowledge engineering & scientific.
對於學習得到的圖模型,有兩種錯誤方式:
1、缺失的依賴關系:依賴確實的結果是P(ABCD)錯誤,該結果下,會得到AD無關的結論。也就是邊際掉A對BCD的分布並無影響。
2、多余的依賴關系:在多余的依賴關系中,AB之間產生了聯系相當於P(ABCD)多乘了一項P(B|A)而少了一項P(B).
實際上,對於多余依賴關系的圖依然可以正確的對分布進行推測(分布反正就是P(ABCD),相關關系都擺在那兒了)。但是依賴關系的多余會造成其他步驟變得復雜。多一條邊,CPD就會指數爆炸一次。所以依賴關系缺失最終的結果不一定不好。
1、基於分數的學習
基於分數學習本質上就是把所可能的G都過一遍,最后選個最高分的。最簡單的想法是,正確的圖應該讓所采集到的數據最可能發生。
也就是要讓scoreL盡可能大。此方法的思路是將學習問題轉換為優化問題。以multinomial變量為例:
此例中使用了log-linear likelihood function.故P的連乘變成了對數相加。在變量集求和又分解成充分統計。最后的到的Ip稱為互信息。互信息表達的是兩個變量的相關程度。如果相關性很低,則P(x,y)會趨近於P(x)*P(Y).那么其互信息會趨於0.如果兩個變量不相關,則其互信息會大於0.實際上,如果直接使用互信息作為優化函數,會有一個問題即:當所有變量兩兩相連的時候,Score達到最大。這顯然不科學,所以為了得到合理的結果,還要使用合適的罰函數。
2、BIC Score
BIC Score 使用了一種簡單粗暴的罰函數,直接限制學習所得圖的維度。
在此函數下,M代表訓練樣本,l為M×Mutual if. 第一項是互信息,使得學習的結果盡可能表達數據集中的關系。第二項是罰函數,是一個與圖的維度成正比的量。
BIC Score 有一個顯著的特征稱為漸進一致性。由於第一項是隨着數據集的大小線性增長的,而第二項是隨着數據集的大小對數增長的,所以在數據集足夠大的時候第一項會壓過第二項,最終的網絡會盡量和數據接近。
BIC Score 使用的罰函數稱為顯性罰函數。
3、Beyasian Score
貝葉斯分數(Beyasian Score)是利用貝葉斯公式導出的一種記分方式,該方式的好處是可以對圖先驗信息進行導入。使得最終的分數朝着對圖先驗估計的方向收斂。
貝葉斯分數由兩部分組成,第一部分是數據對圖模型的擬合程度,第二部分是圖的所估計圖模型對先驗圖的擬合程度。
其中,數據對圖的擬合程度又可以分解成下式:
式子的第一部分是似然函數,相當於給定圖模型和參數的情況下,數據發生的可能性;第二部分是參數的先驗估計,即給定圖模型,該參數的可能性。最后把參數邊際掉,即是對給定圖模型,數據的可能性。
如果隨機變量是multinomial分布的,那么則可以用狄利克雷函數來對先驗參數進行建模。
P(D|G)實際上是從夫變量到子變量的連乘。最后一項是子變量的每個參數,相當於P(theta|G),其中分子是對參數的先驗估計,分母是是對參數的后驗估計。中間項是對圖模型建模,分子相當於圖模型的先驗信息,分母相當於圖模型的后驗估計。總之,兩項相乘表達圖模型的局部分數(某個節點及其父節點)。
貝葉斯模型的好處是可以對Beyasian Socore的最后一項logP(G)進行調整。具體參數可以是G的邊數,或者模型的復雜程度,讓最終的分數受到先前對模型假設分數的影響。
4、學習算法
學習算法的目的是對圖結構進行推測。其本質是一種將Score最大化的方法。其中啟發式學習是通過將給定結構加邊,減邊,逆向邊來重新計算分數。
圖結構的學習算法與概率圖模型本身是相對獨立的。更注重於算法以及實際調試。故不做過多討論。