特異モデルのベイズ学習における 交換モンテカルロ法

Download Report

Transcript 特異モデルのベイズ学習における 交換モンテカルロ法

特異モデルのベイズ学習における
交換モンテカルロ法について
永田賢二 渡辺澄夫
東京工業大学 知能システム科学専攻
東京工業大学 精密工学研究所
発表概要

背景




特異モデル
ベイズ学習
MCMC法
提案法


交換モンテカルロ法
ベイズ学習への適用
実験・考察
 まとめ

背景:特異モデル
ニューラルネットワーク
混合正規分布
ベイズネットワーク
これらのモデルは特異モデルと呼ばれ、パターン認識、
システム制御、時系列予測などの応用に用いられている。
 (w)
背景:ベイズ学習
q(x)
X  { X 1 , X 2 , , X n }
n
経験カルバック距離: H n ( w ) 
n
1
log

n
p( x | w)
q( X i )
p( X i | w)
1
n
exp(  nH n ( w ))  ( w )
ベイズ事後分布: p ( w | X ) 
n
Z0(X )
i 1
規格化定数: Z 0 ( X n )   exp(  nH n ( w ))  ( w ) dw
ベイズ予測分布: p ( x | X ) 
n

n
p ( x | w ) p ( w | X ) dw
解析的な計算が困難⇒期待値計算をMCMC法により計算
背景:MCMC法
ある確率分布 p ( w )  exp(  Hˆ ( w )) に従う
サンプルを発生させるアルゴリズム
<メトロポリス法>
p ( w | w)
w
w
Hˆ ( w )  Hˆ ( w )  w  を採択
確率 P で w  を採択
ˆ
ˆ

