受限玻爾茲曼機——用在推薦系統里


from:http://blog.csdn.net/xbinworld/article/details/44901865

需要的背景知識

要學習RBM需要的一些基本的統計學習基礎,包括貝葉斯定理,隨機采樣方法(Gibbs sampling)等。這些可以翻閱我之前寫的一些博文可以看到相關的介紹,在本文中就不具體展開了。總體來說RBM還是相對比較獨立的一個算法,不需要依賴太多的先驗知識。

RBM基本概念

受限玻爾茲曼機(Restricted Boltzmann Machine,RBM)是G.Hinton教授的一寶。Hinton教授是深度學習的開山鼻祖,也正是他在2006年的關於深度信念網絡DBN的工作,以及逐層預訓練的訓練方法,開啟了深度學習的序章。其中,DBN中在層間的預訓練就采用了RBM算法模型。RBM是一種無向圖模型,也是一種神經網絡模型。

RBM具有兩層:可見層(V層),以及隱藏層(H層),網絡上比較常見的一張圖是[1]: 
這里寫圖片描述

可以看到,兩層神經元之間都是全連接的,但是每一層各自的神經元之間並沒有連接,也就是說,RBM的圖結構是一種二分圖(bipartite graph)。正是這個特點,才叫受限玻爾茲曼及,玻爾茲曼機是允許同一層之間的神經元相連的。RBM其實是一種簡化了的BM模型。

還有一個特點,RBM中的神經元都是二值化的,也就是說只有激活和不激活兩種狀態,也就是0或者1;可見層和隱藏層之間的邊的權重可以用WW來表示,WW是一個|V|×|H||V|×|H|大小的實數矩陣。后面一篇講RBM求解的時候可以看到,算法難點主要就是對WW求導(當然還有bias參數),用於梯度下降的更新;但是因為V和H都是二值化的,沒有連續的可導函數去計算,實際中采用的sampling的方法來計算,這里面就可以用比如gibbs sampling的方法,當然,Hinton提出了對比散度CD方法,比gibbs方法更快,已經成為求解RBM的標准解法。RBM求解部分將在下一小篇中具體介紹。

OK,第一篇就到這里。

覺得有一點點價值,就支持一下哈!花了很多時間手打公式的說~更多內容請關注Bin的專欄

參考資料 
[1] http://www.chawenti.com/articles/17243.html 
[2] 張春霞,受限波爾茲曼機簡介 
[3] http://www.cnblogs.com/tornadomeet/archive/2013/03/27/2984725.html 
[4] http://deeplearning.net/tutorial/rbm.html 
[5] Asja Fischer, and Christian Igel,An Introduction to RBM 
[6] G.Hinton, A Practical Guide to Training Restricted Boltzmann Machines 
[7] http://blog.csdn.net/itplus/article/details/19168937 
[8] G.Hinton, Training products of experts by minimizing contrastive divergence, 2002. 
[9] Bengio, Learning Deep Architectures for AI, 2009


免責聲明!

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



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