Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

はじめてのパターン認識 第6章 後半

5,194 views

Published on

第6章「線形識別関数」(後半)

Published in: Education
  • Be the first to comment

はじめてのパターン認識 第6章 後半

  1. 1. 「はじめてのパターン認識」読書会 第6章 後半 2013/10/1(火)  @Prunus1350 1
  2. 2. 6.3.2 判別分析法 2
  3. 3. 6.3.2 判別分析法 • 前節で扱ったフィッシャーの基準 • • クラス間変動を用いる 線形変換のバイアス項を明示的に扱うことができない バイアス項を明示的に扱うことができるような定式化を考える. 3
  4. 4. 6.3.2 判別分析法 • y 線形変換後の  の平均値と分散は次のように定義される. mk = w T µ k + w 0 2 k = w T ⌃k w ただし, 1 X µk = xi Nk i2Ck 1 X ⌃k = (xi Nk µk )(xi µk )T i2Ck である. 4
  5. 5. 6.3.2 判別分析法 線形変換後の分散が定義のように与えられることの確認 1 X (yi mk )2 ←線形変換後の分散 Nk i2Ck 1 X = (yi mk )(yi mk )T (スカラの転置はスカラ) Nk i2Ck 1 X T = (w xi wT µk )(wT xi wT µk )T Nk i2Ck 1 X T = (w (xi µk ))(wT (xi µk ))T Nk i2Ck 1 X T = w (xi µk )(xi µk )T w Nk i2Ck = wT 1 X (xi Nk µk )(xi i2Ck µk )T ! w = w T ⌃k w よって, 線形変換後の分散は 2 k = w T ⌃k w としてよいことが確認された. 5
  6. 6. 6.3.2 判別分析法(の準備としての一般形) クラス分離度の評価関数を考える h(m1 , 2 1 , m2 , 2 2) w0 w この評価関数を最大にする  と  求める 2 2 @h @h @ 1 @h @ 2 @h @m1 @h @m2 = 2 @w + @ 2 @w + @m @w + @m @w = 0 @w @ 1 1 2 2 (6.31) 2 2 @h @h @ 1 @h @ 2 @h @m1 @h @m2 = 2 @w + @ 2 @w + @m @w + @m @w = 0 @w0 @ 1 0 0 1 0 2 0 2 (6.32) を解けばよい 6
  7. 7. 6.3.2 判別分析法(の準備としての一般形) まずは準備として, 2 @ k @(wT ⌃k w) = @w @w = (⌃k + ⌃T )w k = 2⌃k w ( 付録の公式) ( 共分散行列は対称行列) 2 @ k =0 @w0 @mk @(wT µk + w0 ) = @w @w @(µT w + w0 ) k = @w = µk ( スカラーの転置はスカラー) ( 付録の公式) @mk @(wT µk + w0 ) = @w0 @w0 =1 7
  8. 8. 6.3.2 判別分析法(の準備としての一般形) 2 2 @h @h @ 1 @h @ 2 @h @m1 @h @m2 = 2 @w + @ 2 @w + @m @w + @m @w @w @ 1 1 2 2 (6.31) に代入すると, @h @h @h @h = 2 · 2⌃1 w + @ 2 · 2⌃2 w + @m µ1 + @m µ2 @ 1 1 2 2 =2 )2 ✓ ✓ ◆ @h @h 2 ⌃1 + @ 2 ⌃2 w + @ 1 2 ◆ @h @h 2 ⌃1 + @ 2 ⌃2 w = @ 1 2 ✓ ✓ @h @h µ1 + µ2 @m1 @m2 @h @h µ1 + µ2 @m1 @m2 ◆ ◆ =0 (6.33) が得られ, 8
  9. 9. 6.3.2 判別分析法(の準備としての一般形) また, 2 2 @h @h @ 1 @h @ 2 @h @m1 @h @m2 = 2 @w + @ 2 @w + @m @w + @m @w @w0 @ 1 0 0 1 0 2 0 2 (6.32) に代入すると, @h @h @h @h = 2 · 0 + @ 2 · 0 + @m · 1 + @m · 1 @ 1 1 2 2 @h @h = + =0 @m1 @m2 (6.34) が得られる. 9
  10. 10. 6.3.2 判別分析法(の準備としての一般形) ここで, s= @h 2 @ 1 @h 2 @ 1 + @h 2 =s @ 1 ✓ (6.35) と定義すると, @h 2 @ 2 @h @h 2 + @ 2 @ 1 2 ◆ が得られ, また, 1 s= ⇣ @h 2 = (1 @ 2 @h 2 @ 1 + @h 2 @ 2 @h 2 @ 1 s) ✓ + ⌘ @h 2 @ 1 @h 2 @ 2 @h @h 2 + @ 2 @ 1 2 = ◆ @h 2 @ 2 @h 2 @ 1 + @h 2 @ 2 より が得られる. 10
  11. 11. 6.3.2 判別分析法(の準備としての一般形) ✓ ◆ @h @h =2 2 ⌃1 + @ 2 ⌃2 w @ 1 2 ⇢ ✓ ◆ ✓ ◆ @h @h @h @h =2 s ⌃1 + (1 s) ⌃2 w 2 + @ 2 2 + @ 2 @ 1 @ 1 2 2 ✓ ◆ @h @h =2 {s⌃1 + (1 s)⌃2 } w 2 + @ 2 @ 1 2 (6.33 の左辺) (6.33 の右辺) = = ✓ ✓ @h @h µ1 + µ2 @m1 @m2 @h µ1 @m1 @h = (µ2 @m1 )2 ✓ @h @h 2 + @ 2 @ 1 2 ◆ {s⌃1 + (1 @h µ2 @m1 ◆ ◆ µ1 ) @h s)⌃2 } w = (µ2 @m1 µ1 ) (6.36) が得られた. 11
  12. 12. 6.3.2 判別分析法(の準備としての一般形) 2 ✓ @h @h 2 + @ 2 @ 1 2 ◆ {s⌃1 + (1 @h s)⌃2 } w = (µ2 @m1 µ1 ) (6.36) 再掲 今, ベクトルの向きが問題なのでスカラー項は無視して良い. w よって, 最適な  は次式となる. w = (s⌃1 + (1 s)⌃2 ) 1 (µ2 µ1 ) (6.37) 12
  13. 13. 6.3.2 判別分析法 判別分析法 クラス間分散 h= クラス内分散 1 m = (N1 m1 + N2 m2 ) ¯ N P (C1 )(m1 m)2 + P (C2 )(m2 ¯ = 2 2 P (C1 ) 1 + P (C2 ) 2 m)2 ¯ 全データの平均 N1 N2 = m1 + m2 N N N1 T N2 T = (w µ1 + w0 ) + (w µ2 + w0 ) N N N1 T N1 N2 T N2 = w µ1 + w0 + w µ2 + w0 N N N N ✓ ◆ ✓ ◆ N1 N1 N2 N2 T =w µ1 + µ2 + + w0 N N N N ! N1 1 X N2 1 X xi + xi + w0 = wT N N1 N N2 i2C1 i2C2 ! N 1 X 写像前の全データの平均ベクトルを = wT xi + w0 N i=1 写像したものであることが分かる. 13
  14. 14. 6.3.2 判別分析法 P (C1 )(m1 m)2 + P (C2 )(m2 ¯ h= 2 2 P (C1 ) 1 + P (C2 ) 2 @ @ 2 k @ @ 2 k P (C1 )(m1 P (C1 ) @h 2 = @ k 2 1 m)2 ¯ 2 (6.38) を  で微分する k m)2 = 0 ¯ + P (C2 ) 2 2 = P (Ck ) m)2 + P (C2 )(m2 ¯ P (Ck ) P (C1 )(m1 (P (C1 ) 2 1 + P (C2 ) 2 )2 2 公式: ✓ m)2 ¯ f (x) g(x) ◆0 f 0 (x)g(x) f (x)g 0 (x) = g 2 (x) 14
  15. 15. 6.3.2 判別分析法 s= @h 2 @ 1 @h 2 @ 1 + @h 2 @ 2 (6.35) に代入 P (C1 ){P (C1 )(m1 m)2 +P (C2 )(m2 m)2 } ¯ ¯ = (P (C1 ) 2 +P (C ) 2 2 2 1 2 P (C1 ){P (C1 )(m1 m)2 +P (C2 )(m2 m)2 } ¯ ¯ 2 2 2 (P (C1 ) 1 +P (C2 ) 2 ) ) P (C2 ){P (C1 )(m1 m)2 +P (C2 )(m2 m)2 } ¯ ¯ 2 2 2 (P (C1 ) 1 +P (C2 ) 2 ) P (C1 ){· · · } = P (C1 ){· · · } + P (C2 ){· · · } P (C1 ){· · · } = (P (C1 ) + P (C2 )) {· · · } = P (C1 ) が得られた 15
  16. 16. 6.3.2 判別分析法 w = (s⌃1 + (1 s)⌃2 ) 1 (µ2 w = (P (C1 )⌃1 + P (C2 )⌃2 ) (6.37) に代入すると µ1 ) 1 (µ2 P (C1 )(m1 m)2 + P (C2 )(m2 ¯ h= 2 2 P (C1 ) 1 + P (C2 ) 2 µ1 ) m)2 ¯ @h 2P (Ck )(mk m) ¯ = 2 2 @mk P (C1 ) 1 + P (C2 ) 2 @h @h + =0 @m1 @m2 (6.40) mk (6.38) を  で微分する (6.41) (6.34) に代入すると 2P (C2 )(mk m) ¯ 2P (C1 )(mk m) ¯ 2 + P (C ) 2 + P (C ) 2 + P (C ) 2 = 0 P (C1 ) 1 2 2 1 1 2 2 P (C1 )(m1 m) + P (C2 )(m2 ¯ m) = 0 ¯ 16
  17. 17. 6.3.2 判別分析法 P (C1 )(m1 m) + P (C2 )(m2 ¯ , P (C1 )m1 + P (C2 )m2 m) = 0 ¯ (P (C1 ) + P (C2 ))m = 0 ¯ , P (C1 )(wT µ1 + w0 ) + P (C2 )(wT µ2 + w0 ) m=0 ¯ , (P (C1 ) + P (C2 ))w0 + P (C1 )wT µ1 + P (C2 )wT µ2 , w0 = wT (P (C1 )µ1 + P (C2 )µ2 ) + m ¯ m=0 ¯ (6.42) w0 このようにして最適なバイアス項  が得られる. 17
  18. 18. 6.3.3 多クラス問題への拡張 18
  19. 19. 6.3.3 多クラス問題への拡張 K(> 2) フィッシャーの基準を, 多クラス    の場合に拡張することを考える. d(> K) 2クラスの場合は識別境界を計算できたが, 多クラスの場合は,     次元の K 1 データをたかだか    次元の特徴空間に写像する線形変換行列を見つける 問題になるので, 識別境界は計算できない. 19
  20. 20. 6.3.3 多クラス問題への拡張 各クラスのデータ数を Sk = X (xi µk )(xi Nk µk )T i2Ck 1 X µk = xi Nk (k = 1, . . . , K) (6.45) とすると, 各クラスのクラス内変動 (6.46) i2Ck SW = K X Sk 全クラスのクラス内変動の和 k=1 N K K 1 X 1 XX 1 X 1 X µ= xi = xi = Nk xi N i=1 N N Nk k=1 i2Ck K 1 X = Nk µ k N k=1 k=1 全データの平均 i2Ck (6.47) 20
  21. 21. 6.3.3 多クラス問題への拡張 全平均からの全データの変動の和 N X ST = (xi µ)(xi µ)T i=1 = K XX (xi K XX {(xi µk ) + (µk µ)}{(xi µk ) + (µk K XX {(xi µk ) + (µk µ)}{(xi µk )T + (µk {(xi µk )(xi µ)T µ)(xi k=1 i2Ck = k=1 i2Ck = k=1 i2Ck = K XX k=1 i2Ck = K XX +(xi (xi k=1 i2Ck + µk )(µk µk )(xi K X µk )T + (µk X k=1 i2Ck µk )T + K XX µ)(xi (µk k=1 i2Ck (xi µk )(µk µ)T + µ)T } µ)T µ)(µk µ)T + (µk µ)}T µk )T } µ)(µk K XX (µk µ)T µ)(xi µk )T k=1 i2Ck 21
  22. 22. 6.3.3 多クラス問題への拡張 ここで, K XX (xi µk )(µk k=1 i2Ck K X X µ)T = ( xi X k=1 i2Ck = K X (Nk µk µ)T µk )(µk i2Ck Nk µk )(µk µ)T = 0 k=1 K XX (µk µ)(xi T µk ) = k=1 i2Ck K X (µk = xi i2Ck k=1 K X µ)( X (µk µ)(Nk µk X µk )T i2Ck Nk µ k ) T = 0 なので, k=1 22
  23. 23. 6.3.3 多クラス問題への拡張 ST = K XX (xi µk )(xi µk )T + k=1 i2Ck = SW + K X K XX (µk µ)(µk µ)T k=1 i2Ck Nk (µk µ)(µk µ)T (6.49) k=1 この最後の項を用いて, クラス間変動 SB = K X Nk (µk µ)(µk µ)T (6.50) を定義する. k=1 23
  24. 24. 6.3.3 多クラス問題への拡張 K 1 d > K であれば,   次元から    次元空間への線形写像 d yk = w T x k (k = 1, . . . , K 1) (6.51) d を考えることになる.  (  :バイアス項を除いたデータの次元) y = (y1 , . . . , yK 1) W = (w1 , . . . , wK T 1) K 1 とすれば,     個の線形変換は, y = WTx (6.52) と書ける. 24
  25. 25. 6.3.3 多クラス問題への拡張 線形変換した後の ・クラス内変動 ˜ SW ・クラス間変動 ˜ SB ・全変動 ˜ ST を求める. 各クラスの平均ベクトルは X 1 X 1 X T T 1 mk = yi = W xi = W xi = W T µk Nk Nk Nk i2Ck i2Ck i2Ck 全平均ベクトルは N K K K 1 X 1 XX 1 X 1 X m= yi = yi = N k mk = Nk W T µ k N i=1 N N N k=1 i2Ck K X T 1 =W Nk µ k = W T µ N k=1 k=1 となるので, k=1 25
  26. 26. 6.3.3 多クラス問題への拡張 線形変換後のクラス内変動 ˜ SW = K XX (y i mk )(y i mk ) T k=1 i2Ck = K XX (W T xi W T µk )(W T xi W T µk )T k=1 i2Ck = K XX k=1 i2Ck = K XX {W T (xi µk )}{W T (xi W T (xi µk )(xi µk )}T µk )T W k=1 i2Ck =W T K X X k=1 i2Ck = W T SW W (xi µk )(xi µk )T ! W (6.53) 26
  27. 27. 6.3.3 多クラス問題への拡張 線形変換後のクラス間変動 ˜ SB = K X Nk (mk m)(mk m)T k=1 = K X Nk (W T µk W T µ)(W T µk W T µ)T k=1 = K X k=1 = K X Nk {W T (µk Nk W T (µk µ)}{W T (µk µ)(µk µ)}T µ)T W k=1 = WT K X k=1 = W T SB W Nk (µk µ)(µk µ)T ! W (6.54) 27
  28. 28. 6.3.3 多クラス問題への拡張 また, 線形変換後の全変動は ˜ ST = N X (y i m)T m)(y i i=1 = K XX (y i m)(y i m)T k=1 i2Ck = K XX {(y i mk ) + (mk m)}{(y i mk ) + (mk K XX {(y i mk ) + (mk m)}{(y i mk )T + (mk K XX {(y i mk )(y i k=1 i2Ck = k=1 i2Ck = m)}T k=1 i2Ck +(y i mk )T + (mk mk )(mk m)(mk m)T + (mk m)(y i m)T } m)T mk ) T } 28
  29. 29. 6.3.3 多クラス問題への拡張 = K XX (y i mk )(y i mk ) T + k=1 i2Ck + K XX K XX (mk m)(mk m)T k=1 i2Ck (y i mk )(mk k=1 i2Ck ˜ ˜ = SW + SB + m)T + K XX (mk m)(y i mk ) T k=1 i2Ck K XX k=1 i2Ck (y i mk )(mk m)T + K XX (mk m)(y i mk ) T k=1 i2Ck 29
  30. 30. 6.3.3 多クラス問題への拡張 ここで K XX (y i mk )(mk k=1 i2Ck K X X m)T = ( yi X m)T mk )(mk k=1 i2Ck i2Ck K X Nk mk )(mk = (Nk mk m)T = 0 k=1 K XX (mk m)(y i mk ) T = k=1 i2Ck K X (mk = yi i2Ck k=1 K X m)( X (mk m)(Nk mk X mk ) T i2Ck Nk mk ) T = 0 k=1 となるので, ˜ ˜ ˜ ST = SW + SB (6.55) となることが確認できる. 30
  31. 31. 6.3.3 多クラス問題への拡張 W 2クラスの場合と同様, 最適な写像行列  を求めるための基準は, ˜ ˜ SW クラス間変動行列  とクラス内変動行列  の比を最大化することである. SB しかし, 行列の比なので何らかのスカラー量に変換しないと, 最大値を求めること ができない. いろいろな変換方法が提案されているが, そのうちの一つは ⇣ ⌘ J(W ) = Tr(S W1 S B ) = Tr (W T S W W ) 1 W T S B W (6.56) を最大化することである. 31
  32. 32. 6.4 ロジスティック回帰 32
  33. 33. 6.4 ロジスティック回帰 • y = wT x 線形識別関数      の関数値の大きさは, 識別境界から離れるに従って 線形に上昇し続ける. • (0, 1) ロジスティック回帰は関数値を区間    に制限し, 確率的な解釈を可能に する. • ロジスティック回帰は「回帰」という言葉が使われているが, パターン認識法 の一つである. 33
  34. 34. 6.4.1 ロジスティック関数 34
  35. 35. 6.4.1 ロジスティック関数 2クラス問題を考える. C1 P (C1 |x) クラス  の事後確率     は P (x|C1 )P (C1 ) P (C1 |x) = P (x) P (x|C1 )P (C1 ) = P (x, C1 ) + P (x, C2 ) P (x|C1 )P (C1 ) = P (x|C1 )P (C1 ) + P (x|C2 )P (C2 ) ここで P (x|C1 )P (C1 ) a = ln P (x|C2 )P (C2 ) (6.58) (6.57) とおくと P (x|C1 )P (C1 ) e = P (x|C2 )P (C2 ) a ,e a P (x|C2 )P (C2 ) = P (x|C1 )P (C1 ) 35
  36. 36. 6.4.1 ロジスティック関数 ,1+e 1 , 1+e a a P (x|C1 )P (C1 ) + P (x|C2 )P (C2 ) = P (x|C1 )P (C1 ) P (x|C1 )P (C1 ) = P (x|C1 )P (C1 ) + P (x|C2 )P (C2 ) = P (C1 |x) よって (a) 1 P (C1 |x) = = (a) 1 + exp( a) (6.59) と表すことができる. をロジスティック関数(ロジスティック・シグモイド関数)と呼ぶ. 36
  37. 37. 6.4.1 ロジスティック関数 ロジスティック関数 ・無限区間 ( 1, 1) を区間 (0, 1) に写像. ・S字型の圧縮関数. 章末問題 6.4 ・対称性: ( a) = 1 (a) 1 * ( a) = 1 + exp(a) exp( a) = exp( a) + 1 exp( a) + 1 1 = exp( a) + 1 =1 =1 1 exp( a) + 1 (a) 37
  38. 38. 6.4.1 ロジスティック関数 ロジスティック関数の逆関数を考える. 1 (a) = 1 + exp( a) , ロジスティック関数 1 = 1 + exp( a) (a) , exp( a) = 1 (a) 1= (a) , exp(a) = 1 (a) ✓ ◆ (a) , a = ln 1 (a) ✓ ◆ P (C1 |x) = ln 1 P (C1 |x) P (C1 |x) = ln P (C2 |x) 1 (a) (a) (* (a) = P (C1 |x)) (* 1 P (C1 |x) = P (C2 |x)) 38
  39. 39. 6.4.1 ロジスティック関数 ロジスティック関数の逆関数 a = ln ✓ P (C1 |x) 1 P (C1 |x) ◆ P (C1 |x) = ln P (C2 |x) (6.60) をロジット関数という. P (C1 |x) P (C2 |x) :オッズ(事後確率の比) P (C1 |x) ln P (C2 |x) :ログオッズ(オッズの対数) 39
  40. 40. 6.4.2 ロジスティック回帰モデル 40
  41. 41. 6.4.2 ロジスティック回帰モデル xi (i = 1, . . . , N ) N人の喫煙量を観測したとき, x 喫煙量  の人が肺がんになる確率を 1 P (1|x) = f (x) = 1 + exp( (w0 + w1 x)) (6.61) で表す. w = (w0 , w1 )T x = (1, x)T 1 として, (バイアス項に対応する  を追加した) a = w T x = w0 + w1 x 1 exp(a) f (x) = = = (a) 1 + exp( a) 1 + exp(a) とすれば, となる. a x   の線形関数である  を非線形関数(ここではロジスティック関数) で変換したモデルで事象を表現している. 41
  42. 42. 6.4.2 ロジスティック回帰モデル このとき,ロジット関数は P (1|x) P (1|x) a = ln = ln = wT x P (0|x) 1 P (1|x) オッズは P (1|x) = exp(wT x) 1 P (1|x) で, となる. 42
  43. 43. 6.4.2 ロジスティック回帰モデル x x   の中の  が1増えた状態 ˜ x のオッズは, ˜ x = (1, (x + 1))T を考える. P (1|˜ ) x ˜ = exp(wT x) 1 P (1|˜ ) x x ˜ x   と  のオッズ比は, ˜ exp(wT x) exp(w0 + w1 (x + 1)) = T x) exp(w exp(w0 + w1 x) exp(w0 + w1 x + w1 ) = exp(w0 + w1 x) exp(w0 + w1 x) exp(w1 ) = exp(w0 + w1 x) = exp(w1 ) (6.65) exp(w1 ) x   が1単位分増えると, オッズ比が     倍になる. 43
  44. 44. 6.4.2 ロジスティック回帰モデル オッズ比について,仮想的な実験を基に考える. 二つの異なった環境(環境1,環境2)で条件(条件A,条件B)を変えて実験を 行った結果が下図のようになったとする. 条件A 成功 (s) 0.9 条件B 比 オッズ比 0.99 P (s|B) 0.99 = = 1.1 P (s|A) 0.9 P (s|B) P (s|A) 0.99 0.9 / = / = 11 P (f |B) P (f |A) 0.01 0.1 0.01 P (f |B) 0.01 = = 0.1 P (f |A) 0.1 P (f |B) P (f |A) 0.01 0.1 1 / = / = P (s|B) P (s|A) 0.99 0.9 11 P (s|B) P (s|A) 0.55 0.5 11 / = / = P (f |B) P (f |A) 0.45 0.5 9 P (f |B) P (f |A) 0.45 0.5 9 / = / = P (s|B) P (s|A) 0.55 0.5 11 環境1 失敗 (f) 0.1 成功 (s) 0.5 0.55 P (s|B) 0.55 = = 1.1 P (s|A) 0.5 失敗 (f) 0.5 0.45 P (f |B) 0.45 = = 0.9 P (f |A) 0.5 環境2 44
  45. 45. 6.4.2 ロジスティック回帰モデル 1.1 環境1と環境2で, 条件を変えたときの成功の増加割合は  で同じである. 条件A 成功 (s) 0.9 条件B 比 オッズ比 0.99 P (s|B) 0.99 = = 1.1 P (s|A) 0.9 P (s|B) P (s|A) 0.99 0.9 / = / = 11 P (f |B) P (f |A) 0.01 0.1 0.01 P (f |B) 0.01 = = 0.1 P (f |A) 0.1 P (f |B) P (f |A) 0.01 0.1 1 / = / = P (s|B) P (s|A) 0.99 0.9 11 P (s|B) P (s|A) 0.55 0.5 11 / = / = P (f |B) P (f |A) 0.45 0.5 9 P (f |B) P (f |A) 0.45 0.5 9 / = / = P (s|B) P (s|A) 0.55 0.5 11 環境1 失敗 (f) 0.1 成功 (s) 0.5 0.55 P (s|B) 0.55 = = 1.1 P (s|A) 0.5 失敗 (f) 0.5 0.45 P (f |B) 0.45 = = 0.9 P (f |A) 0.5 環境2 45
  46. 46. 6.4.2 ロジスティック回帰モデル 環境1では成功の割合がほとんど100%に上昇したのに対し, 環境2では50%から1割上昇したに過ぎない. 条件A 成功 (s) 0.9 条件B 比 オッズ比 0.99 P (s|B) 0.99 = = 1.1 P (s|A) 0.9 P (s|B) P (s|A) 0.99 0.9 / = / = 11 P (f |B) P (f |A) 0.01 0.1 0.01 P (f |B) 0.01 = = 0.1 P (f |A) 0.1 P (f |B) P (f |A) 0.01 0.1 1 / = / = P (s|B) P (s|A) 0.99 0.9 11 P (s|B) P (s|A) 0.55 0.5 11 / = / = P (f |B) P (f |A) 0.45 0.5 9 P (f |B) P (f |A) 0.45 0.5 9 / = / = P (s|B) P (s|A) 0.55 0.5 11 環境1 失敗 (f) 0.1 成功 (s) 0.5 0.55 P (s|B) 0.55 = = 1.1 P (s|A) 0.5 失敗 (f) 0.5 0.45 P (f |B) 0.45 = = 0.9 P (f |A) 0.5 環境2 46
  47. 47. 6.4.2 ロジスティック回帰モデル オッズ比を比べてみると, 成功割合の増加についての質的な違いが現れている. 条件A 成功 (s) 0.9 条件B 比 オッズ比 0.99 P (s|B) 0.99 = = 1.1 P (s|A) 0.9 P (s|B) P (s|A) 0.99 0.9 / = / = 11 P (f |B) P (f |A) 0.01 0.1 0.01 P (f |B) 0.01 = = 0.1 P (f |A) 0.1 P (f |B) P (f |A) 0.01 0.1 1 / = / = P (s|B) P (s|A) 0.99 0.9 11 P (s|B) P (s|A) 0.55 0.5 11 / = / = P (f |B) P (f |A) 0.45 0.5 9 P (f |B) P (f |A) 0.45 0.5 9 / = / = P (s|B) P (s|A) 0.55 0.5 11 環境1 失敗 (f) 0.1 成功 (s) 0.5 0.55 P (s|B) 0.55 = = 1.1 P (s|A) 0.5 失敗 (f) 0.5 0.45 P (f |B) 0.45 = = 0.9 P (f |A) 0.5 環境2 47
  48. 48. 6.4.3 パラメータの最尤推定 48
  49. 49. 6.4.3 パラメータの最尤推定 2クラスロジスティック回帰モデルのパラメータの最尤推定を考える. t 確率変数  :モデルの出力 ・t が 1 となる確率: P (t = 1) = ⇡ ・t が 0 となる確率: P (t = 0) = 1 =1 P (t = 1) ⇡ ↵ t 確率変数  はパラメータ  をもつベルヌーイ試行 f (t|⇡) = ⇡ t (1 ⇡)1 t (t = 0 or 1) f (t = 1|⇡) = ⇡ 1 (1 ⇡)1 1 =⇡ f (t = 0|⇡) = ⇡ 0 (1 ⇡)1 0 =1 に従う. ⇡ 49
  50. 50. 6.4.3 パラメータの最尤推定 これを最大化したい よって, N回の試行に基づく尤度関数は, L(⇡1 , . . . , ⇡N ) = N Y i=1 f (ti |⇡i ) = N Y t ⇡i i (1 ⇡i )(1 ti ) i=1 負の対数尤度関数は, L(⇡1 , . . . , ⇡N ) = = ln L(⇡1 , . . . , ⇡N ) = ⇣ t ln ⇡i i (1 i=1 = ln N X⇣ ⇡i )(1 t ln ⇡i i + ln(1 ti ) ⌘ ⇡i )(1 i=1 = N Y t ⇡i i (1 ⇡i )(1 i=1 N X N X となり, (6.67) (ti ln ⇡i + (1 ti ) ln(1 ti ) ⌘ ⇡i )) ti ) ! これを最小化したい (6.68) となる. i=1 この評価関数は, 交差エントロピー型誤差関数とよばれる. 50
  51. 51. 6.4.3 パラメータの最尤推定 ここで, L(w) = = exp(wT xi ) ⇡i = (wT xi ) = 1 + exp(wT xi ) ✓ ◆ N T X⇢ exp(w xi ) ti ln + (1 Tx ) 1 + exp(w i i=1 N X⇢ ti ln ✓ ti ln ✓ i=1 = N X⇢ i=1 = N X T exp(w xi ) 1 + exp(wT xi ) T exp(w xi ) 1 + exp(wT xi ) ti ln exp(wT xi ) ◆ ◆ + (1 + (1 を代入すると, ✓ T ti ) ln 1 ti ) ln ✓ ti ) ln ✓ exp(w xi ) 1 + exp(wT xi ) T ◆ T 1 + exp(w xi ) exp(w xi ) 1 + exp(wT xi ) 1 1 + exp(wT xi ) ln(1 + exp(wT xi )) + (ti ◆ ◆ 1) ln 1 + exp(wT xi ) i=1 = N X i=1 = {ti ln exp(wT xi ) N X i=1 ti ln(1 + exp(wT xi )) +ti ln(1 + exp(wT xi )) {ti wT xi ln(1 + exp(wT xi ))} ln(1 + exp(wT xi ))} (6.70) 51
  52. 52. 6.4.3 パラメータの最尤推定 w 負の対数尤度関数を最小にするパラメータ  を得るために, w   で微分することを考える. まず, 準備として @(ti wT xi ) @(wT xi ) @(xT w) i = ti = ti = ti xi @w @w @w @(ln(1 + exp(wT xi )) 1 @(1 + exp(wT xi )) = @w 1 + exp(wT xi ) @w 1 @(wT xi ) T = exp(w xi ) Tx ) 1 + exp(w i @w exp(wT xi ) @(xT w) i = 1 + exp(wT xi ) @w exp(wT xi ) = x Tx ) i 1 + exp(w i xi exp(wT xi ) = 1 + exp(wT xi ) ✓ T @(a x) * =a @x ◆ なので, 52
  53. 53. 6.4.3 パラメータの最尤推定 N X✓ @L(w) = @w T xi exp(w xi ) 1 + exp(wT xi ) t i xi i=1 N X = i=1 N X = ✓ T exp(w xi ) 1 + exp(wT xi ) xi ti xi (ti ⇡i ) i=1 = N X xi (⇡i ◆ ti ) ◆ ✓ T exp(w xi ) * ⇡i = 1 + exp(wT xi ) ◆ (6.71) i=1 N X xi (⇡i ti ) = 0 w となる  が解であるが, 解析的に解を求めることができない. i=1 最急降下法やニュートン-ラフソン法などで数値的に解を求めることになる. 53
  54. 54. 6.4.4 多クラス問題への拡張と非線形変換 54
  55. 55. 6.4.4 多クラス問題への拡張と非線形変換 (K > 2) 多クラス     への拡張は, 各クラスごとに線形変換 ak = w T x k (k = 1, . . . , K) を求め, 事後確率を exp(ak ) P (Ck |x) = ⇡k (x) = K X exp(aj ) ソフトマックス関数 j=1 で計算して, 最大事後確率を与えるクラスに分類すればよい. 55
  56. 56. 6.4.4 多クラス問題への拡張と非線形変換 '( ) x 線形関数でうまく分離できない場合, 入力ベクトル  を非線形関数   で '(x) = ('0 = 1, '1 (x), . . . , 'M (x))T (6.74) M +1 のように    次元データに変換すると, うまく分離できるようになる場合がある. M +1 変換された    次元空間でロジスティック回帰を ak = wT '(x) k のように行っても, その空間内での識別境界は超平面になる. このような非線形関数を非線形基底関数という. x この超平面を元の  の空間に逆写像すれば, 一般にその境界は曲面になる. '(x) x このような非線形変換を行う場合でも,   を   に書き換えれば以後の議論は そのまま成り立つ. 56
  57. 57. 6.4.4 多クラス問題への拡張と非線形変換 K クラス数 X = (x1 , . . . , xN )T 学習データ T = (t1 , . . . , tN )T 教師データ xi ti Ck K 各教師データ  は  次元のベクトルで,   が属するクラス(  )の tik 1 0 位置に対応する要素の  のみが  で, ほかはすべて  のダミー変数表 現とする. ti = (0, . . . , 0, 1, 0, . . . , 0)T k番目の要素 57
  58. 58. 6.4.4 多クラス問題への拡張と非線形変換 xi Ck 入力ベクトル  がクラス  に属する確率は, K Y k=1 P (Ck |xi )tik = P (Ck |xi ) これを最大化したい と考えることができるので, 尤度関数は, P (T |w1 , . . . , wK ) = ここで, N K YY i=1 k=1 P (Ck |xi )tik = exp aik ⇡ik = PK l=1 N K YY tik ⇡ik i=1 k=1 aij = wT xi j exp ail となり, 負の対数尤度関数は次のようになる. E(w1 , . . . , wK ) = = ln i=1 k=1 tik ⇡ik = N K XX i=1 k=1 である. これを最小化したい ln P (T |w1 , . . . , wK ) N K YY (6.76) tik ln ⇡ik = N K XX tik ln ⇡ik (6.78) i=1 k=1 58
  59. 59. 6.4.4 多クラス問題への拡張と非線形変換 wj wj 0 各  の最尤推定は, 評価関数を  で微分して  とおけば求められる. N K XX @E = @wj i=1 k=1 1 @⇡ik tik = ⇡ik @wj N K XX i=1 k=1 1 @⇡ik @aij tik ⇡ik @aij @wj ここで, exp aik ⇡ik = PK l=1 exp ail aij = wT xi j なので準備として, @(wT xi ) @aij @(xT wj ) j i = = = xi @wj @wj @wj ⇣ ⌘ ⇣P ⌘ K @ exp aik l=1 exp ail @aij @⇡ik = ⇣P @aij K (exp aik ) ⌘2 l=1 exp ail ⇣ @ @aij PK l=1 exp ail ⌘ (*) 59
  60. 60. 6.4.4 多クラス問題への拡張と非線形変換 k=j のとき, ⇣P ⌘ K (exp aij ) (exp aik ) (exp aij ) l=1 exp ail ⇣P ⌘2 (*) = K l=1 exp ail (P ) K exp aij exp aik l=1 exp ail = PK = ⇡ij (1 PK PK l=1 exp ail l=1 exp ail l=1 exp ail k 6= j (*) = = となり, のとき, 0 (exp aik ) (exp aij ) ⇣P ⌘2 K l=1 exp ail exp aik PK l=1 = ⇡ik ) exp ail exp aij PK ⇡ik ⇡ij = ⇡ij (0 l=1 exp ail ⇡ik ) ここで, クロネッカーのデルタ (*) = ⇡ij ( jk ⇡ik ) jk となるので, ⇢ 1 j=k = 0 j 6= k を使用すると, となる. 60
  61. 61. 6.4.4 多クラス問題への拡張と非線形変換 よって, @E = @wj = N K XX i=1 k=1 N K XX i=1 k=1 = N X 1 tik ⇡ij ( ⇡ik ⇡ij tik ⇡ik tij xi + i=1 = N X = + tij xi + (⇡ij N X N K XX tik ⇡ij xi i=1 k=1 ⇡ij xi i=1 i=1 N X jk xi N X ⇡ik )xi jk K X tik * k=1 ⇡ij xi i=1 tij )xi = 0 K X ⇡ij tik ⇡ik K X tik = 1 k=1 * ! k=1 jk ⇡ij = tij = tij ⇡ij ! (6.79) i=1 (6.79) 式   は解析的に解けないので, 2クラスの場合と同様, ニュートン-ラフソン法などを用いて解くことになる. 61
  62. 62. ご清聴ありがとうございました 62

×