Deep Learningで用いられるらしいということで, Restricted Boltzmann Machine(RBM)について調べたので概要とPythonによる実装例をまとめた. 主にAn Introduction to Restricted Boltzmann Machinesを参考にしているので, 数式の詳細はそちらをあたって欲しい. 概要 Restricted Boltzmann Machineは分布をモデル化するアルゴリズム. 目的は, 与えられた観測変数の集合からその確率分布を求めることだ. RBMでは観測変数の他に隠れ変数を導入する. そして, を求めたのち, 周辺化によってを求める. RBMではは次のように表される. ただし, . Eはエネルギーと呼ばれるもので, エネルギーが小さい状態程起こる確率は高くなる. 水は低きに流れる的な精神. また, の3つはこのモデルの
