3. 目次
1. 統計的機械学習の考え方(データ生成モデルの再現)
2. マルコフ确率场とボルツマンマシン
I. マルコフ確率場
II. ボルツマンマシン
III. ボルツマンマシンの学習
3. 可视変数のみのボルツマンマシン学习
I. KL法からの学習方程式の導出(資料のみ)
II. ボルツマンマシン学習の実装と組み合わせ爆発の問題
4. 隠れ変数ありのボルツマンマシン学習
I. 隠れ変数ありの場合の学習について
II. 隠れ変数を導入する意味
5. ボルツマンマシン上での近似手法(ギブスサンプリング)
6. 制约ボルツマンマシン
I. 条件付き独立に基づく制约ボルツマンマシンの性質
II. 制约ボルツマンマシンの学習
7. カルバックライブラーダイバージェンス(CD法)
25. 1
N
N
?=1
v
(?)
i = Ep(V|θ)[Vi]
1
N
N
?=1
v
(?)
i v
(?)
j = Ep(V|θ)[ViVj]
(2.17)
(2.18)
ボルツマシンの学習
これをボルツマンマシンの学習方程式
(learning equation of Boltzmann machine)と呼ぶ
観測データ点の
標本平均
BMの期待値
また、標本平均と期待値を一致させる解と解釈できることから
この学習方程式はモーメント?マッチング(moment matching)とも呼ばれる
26. ボルツマンマシン学習の実装と組み合わせ爆発の問題
1
N
N
?=1
v
(?)
i = Ep(V|θ)[Vi]
1
N
N
?=1
v
(?)
i v
(?)
j = Ep(V|θ)[ViVj] (2.18)
(2.17)
BMの学習は式(2.17)(2.18)の学習方程式を解くことで達成する
しかし学習方程式を解析的に解くことは一般には難しいので実際には
式(2.14)(2.15)の勾配を利用した勾配上昇法(gradient ascent method)
で反復的に解くことになる。
?LD(θ)
?bi
=
N
?=1
v
(?)
i ? NEp(V|θ)[Vi]
?LD(θ)
?wij
=
N
?=1
v
(?)
i v
(?)
j ? NEp(V|θ)[ViVj]
(2.14)
(2.15)
41. 隠れ変数を持つボルツマシンの学習の意味について
v,h
xixjp(h|v, θ)qD(v) = Ep(V,H|θ)[XiXj]
v,h
xip(h|v, θ)qD(v) = Ep(V,H|θ)[Xi] (2.29)
(2.30)
1
N
N
?=1
v
(?)
i = Ep(V|θ)[Vi]
1
N
N
?=1
v
(?)
i v
(?)
j = Ep(V|θ)[ViVj]
(2.17)
(2.18)
観測データ点の
標本平均
BMの期待値
ややこしい!!! BMの期待値
42. 隠れ変数を持つボルツマシンの学習の意味について
v,h
f(v, h)p(h|v, θ)qD(v)式(2.29)(2.30)の左辺
この式は式(2.21) より下記のように書き換えられる。
V
f(v)qD(v) =
1
N
N
?=1
f(v(?)
)
1
N
N
?=1 h
f(v(?)
, h)p(h|v(?)
, θ) (2.31)
可視変数の値をμ番目の観測データ点 で
固定したときの隠れ変数の条件付き分布
v(?)
例:左図のとき
p(h|v(?)
, θ) ∝ exp(b
(?)
4 h4 + b
(?)
4 h4 + w45h4h5) (2.32)
b
(?)
4 = b4 + w14v
(?)
1 + w24v
(?)
2
b
(?)
5 = b5 + w35v
(?)
3
ただし、
Ep(V|θ)[f(V)] =
V
(f(v))p(v|θ)
式(2.16)で定義した期待値
式(2.32)はバイアスパラメータが観測データ点に依存する。
43. 隠れ変数を持つボルツマシンの学習の意味について
1
N
N
?=1 h
f(v(?)
, h)p(h|v(?)
, θ) (2.31)
各観測データ点 ごとに隠れ層のみで
構成された新しいBMとみなす
その新たにつくったBMの期待値を計算する
v(?)
すべての観測点についてここまでの実行
全体で平均を取る
(2.30’)
1
N
N
?=1
Ep(h|v(?)θ)[f(v(?)
, h)] = Ep(V,H|θ)[XiXj]
両辺共に組み合わせ爆発の問題が生じる!!!
47. ギブスサンプリング
Gibbs sampling
式(2.34) はxの条件付き分布がp(xi|x?i, θ) =
exp{(bi + j∈Ni
wijxj)xi}
1 + exp bi + j∈Ni
wijxj
効率よく計算できる。下記がその手順。
① 式(2.34)に従って与えられた を元に確率 を計算する。
② 区間[0,1]の一様乱数を生成し、その値がこの確率を下回れば ?
そうでなければ と決定する?
得られた は式(2.34)の条件付き分布に従う。
p(xi|x?i, θ)
xi = 1
xi = 0
x?i
xi
48. ギブスサンプリング
Gibbs sampling
【全体の手順】
① 各変数を適当に(ランダムに0,1を決めて)初期化し とする。
② 各成分 について の順に前述のサンプリングを行う。
③ 1巡したらまた から同じことを行い、繰り返す。
t巡目(t=1,2,…)の は
からサンプルすることとする。
つまり をサンプルするとき、それ以外の変数は最新の値をセットする。
tを十分大きくとると、こうして得られる はモデル分布 に従う。
x(0)
xi i = 1, ..., M
i = 1
p(xi|x
(t)
1 , ..., x
(t)
i?1, x
(t?1)
i+1 , ..., x
(t?1)
M )
x(t)
xi
x
(t)
i
p(x|θ)