inverted index compression and query processing with ...sleepyheads.jp › tmp ›...

40
PRML復習レーン#5 4.3.3- 2010-11-06 Yoshihiko Suhara @sleepy_yoshi

Upload: others

Post on 04-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Inverted Index Compression and Query Processing with ...sleepyheads.jp › tmp › PRML4_3_3_suhara_pre.pdf · PRML復習レーン#5 4.3.3- 2010-11-06 Yoshihiko Suhara @sleepy_yoshi

PRML復習レーン#5 4.3.3-

2010-11-06 Yoshihiko Suhara @sleepy_yoshi

Page 2: Inverted Index Compression and Query Processing with ...sleepyheads.jp › tmp › PRML4_3_3_suhara_pre.pdf · PRML復習レーン#5 4.3.3- 2010-11-06 Yoshihiko Suhara @sleepy_yoshi

1

目次

• 4.4 確率的識別モデル – 固定基底関数 – ロジスティック回帰 – 反復再重み付け最小二乗

• ニュートン・ラフソン法

– 多クラスロジスティック回帰 – プロビット回帰 – 正準連結関数

Page 3: Inverted Index Compression and Query Processing with ...sleepyheads.jp › tmp › PRML4_3_3_suhara_pre.pdf · PRML復習レーン#5 4.3.3- 2010-11-06 Yoshihiko Suhara @sleepy_yoshi

2

4.3.3 反復重み付け最小二乗

Page 4: Inverted Index Compression and Query Processing with ...sleepyheads.jp › tmp › PRML4_3_3_suhara_pre.pdf · PRML復習レーン#5 4.3.3- 2010-11-06 Yoshihiko Suhara @sleepy_yoshi

3

反復再重み付け最小二乗

• ロジスティック回帰の誤差関数は,最尤解を解析的に導出することができない

– cf. 最小二乗法 = 正規方程式

