受限玻爾茲曼機——簡單證明
花了很久看了一下玻爾茲曼機,感覺水有點深,總之一步一步來嘛~~~~
先說一下一個非常好的參考資料: 受限玻爾茲曼機(RBM)學習筆記 ,有興趣的可以再看看這篇文章的參考文獻或者部落格,寫的也非常好,本文就是基於這篇文章的理解,簡單證明一下RBM
接下來開證,不對之處歡迎指正:
①我們首先要知道玻爾茲曼機是一種基於統計力學提出來的能量模型,是一個隨機神經元模型,首先介紹一下各個引數
②已知條件:利用能量函式可以得到可見層和隱藏層的聯合概率分佈
③然後我們利用聯合概率計算邊緣分佈函式可以得到可見層V的分佈函式
,直接把和拿到分子的原因是,分母為歸一化常量,為常量
④接下來我們就是要可見層資料最大性的擬合總體樣本空間的分佈,我們假設總體分佈為q(x),總空間為Ω,然後我們用KL距離來計算樣本分佈和可見層分佈的相似度
關於KL距離請看我前面寫過的部落格,它是一種不對稱距離。既然我們要求P(x)擬合Q(x)損失的能量,那麼就用下式計算
⑤然後我們會發現,只有當P(x)最大的時候,才能讓KL距離最小,這時候損失能量最小,因為總樣本空間是固定的,所以這個Q(x)也是固定,只需管P(x)即可。接下來我們來求這個P(v)的最大值,求關於概率函式的最大值,我們很快就能想到極大似然函式,當然求解的時候用取對數方法求解
☆ ☆ ☆ ☆ ☆ ☆一定要注意,這個式子就是我們需要解決的問題,最好把它列在稿紙一邊) ☆ ☆ ☆ ☆ ☆
⑥接下來我們對模型引數中的權重W和偏置A,B分別求其偏導數,記住上式中,能量函式 E 在上面說過了,主要就是求前面的條件概率和聯合概率
這裡提前定義一個東西
先來逐步求解上式中第一項對模型引數中權重W,偏置A和B的偏導:
————————————————————————————————————————————————————————————————————
(紅色部分等於1,這一部分自己好好想一下,文末舉了個小例子)
————————————————————————————————————————————————————————————————————
————————————————————————————————————————————————————————————————————
————————————————————————————————————————————————————————————————————
細心的話會發現這個P(hj=1|v)沒有求出來,接下來我們求這一項
這裡我們將能量函式拆開成兩個式子
那麼可以開始求P(hj=1|v)了
隨後也就得到了最終的啟用概率
⑦第⑤步的第一項我們計算完畢,再來計算一下第二項
(這裡面第二個∑ 已經在上面計算出來了)
⑧至此,我們基本求出了第⑤步中需要計算的所有引數,但是有一個沒求出來,寫出來以後就會發現
⑨我們可以發現上面有一項∑[P(v)*....]是沒有計算出來的,這個時候,我們就必須使用某些取樣方法對此項進行估計。仔細觀察, 發現他的形式是(概率*概率),如果你看過蒙特卡洛方法,就會發現蒙特卡洛是(函式*概率), 意思是這個函式再這個概率分佈下的均值,因而可以採用蒙特卡洛方法來解決這一項無法求解問題. 大牛Hinton提出了對比散度演算法,也就是把可見層輸入資料當做起點,經過K次吉布斯取樣的樣本當做終點,近似計算上面三個式子,然後就變成了
—————————————————————————————————————————————————————————————————————————————
好了,做一下總結,其實這裡面都是圍繞著最終要解決的問題,也就是第⑤步提出的那個對模型引數求梯度的式子,針對第一項和第二項,我們分別求解,利用的知識點比較多,我第一次看的時候也不懂,但是看一次程式碼,然後再回頭看這個也就差不多懂一部分了。
最後說一下哈,文章參考的是這篇文章:http://blog.csdn.net/itplus/article/details/19408143 有興趣可以去詳細看看的。
有不對的地方,謝謝大家指正~~~~
更新日誌2017-8-30
關於⑥中紅字部分的概率和為什麼等於1,其實我也不太好說明我的想法對不對,我當時以一個小例子想的:
1.比如有編號為1-6的六個球,那麼隨便取出來一個它的概率和為1
2.因為每次取球相互獨立(類比隱神經元相互獨立),所以可以把球拆成兩部分1-4一組,5-6一組,每組自己的概率和為1
3.然後我們用加和的方法寫出從1→2的數學表示式變換方法
如果此變換沒錯(問了幾個同學,表示應該沒問題,特別強調獨立),那麼很容易發現
這樣,如果我們把RBM證明中的h當做1-6的球空間,hj為1-4的球空間,h-j為5-6的球空間,然後替換上式就得到了
理解了這個,就知道為什麼上面那個條件概率和為1了。