prml10.6 変分ロジスティック回帰

24
en.newikipedia.org (@niam) 10.6 変変変変変変変変変変変 2010/4/10 変変 変 PRML 変変変 1

Upload: yo-ehara

Post on 15-Jun-2015

2.273 views

Category:

Documents


0 download

DESCRIPTION

PRML 10.6 変分ロジスティック回帰のスライドです.PRML読書会2010/4/10で発表しました.http://atnd.org/events/3518

TRANSCRIPT

Page 1: PRML10.6 変分ロジスティック回帰

en.newikipedia.org (@niam)

1

10.6  変分ロジスティック回帰

2010/4/10江原 遥

PRML 読書会

Page 2: PRML10.6 変分ロジスティック回帰

en.newikipedia.org (@niam)

2

説明の流れ• 導入:ロジスティック回帰の説明• 10.6.1  超パラメータ固定で,変分近似して

変分パラメータ ξn が与えられた時の更新式を求めるところまで

• 10.6.2  変分パラメータ ξn の更新式を求める.• 更新式(バッチ版)まとめ.オンライン版も.• 10.6.3  事前分布が N(0,α-1I) と簡単な場合に

超パラメータも最適化

Page 3: PRML10.6 変分ロジスティック回帰

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}∈

Page 4: PRML10.6 変分ロジスティック回帰

en.newikipedia.org (@niam)

4

宣伝+ α

ロジスティック回帰は色々な名前で知られている:

最大エントロピー法, Log-linear モデル,項目反応理論

TOEIC や TOEFL の問題の難易度や被験者の能力は,裏で w の値を見ている(たぶん).

ユーザが知らない語を(オンライン学習で)予測して勝手に辞書を引いてくれるシステム→ 変分ロジスティック回帰のオンライン版を

あわよくば使おうと…画策中.( GW 中ぐらい?)

Page 5: PRML10.6 変分ロジスティック回帰

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 σ の微分も σ で表せる

Page 6: PRML10.6 変分ロジスティック回帰

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 がある

Page 7: PRML10.6 変分ロジスティック回帰

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

Page 8: PRML10.6 変分ロジスティック回帰

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

Page 9: PRML10.6 変分ロジスティック回帰

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

Page 10: PRML10.6 変分ロジスティック回帰

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 ξに関する

Page 11: PRML10.6 変分ロジスティック回帰

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

Page 12: PRML10.6 変分ロジスティック回帰

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

Page 13: PRML10.6 変分ロジスティック回帰

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

Page 14: PRML10.6 変分ロジスティック回帰

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 を ξ が適当な収束基準を満たすまで繰り返す.実際には,通常,数回の繰り返ししか必要としない

Page 15: PRML10.6 変分ロジスティック回帰

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の公式を使える

まだ来ていないデータは使えないので来ているデータだけを使う→ バッチほどには変分パラメータを最適値に近づけられない

Page 16: PRML10.6 変分ロジスティック回帰

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 )

Page 17: PRML10.6 変分ロジスティック回帰

en.newikipedia.org (@niam)

18

図 10.13

予測分布の等高線はデータから離れるにしたがって開いており,それらの領域では分類の不確実性が高いことを示している.真ん中は曖昧だよね!

p(w|t) から5つ分離境界をサンプルしました.SVM みたいで綺麗でしょ!

Page 18: PRML10.6 変分ロジスティック回帰

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) はシグモイド関数なので,まだ積分できない

Page 19: PRML10.6 変分ロジスティック回帰

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

qq

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

Page 20: PRML10.6 変分ロジスティック回帰

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

Page 21: PRML10.6 変分ロジスティック回帰

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

Page 22: PRML10.6 変分ロジスティック回帰

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 より

Page 23: PRML10.6 変分ロジスティック回帰

en.newikipedia.org (@niam)

24

やれればよかったこと• 実装する• RVM (ラプラス近似)と比較

Page 24: PRML10.6 変分ロジスティック回帰

en.newikipedia.org (@niam)

25

ご清聴ありがとうございました