• ニュートン・ラフソン法によるE(w)の最小化

)(1)old()new(wHww E

(4.92)

Hはwに関するE(w)の2階微分を要素とするヘッセ行列

Page 5: Inverted Index Compression and Query Processing with ...sleepyheads.jp › tmp › PRML4_3_3_suhara_pre.pdf · PRML復習レーン#5 4.3.3- 2010-11-06 Yoshihiko Suhara @sleepy_yoshi

補足: ニュートン・ラフソン法

• ニュートン法とも呼ばれる

• 非線形関数の二次近似による解析手法

– 元々はf(x) = 0を求める最適化手法

4

𝑓′ 𝑥 = 0を考える

𝑓′(𝑥)の𝑥 = 𝑥0でのテーラー展開をすると

𝑓′ 𝑥 = 𝑓′ 𝑥0 + 𝑓′′ 𝑥0 𝑥 − 𝑥0

𝑥 = 𝑥0 −𝑓′(𝑥0)

𝑓′′(𝑥0)

𝑓′ 𝑥0 + 𝑓′′ 𝑥0 𝑥 − 𝑥0 = 0より

Page 6: Inverted Index Compression and Query Processing with ...sleepyheads.jp › tmp › PRML4_3_3_suhara_pre.pdf · PRML復習レーン#5 4.3.3- 2010-11-06 Yoshihiko Suhara @sleepy_yoshi

補足: 1次近似? 2次近似?

• 最急降下法 vs. ニュートン・ラフソン法

• ホワイトボードで説明

5

Page 7: Inverted Index Compression and Query Processing with ...sleepyheads.jp › tmp › PRML4_3_3_suhara_pre.pdf · PRML復習レーン#5 4.3.3- 2010-11-06 Yoshihiko Suhara @sleepy_yoshi

6

二乗和誤差関数への適用

• 二乗誤差関数(3.12)を誤差関数とする線形回帰モデル(3.3)にニュートン・ラフソン法を適用

– wの更新式は以下で与えられる

N

n

TT

nnn

T tE1

)()( tΦΦwΦww

N

n

TT

nnE1

)( ΦΦwH

(4.93)

(4.94)

tΦΦwΦΦΦwwTTT

)old(1)old()new(

tΦΦΦTT 1

(4.95)

反復せずに1回で正確な値が得られることに注目

Page 8: Inverted Index Compression and Query Processing with ...sleepyheads.jp › tmp › PRML4_3_3_suhara_pre.pdf · PRML復習レーン#5 4.3.3- 2010-11-06 Yoshihiko Suhara @sleepy_yoshi

7

ロジスティック回帰への適用

• ロジスティック回帰の交差エントロピー誤差関数(4.90)にニュートン・ラフソン法を適用

N

n

T

nnn tyE1

)()()( tyΦw

N

n

TT

nnnn yyE1

)1()( RΦΦwH

)1( nnnn yyR

(4.96)

(4.97)

(4.98)

ヘッセ行列は重み付け行列Rを通じてwに依存

⇒ 繰り返し計算する必要

Page 9: Inverted Index Compression and Query Processing with ...sleepyheads.jp › tmp › PRML4_3_3_suhara_pre.pdf · PRML復習レーン#5 4.3.3- 2010-11-06 Yoshihiko Suhara @sleepy_yoshi

8

ロジスティック回帰モデルにおけるニュートン・ラフソン法の更新式

• wの更新は以下のとおり

)()( 1)old()new(tyΦRΦΦww TT

)(1)old(tyRΦwz

(4.99)

(4.100)

)()( )old(1tyΦRΦΦRΦΦ TTT w

RzΦRΦΦTT 1)(

ここで

このため,反復重み付け最小二乗法 (IRLS) とも呼ばれる

重み付けベクトルwが新たに計算されるたびに,

重み付け行列Rを計算しなおして正規方程式を解く必要性

Page 10: Inverted Index Compression and Query Processing with ...sleepyheads.jp › tmp › PRML4_3_3_suhara_pre.pdf · PRML復習レーン#5 4.3.3- 2010-11-06 Yoshihiko Suhara @sleepy_yoshi

演習4.15

9

• 交差エントロピー誤差関数はwの凸関数であり,唯一の最適解をもつ

• 証明の順序

– (1) Rが正定値行列であることを証明

– (2) 上を利用し,Hが正定値行列であることを証明

ホワイトボードで説明

Page 11: Inverted Index Compression and Query Processing with ...sleepyheads.jp › tmp › PRML4_3_3_suhara_pre.pdf · PRML復習レーン#5 4.3.3- 2010-11-06 Yoshihiko Suhara @sleepy_yoshi

補足: 正定値行列のうれしさ

• 正定値行列とは?

– 実対称行列

– 全ての固有値が正

– 任意のベクトル𝒖に対して𝒖𝑇𝑯𝒖 > 0

• 誤差関数が凸関数 ⇔ ヘッセ行列が正定値

• 直感的説明

– あらゆる組み合わせの2階微分が正

10

Page 12: Inverted Index Compression and Query Processing with ...sleepyheads.jp › tmp › PRML4_3_3_suhara_pre.pdf · PRML復習レーン#5 4.3.3- 2010-11-06 Yoshihiko Suhara @sleepy_yoshi

11

4.3.4 多クラスロジスティック回帰

Page 13: Inverted Index Compression and Query Processing with ...sleepyheads.jp › tmp › PRML4_3_3_suhara_pre.pdf · PRML復習レーン#5 4.3.3- 2010-11-06 Yoshihiko Suhara @sleepy_yoshi

12

多クラスロジスティック回帰

最尤法を用いて直接パラメータ{wk}を決定する

• 多クラスの分布に対して事後確率は,

• 全ての活性化関数ajに関するykの微分は,

j j

kkk

a

ayCp

)exp(

)exp()()|(

T

kka w

)( jkjk

j

k yIya

y

ここで活性化関数は,

(4.104)

(4.105)

(4.106)

Page 14: Inverted Index Compression and Query Processing with ...sleepyheads.jp › tmp › PRML4_3_3_suhara_pre.pdf · PRML復習レーン#5 4.3.3- 2010-11-06 Yoshihiko Suhara @sleepy_yoshi

13

演習4.17

• j=k のときと,j ≠ k の2通りについて計算

– ホワイトボードで計算

)( jkjk

j

k yIya

y

Page 15: Inverted Index Compression and Query Processing with ...sleepyheads.jp › tmp › PRML4_3_3_suhara_pre.pdf · PRML復習レーン#5 4.3.3- 2010-11-06 Yoshihiko Suhara @sleepy_yoshi

14

尤度関数

• 尤度関数は以下のとおり

– Ckに属する特徴ベクトルΦnに対する目的変数ベクトルtnがk番目の要素が1で,他の要素が0

)( nknk yy

N

n

K

k

N

n

K

k

t

nk

t

nkKnknk yCpp

1 1 1 1

1 )|(),...,|( wwT

ここで

Tはtnkを要素tnkとする目的変数のN x K行列

(4.107)

Page 16: Inverted Index Compression and Query Processing with ...sleepyheads.jp › tmp › PRML4_3_3_suhara_pre.pdf · PRML復習レーン#5 4.3.3- 2010-11-06 Yoshihiko Suhara @sleepy_yoshi

15

交差エントロピー誤差関数

• 尤度関数(4.107)の負の対数を取る

• 勾配は,ソフトマックス関数の微分(4.106)を用いて以下のとおりになる (演習4.18)

N

n

K

k

nknkKK ytpE1 1

11 ln),...,|(ln),...,( wwTww (4.108)

N

n

nnjnjKw tyEj

1

1 )(),...,( ww (4.109)

Page 17: Inverted Index Compression and Query Processing with ...sleepyheads.jp › tmp › PRML4_3_3_suhara_pre.pdf · PRML復習レーン#5 4.3.3- 2010-11-06 Yoshihiko Suhara @sleepy_yoshi

演習14.18

• ホワイトボードで説明

16

Page 18: Inverted Index Compression and Query Processing with ...sleepyheads.jp › tmp › PRML4_3_3_suhara_pre.pdf · PRML復習レーン#5 4.3.3- 2010-11-06 Yoshihiko Suhara @sleepy_yoshi

17

演習4.18 (きれいに書くと)

j

njN

n nj

nkK

k

nknk

nkj

Ka

a

yyt

y

E

ww

ww

1 1

1 )ln(),...,(

N

n

K

k

nnjkjnk

nk

nk yIyy

t

1 1

)(

N

n

K

k

K

k

njnkkjnkn ytIt1 1 1

N

n

N

n

nnjnjnjnjn tyyt1 1

)()(

Page 19: Inverted Index Compression and Query Processing with ...sleepyheads.jp › tmp › PRML4_3_3_suhara_pre.pdf · PRML復習レーン#5 4.3.3- 2010-11-06 Yoshihiko Suhara @sleepy_yoshi

18

多クラスのヘッセ行列

• MxMサイズのヘッセ行列のj,k成分は以下になる

• 2階微分が求まったので,IRLSによって最適化可能

• なお,多クラスに対するヘッセ行列も正定値行列であり,誤差関数は唯一の最小解を持つ (演習4.20; パス)

N

n

T

nnnjkjnkK yIyEjk

1

1 )(),...,( wwww (4.110)

Page 20: Inverted Index Compression and Query Processing with ...sleepyheads.jp › tmp › PRML4_3_3_suhara_pre.pdf · PRML復習レーン#5 4.3.3- 2010-11-06 Yoshihiko Suhara @sleepy_yoshi

小休止: バッチ学習と逐次学習

• バッチ学習

– データ点すべてに対する誤差関数𝐸を考える

– 非線形最適化問題として解く

• 1次近似: 最急降下法

• 2次近似: ニュートン・ラフソン法

• 逐次学習 (オンライン学習)

– 各データ点に対する誤差関数𝐸𝑛を考える

• ただし,𝐸 = 𝐸𝑛𝑛

– 確率的勾配降下法 (3.22) で最適化

• 学習率𝜂を適切に設定する必要あり

• 収束しなかったら試行を繰り返す 19

Page 21: Inverted Index Compression and Query Processing with ...sleepyheads.jp › tmp › PRML4_3_3_suhara_pre.pdf · PRML復習レーン#5 4.3.3- 2010-11-06 Yoshihiko Suhara @sleepy_yoshi

バッチ学習と逐次学習の違い

• 違い

– 誤差関数の形

– パラメータ更新の方向

• 逐次学習では,なぜ学習率を適切に設定する必要があるのか?

20

Page 22: Inverted Index Compression and Query Processing with ...sleepyheads.jp › tmp › PRML4_3_3_suhara_pre.pdf · PRML復習レーン#5 4.3.3- 2010-11-06 Yoshihiko Suhara @sleepy_yoshi

21

誤差関数が凸関数の場合,誤差関数最適化という観点ではバッチ学習の方が同等かそれ以上の結果が得られる

凸関数 + 凸関数 = 凸関数 はおk?

誤差関数が凸じゃないなら逐次学習の方がうまい局所最適に落ちることもあるかもね.それはあくまで問題依存

Page 23: Inverted Index Compression and Query Processing with ...sleepyheads.jp › tmp › PRML4_3_3_suhara_pre.pdf · PRML復習レーン#5 4.3.3- 2010-11-06 Yoshihiko Suhara @sleepy_yoshi

凸 + 凸 = ?

22

-4 -2 0 2 4

05

10

15

20

25

x

y

-4 -2 0 2 4

05

10

15

20

25

Page 24: Inverted Index Compression and Query Processing with ...sleepyheads.jp › tmp › PRML4_3_3_suhara_pre.pdf · PRML復習レーン#5 4.3.3- 2010-11-06 Yoshihiko Suhara @sleepy_yoshi

凸!

23 -4 -2 0 2 4

05

10

15

20

25

x

y

-4 -2 0 2 4

05

10

15

20

25

-4 -2 0 2 4

05

10

15

20

25

-4 -2 0 2 4

05

10

15

20

25

Page 25: Inverted Index Compression and Query Processing with ...sleepyheads.jp › tmp › PRML4_3_3_suhara_pre.pdf · PRML復習レーン#5 4.3.3- 2010-11-06 Yoshihiko Suhara @sleepy_yoshi

証明: 凸 + 凸 = 凸

• 凸関数f(x)とg(x)

• h(x) = f(x) + g(x)

• Jensenの不等式を利用

24

𝑓 𝜆1𝑥1 + 𝜆2𝑥2 ≤ 𝜆1𝑓 𝑥1 + 𝜆2𝑓(𝑥2)

𝑔 𝜆1𝑥1 + 𝜆2𝑥2 ≤ 𝜆1𝑔 𝑥1 + 𝜆2𝑔(𝑥2)

𝑓 𝜆1𝑥1 + 𝜆2𝑥2 + 𝑔 𝜆1𝑥1 + 𝜆2𝑥2≤ 𝜆1(𝑓 𝑥1 + 𝑔 𝑥1 ) + 𝜆2(𝑓 𝑥2 + 𝑔 𝑥2 )

𝑕 𝜆1𝑥1 + 𝜆2𝑥2 ≤ 𝜆1𝑕 𝑥1 + 𝜆2𝑕(𝑥2)

Page 26: Inverted Index Compression and Query Processing with ...sleepyheads.jp › tmp › PRML4_3_3_suhara_pre.pdf · PRML復習レーン#5 4.3.3- 2010-11-06 Yoshihiko Suhara @sleepy_yoshi

25

4.3.5 プロビット回帰

Page 27: Inverted Index Compression and Query Processing with ...sleepyheads.jp › tmp › PRML4_3_3_suhara_pre.pdf · PRML復習レーン#5 4.3.3- 2010-11-06 Yoshihiko Suhara @sleepy_yoshi

プロビット回帰

• 目的: 活性化関数の出力𝑎𝑛に閾値を設定したい

• 𝜃の値が確率密度𝑝(𝜃)から得られる場合,活性化関数は以下で得られる

26

𝑡𝑛 = 1 𝑤𝑕𝑒𝑛 𝑎𝑛 ≥ 𝜃𝑡𝑛 = 0 𝑜𝑡𝑕𝑒𝑟𝑤𝑖𝑠𝑒

𝑓 𝑎 = 𝑝 𝜃 𝑑𝜃𝑎

−∞

(4.112)

(4.113)

Page 28: Inverted Index Compression and Query Processing with ...sleepyheads.jp › tmp › PRML4_3_3_suhara_pre.pdf · PRML復習レーン#5 4.3.3- 2010-11-06 Yoshihiko Suhara @sleepy_yoshi

27

erf関数

• erf関数 (誤差関数とも呼ばれる.注意)

• プロビット関数はerf関数で表現可能

a

da0

2 )2/exp(2

)erf(

)erf(

2

11

2

1)( aa

(4.115)

(4.116)

(4.115)は,要するにプロビット関数の累積分布関数

⇒ 累積分布関数を活性化関数の出力として用いる

Page 29: Inverted Index Compression and Query Processing with ...sleepyheads.jp › tmp › PRML4_3_3_suhara_pre.pdf · PRML復習レーン#5 4.3.3- 2010-11-06 Yoshihiko Suhara @sleepy_yoshi

図解

• 図4.13

28

𝑝(𝜃)

𝑓(𝑎)

Page 30: Inverted Index Compression and Query Processing with ...sleepyheads.jp › tmp › PRML4_3_3_suhara_pre.pdf · PRML復習レーン#5 4.3.3- 2010-11-06 Yoshihiko Suhara @sleepy_yoshi

プロビット関数

• 𝜃 の分布を平均0,分散1のガウス分布とすると,対応する累積分布関数は以下のとおり

– プロビット関数

29

a

dNa )1,0|()( (4.114)

Page 31: Inverted Index Compression and Query Processing with ...sleepyheads.jp › tmp › PRML4_3_3_suhara_pre.pdf · PRML復習レーン#5 4.3.3- 2010-11-06 Yoshihiko Suhara @sleepy_yoshi

プロビット回帰まとめ

• プロビット回帰 (probit regression) – プロビット関数を活性化関数とする一般化線形モデル

– ロジスティック回帰と似ている

– ロジスティック回帰に比べ,外れ値に敏感

– 活性化関数に標準ガウス分布の累積分布関数を使用

• パラメータの学習

– ロジスティック回帰と同じ方法でできる

• 𝑦𝑛の計算方法が変わるだけ

Page 32: Inverted Index Compression and Query Processing with ...sleepyheads.jp › tmp › PRML4_3_3_suhara_pre.pdf · PRML復習レーン#5 4.3.3- 2010-11-06 Yoshihiko Suhara @sleepy_yoshi

31

拡張

• いずれもデータは正しくラベル付けされていると仮定

⇒ 目的変数値tが間違った値に反転する確率εを用いて, 誤ったラベル付けの影響を組み込むことが可能

))(1()()1()|( xxx tp

)()21( x (4.117)

Page 33: Inverted Index Compression and Query Processing with ...sleepyheads.jp › tmp › PRML4_3_3_suhara_pre.pdf · PRML復習レーン#5 4.3.3- 2010-11-06 Yoshihiko Suhara @sleepy_yoshi

32

4.3.6 正準連結関数

今までの話の一般化

なぜ微分がいつも

「誤差」と「特徴ベクトルの積」

になるのか?

Page 34: Inverted Index Compression and Query Processing with ...sleepyheads.jp › tmp › PRML4_3_3_suhara_pre.pdf · PRML復習レーン#5 4.3.3- 2010-11-06 Yoshihiko Suhara @sleepy_yoshi

33

正準連結関数

• 一般化線形モデル

– f(・)を活性化関数,f-1(・)を連結関数と呼ぶ

• 誤差関数の微分が誤差yn – tnとΦnの積で表現可能

N

n

nnnn ytytpE1

)}1ln()1(ln{)|(ln)( wtw (4.90)

N

n

K

k

nknkKK ytpE1 1

11 ln),...,|(ln),...,( wwTww (4.108)

N

n

nnn tywE1

)()( (4.91)

N

n

nnjnjKw tyEj

1

1 )(),...,( ww (4.109)

ロジスティック回帰

多ロジスティック回帰

Page 35: Inverted Index Compression and Query Processing with ...sleepyheads.jp › tmp › PRML4_3_3_suhara_pre.pdf · PRML復習レーン#5 4.3.3- 2010-11-06 Yoshihiko Suhara @sleepy_yoshi

34

目的変数の条件付き確率分布

• 目的変数の条件付き確率分布

– 目的変数の分布も指数型分布族だと仮定

)(ln]|Ε[

gd

dsty

(4.118)

s

tg

s

th

sstp

exp)(

1),|(

)(y ここでyとηの関係を とする

(4.119)

Page 36: Inverted Index Compression and Query Processing with ...sleepyheads.jp › tmp › PRML4_3_3_suhara_pre.pdf · PRML復習レーン#5 4.3.3- 2010-11-06 Yoshihiko Suhara @sleepy_yoshi

35

目的変数の対数尤度関数

N

n

N

n

nnnn

s

tgstpsp

1 1

const)(ln),|(ln),|(ln

t

s

tg

s

th

sstp

exp)(

1),|(

パラメータに影響されない

(4.121)

N

n

n

n

n

n

nnn

n

ada

dy

dy

d

s

tg

d

dsp

1

)(ln),|(ln

tw

nnnnn

N

n

afyyts

)()(1

1

モデルパラメータwに関する微分は,

対数尤度関数は,

(4.122)

(4.119)より −1

𝑠𝑦𝑛

Page 37: Inverted Index Compression and Query Processing with ...sleepyheads.jp › tmp › PRML4_3_3_suhara_pre.pdf · PRML復習レーン#5 4.3.3- 2010-11-06 Yoshihiko Suhara @sleepy_yoshi

36

一般化線形モデルの誤差関数 • (4.123)で表されるような連結関数f-1(y)を選択すれば,

簡略化できる

• 一般化線形モデルの誤差関数

– ガウス分布の場合s=β-1

– ロジスティックシグモイドの場合s=1

N

n

nnn tys

E1

}{1

)( w

n

T

na w

)()(1 yyf (4.123)

これよりf(ψ(y)) = y,f’(ψ)ψ’(y) = 1

また,a = f-1(y)なので,a=ψであり,f’(a)ψ’(y) = 1

(4.124)

一般化線形モデルにおいて,誤差関数の微分が

誤差とΦの積で表現可能ということを示した

Page 38: Inverted Index Compression and Query Processing with ...sleepyheads.jp › tmp › PRML4_3_3_suhara_pre.pdf · PRML復習レーン#5 4.3.3- 2010-11-06 Yoshihiko Suhara @sleepy_yoshi

37

ポイントのまとめ

• ニュートン・ラフソン法を用いた最適化

– 二乗誤差: 閉じた解が求まる

– クロスエントロピー誤差: 閉じた解が求まらない

• ヘッセ行列にパラメータが含まれているため反復する必要

⇒ 反復再重み付け最小二乗

• 多クラスロジスティック回帰

– 誤差関数が凸関数になり,2クラスの場合と同様にパラメータを求めることができる

• プロビット回帰

– 活性化関数を変えてみよう

• 正準連結関数

– 一般化線形モデルの一般化

– なぜ微分が「誤差」と「特徴ベクトル」の積になるのか

Page 39: Inverted Index Compression and Query Processing with ...sleepyheads.jp › tmp › PRML4_3_3_suhara_pre.pdf · PRML復習レーン#5 4.3.3- 2010-11-06 Yoshihiko Suhara @sleepy_yoshi

38

目次 (再掲)

• 4.4 確率的識別モデル – 固定基底関数 – ロジスティック回帰 – 反復再重み付け最小二乗

• ニュートン・ラフソン法

– 多クラスロジスティック回帰 – プロビット回帰 – 正準連結関数

• おまけ

– バッチ学習と逐次学習 – 凸+凸=凸

Page 40: Inverted Index Compression and Query Processing with ...sleepyheads.jp › tmp › PRML4_3_3_suhara_pre.pdf · PRML復習レーン#5 4.3.3- 2010-11-06 Yoshihiko Suhara @sleepy_yoshi

39

おしまい