H (w)  H (w ) 
確率 1  P で w を採択
[ P  exp(  Hˆ ( w ' )  Hˆ ( w ))]
w1 ,  , w K  ~p ( w | X n ) Hˆ ( w )  nH n ( w )  log  ( w )
1
K
K

k 1
p ( x | wk ) 

n
p ( x | w ) p ( w | X ) dw
背景:MCMC法
ベイズ事後分布: p ( w | X ) 
n
1
n
Z0(X )
学習データ数:小
exp(  nH n ( w ))  ( w )
学習データ数:大
学習データ数に応じて、ステップ幅を最適にする必要がある
背景:MCMC法
1
ベイズ事後分布: p ( w | X ) 
n
n
Z0(X )
学習データ数:大
学習データ数:小
特異モデルのベイズ事後分布
+
メトロポリス法
計算量が爆発
exp(  nH n ( w ))  ( w )
対
策
<拡張アンサンブル法>
•マルチカノニカル法
•シミュレーテッド・テンパリング法
•交換モンテカルロ法
目的


特異モデルのベイズ学習において、交換モ
ンテカルロ法を適用することを提案
その有効性をいくつかの実験により検証
交換モンテカルロ法[Hukushima,96]
以下の同時分布に従うサンプルを生成することを考える。
P w l ; t l  
L

Pl ( w l )
Pl ( w )  exp(  t l Hˆ ( w ))
l 1
<アルゴリズム>
1. それぞれの分布 Pl ( w ) に対して、メトロポリス法によりそれぞ
れの分布からのサンプルを生成する。
2. 上記の操作に加え、数ステップごとに、状態 w l と w l 1 を
以下の確率 P  w l , w l 1 ; t l , t l 1  で交換する。
P  w l , w l  1 ; t l , t l  1   min( 1, exp(   ))

  w l , w l  1 ; t l , t l  1   ( t l  1  t l ) Hˆ ( w l )  Hˆ ( w l  1 )

交換モンテカルロ法[Hukushima,96]
<メトロポリス法>
P (w)
<交換モンテカルロ法>
P1 ( w )
P2 ( w )
P3 ( w )
P4 ( w )
ベイズ学習への適用
p(w | X , t) 
n
1
n
Z 0 ( X ,t)
t  0 (事前分布)
exp(  ntH n ( w ))  ( w )
0  t 1
緩和しやすい
t  1 (事後分布)
緩和しにくい
P  w l , w l 1 ; t l , t l 1   min( 1, exp(   ))
  w l , w l 1 ; t l , t l 1   n ( t l 1  t l )  H n ( w l )  H n ( w l 1 ) 
実験条件①
学習データの出方について平均した場合を考える。
ベイズ事後分布:
p(w) 
1
exp(  nH ( w ))  ( w )
Z 0 (n)
H ( w )   q ( x ) log
<学習モデルの設定>
w  w : j  1,  , d 
q( x)
dx
p( x | w)
j
d
H (w) 

j
(w )
2
 (w ) :標準正規分布
j 1
確率的複雑さ: F ( n )   log Z 0 ( n ) 
評価関数(誤差率):
f  f0
f0
1
log n  ( d  1) log log n  O (1)
2
( f 0 :確率的複雑さの理論値、 f :実験値)
実験条件②
{t1 ,  , t L } : L  32
tl 
(l  1 )
0
2
lL
(otherwise)
<メトロポリス法の条件>
•初期値:事前分布からのランダムサンプル
• p ( w  | w ) :[  D ( n , t ), D ( n , t )] の一様分布とし、
採択率が6割から8割になるように D ( n , t ) を設定
•初期値の影響をなくすため、サンプル系列の後半50%を期待値計算に使用
<交換モンテカルロ法の条件>
・交換の頻度は、メトロポリス法1ステップに対し1回
・交換を試行する状態の取り方
ステップ数が奇数なら {( w1 , w 2 ), ( w 3 , w 4 ),  , ( w 31 , w 32 )}
ステップ数が偶数なら {( w 2 , w 3 ), ( w 4 , w 5 ),  , ( w 30 , w 31 )}
実験結果
(サンプル系列の様子)
p(w) 
1
exp(  nH ( w ))  ( w )
Z 0 (n)
K  10000 , n  10000 , d  2
メトロポリス法
交換モンテカルロ法
実験結果
(事後分布からのサンプル数と誤差率の関係)
学習データ数:n  100000
パラメータの次元数:d  2
メトロポリス法
交換モンテカルロ法
誤
差
率
log(事後分布からのサンプル数)
実験結果
(学習データ数と誤差率の関係)
事後分布からのサンプル数: K  8000
パラメータの次元数: d  2
メトロポリス法
交換モンテカルロ法
誤
差
率
log(学習データ数)
実験結果
(パラメータの次元数と誤差率の関係)
事後分布からのサンプル数: K  8000
学習データ数: n  100000
メトロポリス法
交換モンテカルロ法
誤
差
率
パラメータの次元数
まとめ


特異モデルのベイズ学習に交換モンテカルロ法を
適用することを提案した。
実験の結果、以下のことが明らかになった。



メトロポリス法よりも少ないサンプル数で、事後分布を精
度よく近似できる。
特に、その効果は、学習データ数が多いときや、パラ
メータの次元数が高いときに顕著に現れる。
今後の課題



より複雑なモデルへの適用
交換モンテカルロ法の予測精度の解明
変分ベイズ学習との比較
追加資料:確率的複雑さの計算法
確率的複雑さ:
F ( X )   log Z 0 ( X )
n
n
モデル選択やハイパーパラメータの決定の際の基準
<MCMC法による計算法>
Z 0 (t ) 
Z 0 (1)

Z 0 (0)
 exp(  ntH
Z 0 ( t1 )
Z 0 (0)
L 1


l 1

Z 0 (t 2 )
n
( w ))  ( w ) dw
 
Z 0 ( t1 )
 exp(  n ( t
Z 0 (1)
Z 0 ( t L 1 )
l 1
Z 0 (0)  1
L 1


l 1
Z 0 ( t l 1 )
Z 0 (tl )
( t 1  0 , t L  1)
 t l ) H n ( w )) exp(  nt l H n ( w ))  ( w ) dw
n
exp(

nt
H
(
w
))

(
w
)
dw

p
(
w
|
X
, tl )
l
n

L 1
F ( X )   log Z 0 (1)   
n
l 1
 exp(  n  t l H n ( w )) p ( w | X , t l ) dw
n
(  t l  t l 1  t l )
追加資料
(サンプル1系列での期待値計算の比較)
学習データ数:n  100000
パラメータの次元数:d  2
メトロポリス法
交換モンテカルロ法
誤
差
率
log(パラメータのサンプル数)