機器學習 —— 概率圖模型(學習:對數線性模型)


  對數線性模型是無向圖中經常使用的一種模型。其利用特征函數以及參數的方式對勢函數進行定義,可獲得較好的效果。在之前有向圖的學習中,我們發現可以利用d-seperet,充分統計,狄利克雷函數等方式來很優雅的獲得參數估計的解析解。但是在無向圖中,這些優越的條件都不復存在。而無向圖在現實條件下的使用卻更為廣泛。(這是我第一次在Ubuntu下寫博客,感覺好神奇啊,其實說學Linux都是假的,最好的方法就是格掉你的Win,強迫自己在Unix環境下工作。在Ubuntu下截屏喀嚓一聲超級有儀式感哈哈哈哈哈,我還學會了在Ubuntu下用python抓網易雲音樂,每天都學會神奇的技能哈哈哈)

1、無向圖及對數線性模型

  

  其中,P(a,b,c) = 1/z * phi(a,b)phi(b,c)顯然是由團樹分解得到的。l(theta:D)是對上式取對數,並將數據帶入后,連乘概率模型得到。第二行將相乘項歸類(a1,b1有M[a1,b1]個)。在貝耶斯估計中,分母項中是不包含theta的,而在Markov模型重,Partition Function是包含theta的,而theta又是未知參數,所以無法得到優雅的解析解。

  對數線性模型如圖上所示,其例如圖下所示。

  

  Z是Paritition Function, theta是參數,fi是特征函數,往往是指示函數,兩個變量相關則置為1,否則置為0,描述的是D之間的相關性。

2、對數線性模型的學習

  顯然,在有M重實例的情況下,需要對概率函數進行相乘:這里偷換了一次D的實例,並且交換了一次 i 和 m 求和的位置。原本應該是對一組結果中的i個情況遍歷一次特征函數,再對m組進行求和。但此處先利用1個特征函數對數據進行篩選,最后換特征函數再求和。做此種處理的好處當然是有理由求取 l(theta:D) 的最大值。

  

  如果在log-linear模型下對thetai 進行求導,有以上性質。並且證得,L函數是一個凸函數。如下所示:

  兩邊同除M,則第一項為數據集中特征函數的期望(E[fi] based on data set),第二項為給定theta參數,特征函數的期望 [ E(fi) based on theta ] 。並且theta的估計正確的前提是數據集特征函數期望與理論期望相符合。由於此函數是凸函數,所以一定可以用優化算法求取其最大值。缺點是每次都需要對基於theta的期望進行求取,每個theta都對應不同的  E[fi] based on theta.

  以Ising模型為例,上式可以有以下解釋:

  

  該模型中,theta = wij , ui ,fi = xixj , xi. E[fi] based on theta = xi * p (Xi = xi |theta) . E[fj] based on data set = sigma_x_i /M.

3、總結

  對數線性模型的估計不存在解析解,但由於其是凸函數,所以可以由優化算法獲得。

 

  

  

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM