カルバック情報量の 分割による特異モデルの学習係数

カルバック情報量の分割による
特異点モデルの学習係数計算法
永田賢二 渡辺澄夫
東京工業大学工学部情報工学科
東京工業大学精密工学研究所
1
 (w)
背景

順問題
q(x)

X1 , X 2 ,, X n
逆問題
?
p( x | w)
p( x | w)
X1 , X 2 ,, X n

p( x | w)
2
背景


統計的正則モデル
順問題について解明されている
⇒AIC,BIC,MDLなど
特異モデル
未だ順問題が解明されていない
⇒モデル選択のアルゴリズムが
確立されていない
3
目的


特異モデルの順問題について、
カルバック情報量を分割することにより、
確率的複雑さを分解する方法を提案
その有効性をいくつかの実験により検証
4
ベイズ学習
q(x)
X  ( X1, X 2 ,, X n )
n
 (w)
p( x | w)

n
1
n
p
(
w
|
X
)
 (w) p( X i | w)
事後分布:
n
Z(X )
i 1

n
n
p
(
x
|
X
)

p
(
x
|
w
)
p
(
w
|
X
)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(nH2 ( 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( nH 1 ( 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 K
3、 y(n)   log{  exp(nH2 ( wk ))} を計算する。
K k 1
4、幾つかの n について組み合わせ (logn, 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' を得る。
Hˆ (w)  Hˆ (w' )  w' を採択
ˆ (w)  Hˆ (w' )  確率 P で w' を採択
②H
確率 1  P で wを採択
[ P  exp(Hˆ (w' )  Hˆ (w))]
3、①
4、1の手続きに戻る。
11
実験(1)
<条件>
H ( a , b, c , d )  H 1 ( 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.1358log n  0.2821
12
実験(2)
<条件>
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.2817log n  0.5071
13
考察

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)) (w) による nH (w) の平均値
14
考察


分割しないと・・・
あるnに対してtについての
積分区間[0,1]を細かく分割
分割すると・・・
あるnに対して一回のMCMC法
分割すると演算量が遥かに少ない!
15
今後の課題

新たな計算法
g (t )   log  exp( ntH 2 ( w))  n ( w)dw とすると
1 dg
g (1)  
dt
0 dt
nH2 ( w) exp(ntH2 ( w)) n ( w)dw
1

  dt
0
 exp(ntH2 (w)) n (w)dw
確率分布 exp(ntH2 (w))n (w) による nH2 (w)の
平均値を 2 とし、
 1  2 により目的の値を計算
16
結論


カルバック情報量を分割して、学習係数を
計算するアルゴリズムを提案し、その有効
性を実験的に確認
今後の課題として、より正確な学習係数が
求められるようなカルバック情報量の分割
の仕方の最適化の問題がある。
17