発表資料(ppt版)

カルバック情報量の分割による
特異モデルの学習係数の
計算アルゴリズム
永田賢二 渡辺澄夫
東京工業大学工学部情報工学科
東京工業大学精密工学研究所
1
 (w)
背景

順問題
q(x)

X 1 , X 2 ,, X n
逆問題
?
p ( x | w)
p ( x | w)
X 1 , X 2 ,, X n

p ( x | w)
2
背景


統計的正則モデル
順問題について解明されている
⇒AIC,BIC,MDLなど
特異モデル
未だ順問題が解明されていない
⇒モデル選択のアルゴリズムが
確立されていない
3
目的


特異モデルの順問題について、
カルバック情報量を分割することにより、
確率的複雑さを分解する方法を提案
その有効性をいくつかの実験により検証
4
 (w)
ベイズ学習
q(x)


X n  ( X 1 , X 2 ,, X n )
p ( x | w)
n
1
n
p
(
w
|
X
)
 ( w) p( X i | w)
事後分布:
n
Z(X )
i 1
ベイズ予測分布: p ( x | X ) 
n
 p( x | w) p(w | X
n
)dw
予測分布と真の分布の違いは、サンプルが増え
るにつれて、どのような早さで小さくなってゆくか
5
カルバック情報量

カルバック情報量
q ( x)
H ( w)   q( x) log
dx
p( x | w)

汎化誤差
q ( x)
G(n)  E X n [  q( x) log
dx]
n
p( x | X )

1
  o( ) (  :学習係数)
n
n
6
学習係数の特徴
(1) (   ) は、ゼータ関数
 ( z )   H ( w)  ( w)dw
z
の最も原点に近い極に等しい。
(2)
  lim
n 
 log  exp( nH ( w)) ( w)dw
log n
log( V (t ) / V (t ))
(3)   lim
t0
log 
( V (t )

H ( w )t
 ( w)dw )
7
提案方法と基礎定理

提案方法
H (w)  H1 (w)  H 2 (w)
 ?

1は既知数
定理
  1  lim
n 
 log  exp( nH 2 ( w))  n ( w)dw
log n
[  n (w)  exp( nH1 (w)) ( w)]
8
定理の証明
Z (n)   exp( nH ( w)) ( w)dw
  exp( nH1 ( w)) exp( nH 2 ( w)) ( w)dw
exp( nH ( w)) exp( nH ( w)) ( w)dw

  exp( nH ( w)) ( w)dw 
 exp( nH (w)) (w)dw
2
1
1
1
  exp( nH1 ( w)) ( w)dw   exp( nH 2 ( w))  n ( w)dw
 log  exp( nH 2 ( w))  n ( w)dw
 log Z (n)
  lim
 1  lim
n 
n 
log n
log n
9
計算アルゴリズム
1、n として幾つかの値を設定する。
2、 n (w) に従うサンプル {wk : k  1,2,, K } を取り出す
⇒メトロポリス法
1
y
(
n
)


log{
3、
K
K
 exp( nH
k 1
2
( wk ))} を計算する。
4、幾つかの n について組み合わせ (log n, y (n)) を求めて
回帰曲線 y  2 x  b を最小二乗法で当てはめることにより
2 を求める。
5、   1  2 を目的の値とする。
10
メトロポリス法
n (w)  exp( nH1 (w)) (w)  exp( Hˆ (w)) とする
1、 w の初期値を設定する。
2、 w'  w (乱数)により、 w'を得る。
3、①
②
Hˆ ( w)  Hˆ ( w' )  w' を採択
Hˆ ( w)  Hˆ ( w' )  確率 P で w'を採択し
確率 1  P で w を採択
[ P  exp( nHˆ ( w' )  nHˆ ( w))]
4、1の手続きに戻る。
11
実験(1)
<条件>
H (a, b, c, d )  H1 (a, b, c, d )  H 2 (a, b, c, d )
H1 (a, b, c, d )  (ab  cd ) 2
H 2 (a, b, c, d )  (ab3  cd 3 ) 2
<理論値>
  2 / 3, 1  1 / 2
 2  1 / 6  0.1666
<結果>
y  0.1358 log n  0.2821
12
実験(2)
<条件>
H (a, b, c, d )  H1 (a, b, c, d )  H 2 (a, b, c, d )
H1 (a, b, c, d )  (ab  cd ) 2  1 / n(ab3  cd 3 ) 2
H 2 (a, b, c, d )  (1  1 / n)( ab3  cd 3 ) 2
<理論値>
  2 / 3, 1  1 / 2
 2  1 / 6  0.1666
<結果>
y  0.1325 log n  0.3385
13
実験(3)
<条件>
H (a, b, c, d , e, f )  H1 (a, b, c, d , e, f )  H 2 (a, b, c, d , e, f )
H1 (a, b, c, d , e, f )  (ab  cd  ef ) 2
H 2 (a, b, c, d , e, f )  (ab3  cd 3  ef 3 ) 2  (ab5  cd 5  ef 5 ) 2
<理論値>
  5 / 6, 1  1 / 2
 2  1 / 3  0.3333
<結果>
y  0.2817 log n  0.5071
14
考察

H (w) を分割せずに  を計算する方法
f (t )   log  exp( ntH ( w)) ( w)dw
df
f (1)  
dt
0 dt
1
nH ( w) exp( ntH ( w)) ( w)dw

  dt
 exp( ntH (w)) (w)dw
1
0
確率分布 exp( ntH ( w)) による nH (w) の平均値
15
考察


分割しないと・・・
あるnに対してtについての
積分区間[0,1]を細かく分割
分割すると・・・
あるnに対して一回のMCMC法
分割すると演算量が遥かに少ない!
16
改善案

新たな計算法
g (t )   log  exp( ntH 2 ( w))  n ( w)dw とすると
1 dg
g (1)  
dt
0 dt
nH 2 ( w) exp( ntH 2 ( w))  n ( w)dw
1

  dt
0
 exp( ntH 2 (w))  n (w)dw
確率分布 exp( ntH2 ( w))  n ( w) による nH 2 (w)の
平均値を 2 とし、
 1  2 により目的の値を計算
17
結論


カルバック情報量を分割して、学習係数を
計算するアルゴリズムを提案し、その有効
性を実験的に確認
今後の課題として、より正確な学習係数が
求められるようなカルバック情報量の分割
の仕方の最適化の問題がある。
18