prml10.6 変分ロジスティック回帰
DESCRIPTION
PRML 10.6 変分ロジスティック回帰のスライドです.PRML読書会2010/4/10で発表しました.http://atnd.org/events/3518TRANSCRIPT
en.newikipedia.org (@niam)
1
10.6 変分ロジスティック回帰
2010/4/10江原 遥
PRML 読書会
en.newikipedia.org (@niam)
2
説明の流れ• 導入:ロジスティック回帰の説明• 10.6.1 超パラメータ固定で,変分近似して
変分パラメータ ξn が与えられた時の更新式を求めるところまで
• 10.6.2 変分パラメータ ξn の更新式を求める.• 更新式(バッチ版)まとめ.オンライン版も.• 10.6.3 事前分布が N(0,α-1I) と簡単な場合に
超パラメータも最適化
en.newikipedia.org (@niam)
3
ロジスティック回帰• 2 値ロジスティック回帰
• 参考:多値ロジスティック回帰
1 1( 1| ) ( )
1 exp( ) exp(0) exp( )T
T Tp t
w w
w w
exp( ( , ))( | , )
exp( ( , ))
Tt n n
n n Tt n n
t
tp t
t
t
T
w xx w
w x
Tはの定義域.
( | , ) ( ( , ))
( , )
( | )
Tn n n n
n n n
p t t
t
p t
x w w x
x
w
厳密にはであるところを とおいて
と略記してる
シグモイド関数
ソフトマックス関数
大事なこと:回帰と言いながら教師あり分類問題
t {1,0}∈
en.newikipedia.org (@niam)
4
宣伝+ α
ロジスティック回帰は色々な名前で知られている:
最大エントロピー法, Log-linear モデル,項目反応理論
TOEIC や TOEFL の問題の難易度や被験者の能力は,裏で w の値を見ている(たぶん).
ユーザが知らない語を(オンライン学習で)予測して勝手に辞書を引いてくれるシステム→ 変分ロジスティック回帰のオンライン版を
あわよくば使おうと…画策中.( GW 中ぐらい?)
en.newikipedia.org (@niam)
5
シグモイド関数の性質• 2 値ロジスティック回帰
• 解析的に積分できない
1 1( 1| )
1 exp( ) exp(( )
0) exp( )T
T Tp t
w www 10.148
2
1( )
1 exp( )
exp( )'( ) ( )
1 exp( )
exp( )( ) 1
1
1 exp( ) 1 exp( )
( ) 1 ( )'( )ln ( )
( )
( )
1 ( )( )
nn
nn n
n n
n
n n
n nnn
n
n
nn
n
n
σ の微分も σ で表せる
ln σ の微分も σ で表せる
en.newikipedia.org (@niam)
6
10.6.1
最大化したい周辺尤度は,1
( ) ( , )d ( | ) ( )d ( | ) ( )dN
nn
p p p p p t p
t t w w t w w w w w w 10.147
1
( | ) 1
1 11
1 exp 1 exp
expexp
1 exp
exp( )) (
ttT T
t t
T T
T
T
T
T T
p t
t
t
w w w
w
w
w w
w
w
w
積分を阻害
ln( ( , )) ln( ( ) ( | )
ln( ( ) ( , ))
)
h
p p p
p
t w w t
w w ξ
w
これなら w の指数二次形式だから積分(正規化)できる.
2 2
1
( , )
( ) exp ( )(( ) )2
TNTn
n n nn
h
w ξ
ww
10.152
個々のデータ点に対して変分パラメータ ξn がある
en.newikipedia.org (@niam)
8
10.152 のために 10.144 がある
2 2
1
( , ) ( ) exp ( )(( ) )2
TNT Tn n
n n n n nn
h t
w
w ξ w w
10.144 から,2 2( ) ( ) exp ( )( )
2
zz z
10.149
2 2
( | ) exp( ) ( )
( )( | ) exp( ) ( ) exp ( )(( ) )
2
T T
TT T
p t t
p t t
w w w
ww w w
10.1481 1
( ) ( )2 2
10.153
データが N 個あるので
局所的な変分下限
ln( ( , )) ln( ( ) ( | ) ln( ( ) ( , ))) hp p p p t w w t w w ξw 10.152
en.newikipedia.org (@niam)
9
w に関する二次関数
2 2
1
1
20 0 0
1
ln( ( , )) ln( ( ) ( | )) ln( ( ) ( , ))
ln ( ) ln ( ) ( )(( ) )
1 1( ) ( ) ( )( )
2
2
co2
nst
TNT T Tn n
n n n n n n
NT T T
n n n nn
nn
p t p p t p h
p t t
t
w w w w w ξ
ww w w w
ww m S w m w w ( について)
w の二次関数.次数ごとに係数を見比べて:
残された問題:変分パラメータ ξ をどう決めるか?→ 10.6.2 へ
10.155
10.156 ~ 158
,
1 1 1 1
1 20
1
1
1 10 0 0
1
0
0
( )= ( |m ) ln ( )
1 1 1ln ( )
2 2 2
1 12 ( )( )
2 2
1 11
2
2
2
( )
N N
T T T TN N N N N N N N N
NT T T
N n
NT
n n nn
nn
T TN n
q N q
q
t
w w S w
w w m S w m w S w w S m m S m
S w S w w w w
m w S m w
S
m S w
を考え, 定数にしたい.
定数 -
次の :
次の :
青字
10
10
11
1
2
NT Tn N
n
N
N n nn
t
w S S S m
en.newikipedia.org (@niam)
10
10.6.2 変分パラメータ ξ の最適化
L を ξ に関して最大化したい.方法は 2 通り.1. w を潜在変数とみなして EM アルゴリズム2. w に対する積分を計算して ξ を直接最大化– w に対する積分後, ξn で微分すると 1. と同じ
形に
1. から考えていく.
ln ( ) ln ( | ) ( ) ln ( , ) ( ) ( )p p p d h p d L t t w w w w ξ w w ξ10.159
en.newikipedia.org (@niam)
11
w 潜在変数の EM アルゴリズム (1)
( , ) E[ln( ( , ) ( ))]
E[ln ( , ) ln ( )]
E[ln ( , )] const
oldQ h p
h p
h
ξ ξ w ξ w
w ξ w
w ξ ξに関する
10.160~ 161
2 2
1
( , ) ( ) exp ( )(( ) )2
TNT Tn n
n n n n nn
h t
w
w ξ w w
を代入すると,2
1
( , ) ln ( ) ( )( E[ ] ) const2
Nold T Tn
n n n n nn
Q
ξ ξ w w ξに関する
en.newikipedia.org (@niam)
12
w 潜在変数の EM アルゴリズム (2)
2new E[ ]T T T Tn n n n N N N n w w S m m
ξn で微分して, 0 と置くと,20 '( )( E[ ] )T T
n n n n w w
2
2
2
2
ln ( ) ( )( E[ ] )2
'( )( E[ ] ) 0
1'( )( E[ ] ) 1
ln ( ) (
( ) 2 ( )2
1 1 1( ) 2 ( ) 0
2 2 2
)2n
n n n
T Tnn n n n n
n
T Tn n n n
T Tn n n n n n n
n n nn
n
w w
w w
w w
2
1
( , ) ln ( ) ( )( E[ ] ) const2
Nold T Tn
n n n n nn
Q
ξ ξ w w ξに関する
11( ) 1 exp( )
1 exp( )
'( ) ( ) 1 ( )
ln ( ) 1 ( )
n nn
n n n
n nn
10.162
λ’ ( ξn)!=0 だから,
10.163
演習 10.33
1 1( ) ( )
2 2
en.newikipedia.org (@niam)
13
w に関する積分を実行 (1)
2 20 0
1
2 20 0
10
ln ( ) ln ( | ) ( ) ln ( , ) ( ) ( )
( ) ln ( )exp ( )(( ) ) ( | , )2
1 1( ) ln ( ) exp ( )(( ) ) exp
2 22 | |
TNT Tn n
n n n n n nn
TNTT Tn n
n n n n n n mn
p p p d h p d L
L t N d
L t
t t w w w w ξ w w ξ
wξ w w w m S w
wξ w w w m S w m
S
01
2 1 1 10 0 0
10
1
1 10 0 0
0
0
1 1 1( ) ln ( ) ( ) ln exp
2 22 | |
1exp
1 12ln exp
2 22 | |
2 | | 1ln
2 | |
N
n
NT T T
n n n n N N N N N Nmn
T
N N NT TN N Nm
m
N
m
d
L d
d
w
ξ w m S w m m S m m S m wS
w m S w m wm S m m S m
S
S
S
1 1 1 10 0 0 0 0 0
0
1 1 20 0 0
10
| |1 1 1 1ln
2 2 2 | | 2 2
| |1 1 1 1ln ln ( ) ( )
2 | | 2 2 2
T T T TNN N N N N N
NT TNN N N n n n n
n
L
Sm S m m S m m S m m S m
S
Sξ m S m m S m
S
(演習10.35 )10.159
10 0
1
1 10
1
1( ( ) )
2
2 ( )
N
N N n nn
NT
N n n nn
t
m S S m
S S
en.newikipedia.org (@niam)
14
w に関する積分を実行 (2) 1 1 2
0 0 010
1 2
1
| |1 1 1 1ln ln ( ) ( )
2 | | 2 2 2
1 1 1ln | | ln ( ) ( ) const.
2 2 2
NT TNN N N n n n n
n
NT
N N N N n n n n nn
L
Sξ m S m m S m
S
S m S m に関する10.164
これを ξn に関して最大化(演習 10.34 )
2 2 2
1 1 1 1 20 0 0 0
1 1
1
1 1ln ( ) ( ) 1 ( ) 2 ( ) '( ) '( )
2 2
1 1 1 1Tr ( ( ) ) ( ( ) ) '( )
2 2 2 2
-Tr
n n n n n n n n n n nn
TN N
N N N n n N N n n n nn nn n n
N N
L t t
ξ S S S S m S S S m
S S
11 1 2
0 0 0 01 1
1 1 20 0 0 0
1 1
10 0
1 1( ( ) ) ( ( ) ) '( )
2 2
1 1Tr 2 '( ) ( ( ) ) 2 '( ) ( ( ) ) '( )
2 2
Tr '( ) (
N NTN
N n n N n n n nn nn n
N NT T T
n n n N n n N n n n N n n n nn n
Tn n n N
t t
t t
SS S m S S m
S S m S S S m
S S m
1 20 0
1 1
2 2
2
1 1( ) ) '( ) ( ( ) ) '( ) 0
2 2
'( ) Tr 0 '( ) 0
'( ) 0
N NT T
n n N n n n N n n n nn n
T T T T T Tn n n N N n n N n n n N n n N N n n
T Tn n N N N n n
t t
S S S m
S m m S m m
S m m
1
1
ln | | Tr
2 '( )
NN N N
n n
TN n n n N
d d
d d
A A A
SS S S
S S
en.newikipedia.org (@niam)
15
バッチ版計算法まとめ (p.216 頭 )
initialization: 変分パラメータ ξold の初期化• E-step
• M-step
10 0
1
1 10
1
1( ( ) )
2
2 ( )
N
N N n nn
NT
N n n nn
t
m S S m
S S
10.156 ~ 158,q( )=N( |m )N Nw w S を求める
2new
1...
E[ ]T T T Tn n n n N N N n
n N
w w S m m
について
10.163
E と M を ξ が適当な収束基準を満たすまで繰り返す.実際には,通常,数回の繰り返ししか必要としない
en.newikipedia.org (@niam)
16
オンライン化の指針 ( 演習 10.32)
initialization: 変分パラメータ ξold の初期化• E-step
• M-step
10 0
1
1 10
1
1( ( ) )
2
2 ( )
N
N n nn
NT
N n n n
N
n
t
m S m
S S
S 10.156 ~ 158,q( )=N( |m )N Nw w S を求める
2new
1...
E[ ]T T Tn n
TNn n nN N
n N
S m mw w
について
10.163
•E-step はそのまま適用できる.•SN の逆行列計算に Woodburyの公式を使える
まだ来ていないデータは使えないので来ているデータだけを使う→ バッチほどには変分パラメータを最適値に近づけられない
en.newikipedia.org (@niam)
17
オンライン版計算法まとめ
1 1 11 0 1 1 1 1
1
11
1 1 0 01
11 11 1 0 0 1 1
1
1
1 1
1 11
1
2 ( ) 2 ( ) 2 ( )
1( ( ) )
2
1 12 ( ) ( ) ( )
2 2
NT T T
N n n n N N N N Nn
N
N N n nn
NT
N N N n n N Nn
TN N
N N
N
N
N
t
t t
S S S
m S S m
S S m
SS
1
11 1
11 1
1
1 1 1 11
1
1
1
1( )
1 22 ( )
P.314
1( )( )
1
2 ( )
N
N N N NTN N N
T
T T
N
N
T
N N
t
SS m
S
A bc
A bc A A b c Ac A b
S
Woodburyの公式(上巻 )を用いる Woodbury. の公式の特殊系として,
の形をSherman-Morri sonの公式というらしい(朱鷺の社).
1 1 1 11 1 1 1 1 11 1
1 1 111 1 1
1 11
2 ( )
11 2 ( )2 ( )
T TN N N N N N N N NT
N N NTTN N N NN N N
N
S S S SS S
S S
逆行列の計算量dxd 行列で d3
形を限定して d2 に するのがWoodbury
1 11T T
N N NN N N S m m ( 1 つ前の M-step )
en.newikipedia.org (@niam)
18
図 10.13
予測分布の等高線はデータから離れるにしたがって開いており,それらの領域では分類の不確実性が高いことを示している.真ん中は曖昧だよね!
p(w|t) から5つ分離境界をサンプルしました.SVM みたいで綺麗でしょ!
en.newikipedia.org (@niam)
19
10.6.3 超パラメータの推論
10.165 ~ 1681
0 0
( | ) ( | , )
( ) Gam( | , )
( , , ) ( | ) ( | ) ( )
( ( , , )d) d
p N
p a b
p p p a p
p p
w
w w 0 I
w t t w w
t t w
この積分が実行できない
今までは超パラメータ m0 や S0 が与えられているとして,p(w)=N(w|m0, S0) を考えていた.超パラメータも最適化するには?ここでは,もうちょっと簡単な次の場合を考える.
(
ln ( ) ( ) KL( || )
( , , ) ( | ) ( )( ) ( , ) ln d d ( , ) ln d d
( , ) ( , )
( , | )KL(q|| )= ( , ) ln d d
( , )
| )
p L q q p
p p a pL q q q
q q
pp q
q
p
t
t
w t ww w w w
w w
w
w
w tw w
まず,大域的な変分法で p(t) の下限L(q) を求める
p(t|w) はシグモイド関数なので,まだ積分できない
en.newikipedia.org (@niam)
20
局所的変分法
( , ) ( | ) ( ) ( , ) ( )
( | ) ( | ) ( )ln ( ) ( ) ( , ) ln d d
( , )
( , ) ( | ) (
(
)( , ) ( , )
)n d
,l d
p p p h p
p p a pp L q q
q
h p a pL q
t w t w w w ξ w
t w wt w w
w
w ξ w
wξ w w
局所的変分法
*
2 2
1
1
( , ) ( ) ( )
ln ( ) E [ln ( , )]
ln ( ) E [ln ( , ) ( | ) ( ) ] const
= E [ln ( | )] ln ( , ) const
( , ) ( ) exp ( )(( ) )2
( | ) ( | , )
E[
j j i j
TNT Tn n
n n n n nn
q q q
q p
q h p p
p h
h t
p N
w w
Z X Z
w w ξ w w
w w ξ w
ww ξ w w
w w 0 I
に関する
に関する
代入
1
] 1( ) ( ) const
2 2
NT T T T
n n n nn
t
w w w w w
←10.9 より,
w に関する二次形式
10.173
en.newikipedia.org (@niam)
21
平方完成して最適化
1
1
E[ ] 1ln ( ) ( ) ( ) const
2 2
1 1 1= E[ ] 2 ( ) 2 ( ) const
2 2 2
NT T T T
n n n nn
NT T T
n n n nn
q t
t
w w w w w w w
w I w w w
( に関する)
( に関する)
1
1
1
1
( ) ( | , )
1( )
2
E[ ] 2 ( )
N N
N
N N n nn
NT
N n n nn
q N
t
w w μ Σ
Σ μ
Σ I
10.174 ~ 176
en.newikipedia.org (@niam)
22
q(α) ,変分パラメータ ξ の最適化1
0 0
0 0
1
0
0
ln ( ) E [ln ( | )] ln ( ) const
( | ) ( | , )
( ) Gam( | , )
ln ( ) ln E[ ] ( 1) ln const2 2
1( ) Gam( | , ) e
( )
21
E[ ]2
N N N
T
b a bN N N
N
N
TN
q p p
p N
p a b
Mq a b
q a b aa
Ma a
b b
w w
w w 0 I
w w
w w
に関する
代入
10.177 ~ 179
2new
( , ) ( ) ln ( , )d + const.
E[ ]T T T Tn n n n N N N n
L q q h
ξ w w ξ w
w w S m m
に関する
ξ の最適化は 10.163 と同じ
10.180,181
en.newikipedia.org (@niam)
23
10.6.3 超パラメータの推論まとめ
E[ ]
E[ ]
N
N
T TN N N
a
b
ww Σ μ μ
1
1
1
1
( ) ( | , )
1( )
2
E[ ] 2 ( )
N N
N
N N n nn
NT
N n n nn
q N
t
w w μ Σ
Σ μ
Σ I
1
0
0
1( ) Gam( | , ) e
( )
21
E[ ]2
N N Nb a bN N N
N
N
TN
q a b aa
Ma a
b b
w w
付録 B より
en.newikipedia.org (@niam)
24
やれればよかったこと• 実装する• RVM (ラプラス近似)と比較
en.newikipedia.org (@niam)
25
ご清聴ありがとうございました
ビッグデータのための機械学習 - ahclab.naist.jp–単純ベイズ、ロジスティック回帰、条件付き確率場、 ... = 2/40 = 0.05 2016/10/28 ビッグデータアナリティクス
~アトピー性皮膚炎~20.2 [7.7, 31.8] 24.8 [12.2, 36.3] 0.005 %(例数) a) 地域、ベースラインのIGAスコア、投与群を説明変数としたロジスティック回帰モデル