PRML4.3.3

3,387 views
3,259 views

Published on

2010/11/06 PRML復習レーン#5の発表資料

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,387
On SlideShare
0
From Embeds
0
Number of Embeds
338
Actions
Shares
0
Downloads
74
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

PRML4.3.3

  1. 1. PRML復習レーン#5 4.3.3- 2010-11-06 Yoshihiko Suhara @sleepy_yoshi
  2. 2. 1 目次 • 4.4 確率的識別モデル – 固定基底関数 – ロジスティック回帰 – 反復再重み付け最小二乗 • ニュートン・ラフソン法 – 多クラスロジスティック回帰 – プロビット回帰 – 正準連結関数
  3. 3. 2 4.3.3 反復再重み付け最小二乗
  4. 4. 3 誤差関数の最小化 • ロジスティック回帰の誤差関数は,最尤解を解 析的に導出することができない – cf. 最小二乗法 = 正規方程式 • ニュートン・ラフソン法によるE(w)の最小化 )(1)old()new( wHww E  (4.92) Hはwに関するE(w)の2階微分を要素とするヘッセ行列
  5. 5. 補足: ニュートン・ラフソン法 • ニュートン法とも呼ばれる • 非線形関数の二次近似による解析手法 – 元々はf(x) = 0を求める最適化手法 4 𝑓′ 𝑥 = 0を考える 𝑓′(𝑥)の𝑥 = 𝑥0でのテーラー展開をすると 𝑓′ 𝑥 = 𝑓′ 𝑥0 + 𝑓′′ 𝑥0 𝑥 − 𝑥0 𝑥 = 𝑥0 − 𝑓′(𝑥0) 𝑓′′(𝑥0) 𝑓′ 𝑥0 + 𝑓′′ 𝑥0 𝑥 − 𝑥0 = 0より
  6. 6. 補足: 1次近似? 2次近似? • 最急降下法 vs. ニュートン・ラフソン法 – 1次近似 vs. 2次近似 • 凸関数でない場合,ニュートン・ラフソン法 (2 次近似) は局所最適解に捕まる • 以上をホワイトボードで説明 5
  7. 7. 6 二乗和誤差関数への適用 • 二乗誤差関数(3.12)を誤差関数とする線形回帰 モデル(3.3)にニュートン・ラフソン法を適用 – wの更新式は以下で与えられる   N n TT nnn T tE 1 )()( tΦΦwΦww    N n TT nnE 1 )( ΦΦwH  (4.93) (4.94)    tΦΦwΦΦΦww TTT   )old(1)old()new(   tΦΦΦ TT 1  (4.95) 反復せずに1回で正確な値が得られることに注目
  8. 8. 7 ロジスティック回帰への適用 • ロジスティック回帰の交差エントロピー誤差関 数(4.90)にニュートン・ラフソン法を適用   N n T nnn tyE 1 )()()( tyΦw    N n TT nnnn yyE 1 )1()( RΦΦwH  )1( nnnn yyR  (4.96) (4.97) (4.98) ヘッセ行列は重み付け行列Rを通じてwに依存 ⇒ 繰り返し計算する必要
  9. 9. 8 ロジスティック回帰モデルにおける ニュートン・ラフソン法の更新式 • wの更新は以下のとおり )()( 1)old()new( tyΦRΦΦww   TT )(1)old( tyRΦwz   (4.99) (4.100)  )()( )old(1 tyΦRΦΦRΦΦ   TTT w RzΦRΦΦ TT 1 )(   ここで このため,反復再重み付け最小二乗法 (IRLS) とも呼ばれる 重み付けベクトルwが新たに計算されるたびに, 重み付け行列Rを計算しなおして正規方程式を解く必要性
  10. 10. 演習4.15 9 • 交差エントロピー誤差関数はwの凸関数であり, 唯一の最適解をもつ • 証明の順序 – (1) Rが正定値行列であることを証明 – (2) 上を利用し,Hが正定値行列であることを証明 ホワイトボードで説明
  11. 11. 補足: 正定値行列のうれしさ • 正定値行列とは? – 実対称行列 – 全ての固有値が正 – 任意のベクトル𝒖に対して𝒖 𝑇 𝑯𝒖 > 0 • 誤差関数が凸関数 ⇔ ヘッセ行列が正定値 • 直感的説明 – あらゆる組み合わせの2階微分が正 10
  12. 12. 11 4.3.4 多クラスロジスティック回帰
  13. 13. 12 多クラスロジスティック回帰 最尤法を用いて直接パラメータ{wk}を決定する • 多クラスの分布に対して事後確率は, • 全ての活性化関数ajに関するykの微分は,   j j k kk a a yCp )exp( )exp( )()|(  T kka w )( jkjk j k yIy a y    ここで活性化関数は, (4.104) (4.105) (4.106)
  14. 14. 13 演習4.17 • j=k のときと,j ≠ k の2通りについて計算 – ホワイトボードで計算 )( jkjk j k yIy a y   
  15. 15. 14 尤度関数 • 尤度関数は以下のとおり – Ckに属する特徴ベクトルΦnに対する目的変数ベクト ルtnがk番目の要素が1で,他の要素が0 )( nknk yy        N n K k N n K k t nk t nkK nknk yCpp 1 1 1 1 1 )|(),...,|( wwT ここで Tはtnkを要素tnkとする目的変数のN x K行列 (4.107)
  16. 16. 15 交差エントロピー誤差関数 • 尤度関数(4.107)の負の対数を取る • 勾配は,ソフトマックス関数の微分(4.106)を 用いて以下のとおりになる (演習4.18)    N n K k nknkKK ytpE 1 1 11 ln),...,|(ln),...,( wwTww (4.108)   N n nnjnjKw tyEj 1 1 )(),...,( ww (4.109)
  17. 17. 演習14.18 • ホワイトボードで説明 16
  18. 18. 17 演習4.18 (きれいに書くと) j nj N n nj nk K k nknk nkj K a a y yt y E ww ww           1 1 1 )ln( ),...,(       N n K k nnjkjnk nk nk yIy y t 1 1 )(              N n K k K k njnkkjnkn ytIt 1 1 1      N n N n nnjnjnjnjn tyyt 1 1 )()( 
  19. 19. 18 多クラスのヘッセ行列 • MxMサイズのヘッセ行列のj,k成分は以下になる • 2階微分が求まったので,IRLSによって最適化 可能 • なお,多クラスに対するヘッセ行列も正定値行 列であり,誤差関数は唯一の最小解を持つ (演 習4.20; パス)   N n T nnnjkjnkK yIyEjk 1 1 )(),...,( wwww (4.110)
  20. 20. 小休止: バッチ学習と逐次学習 • バッチ学習 – データ点すべてに対する誤差関数𝐸を考える – 非線形最適化問題として解く • 1次近似: 最急降下法 • 2次近似: ニュートン・ラフソン法 • 逐次学習 (オンライン学習) – 各データ点に対する誤差関数𝐸 𝑛を考える • ただし,𝐸 = 𝐸 𝑛𝑛 – 確率的勾配降下法 (3.22) で最適化 • 学習率𝜂を適切に設定する必要あり • 収束しなかったら試行を繰り返す 19
  21. 21. バッチ学習と逐次学習の違い • 違い – 誤差関数の形 – パラメータ更新の方向 • 逐次学習では,なぜ学習率を適切に設定する必 要があるのか? 20
  22. 22. 21 誤差関数が凸関数の場合,誤差関数最 適化という観点ではバッチ学習の方が 同等かそれ以上の結果が得られる 凸関数 + 凸関数 = 凸関数 はおk? 誤差関数が凸じゃないなら逐次学習の 方がうまい局所最適に落ちることもあ るかもね.それはあくまで問題依存
  23. 23. 凸 + 凸 = ? 22 -4 -2 0 2 4 0510152025 x y -4 -2 0 2 4 0510152025
  24. 24. 凸! 23-4 -2 0 2 4 0510152025 x y -4 -2 0 2 4 0510152025 -4 -2 0 2 4 0510152025 -4 -2 0 2 4 0510152025
  25. 25. 証明: 凸 + 凸 = 凸 • 凸関数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)
  26. 26. 25 誤差関数が凸関数の場合,誤差関数最 適化という観点ではバッチ学習の方が 同等かそれ以上の結果が得られる 凸関数 + 凸関数 = 凸関数 はおk? 誤差関数が凸じゃないなら逐次学習の 方がうまい局所最適に落ちることもあ るかもね.それはあくまで問題依存
  27. 27. 26 4.3.5 プロビット回帰
  28. 28. プロビット回帰 • 目的: 活性化関数の出力𝑎 𝑛に閾値を設定したい • 𝜃の値が確率密度𝑝(𝜃)から得られる場合,活性化 関数は以下で得られる 27 𝑡 𝑛 = 1 𝑤𝑕𝑒𝑛 𝑎 𝑛 ≥ 𝜃 𝑡 𝑛 = 0 𝑜𝑡𝑕𝑒𝑟𝑤𝑖𝑠𝑒 𝑓 𝑎 = 𝑝 𝜃 𝑑𝜃 𝑎 −∞ (4.112) (4.113)
  29. 29. 28 erf関数 • erf関数 (誤差関数とも呼ばれる.注意) • プロビット関数はerf関数で表現可能   a da 0 2 )2/exp( 2 )erf(          )erf( 2 1 1 2 1 )( aa (4.115) (4.116) (4.115)は,要するにプロビット関数の累積分布関数 ⇒ 累積分布関数を活性化関数の出力として用いる
  30. 30. 図解 • 図4.13 29 𝑝(𝜃) 𝑓(𝑎)
  31. 31. プロビット関数 • 𝜃 の分布を平均0,分散1のガウス分布とすると, 対応する累積分布関数は以下のとおり – プロビット関数 30    a dNa  )1,0|()( (4.114)
  32. 32. プロビット回帰まとめ • プロビット回帰 (probit regression) – プロビット関数を活性化関数とする一般化線形モデル – ロジスティック回帰と似ている – ロジスティック回帰に比べ,外れ値に敏感 – 活性化関数に標準ガウス分布の累積分布関数を使用 • パラメータの学習 – ロジスティック回帰と同じ方法でできる • 𝑦𝑛の計算方法が変わるだけ
  33. 33. 32 拡張 • いずれもデータは正しくラベル付けされていると仮定 ⇒ 目的変数値tが間違った値に反転する確率εを用いて, 誤ったラベル付けの影響を組み込むことが可能 ))(1()()1()|( xxx  tp )()21( x  (4.117)
  34. 34. 33 4.3.6 正準連結関数 今までの話の一般化 なぜ微分がいつも 「誤差」と「特徴ベクトルの積」 になるのか?
  35. 35. 34 正準連結関数 • 一般化線形モデル – f(・)を活性化関数,f-1(・)を連結関数と呼ぶ • 誤差関数の微分が誤差yn – tnとΦnの積で表現可能   N n nnnn ytytpE 1 )}1ln()1(ln{)|(ln)( wtw (4.90)    N n K k nknkKK ytpE 1 1 11 ln),...,|(ln),...,( wwTww (4.108)   N n nnn tywE 1 )()(  (4.91)   N n nnjnjKw tyEj 1 1 )(),...,( ww (4.109) ロジスティック回帰 多ロジスティック回帰
  36. 36. 35 目的変数の条件付き確率分布 • 目的変数の条件付き確率分布 – 目的変数の分布も指数型分布族だと仮定 )(ln]|Ε[    g d d sty  (4.118)              s t g s t h s stp   exp)( 1 ),|( )(y ここでyとηの関係を とする (4.119)
  37. 37. 36 目的変数の対数尤度関数            N n N n nn nn s t gstpsp 1 1 const)(ln),|(ln),|(ln  t              s t g s t h s stp   exp)( 1 ),|( パラメータに影響されない (4.121)          N n n n n n nn n n a da dy dy d s t g d d sp 1 )(ln),|(ln    tw   nnnnn N n afyyt s  )()( 1 1   モデルパラメータwに関する微分は, 対数尤度関数は, (4.122) (4.119)より − 1 𝑠 𝑦𝑛
  38. 38. 37 一般化線形モデルの誤差関数 • (4.123)で表されるような連結関数f-1(y)を選択すれば, 簡略化できる • 一般化線形モデルの誤差関数 – ガウス分布の場合s=β-1 – ロジスティックシグモイドの場合s=1   N n nnn ty s E 1 }{ 1 )( w n T na w )()(1 yyf  (4.123) これよりf(ψ(y)) = y,yで微分するとf’(ψ)ψ’(y) = 1 また,a = f-1(y)なので,a=ψであり,f’(a)ψ’(y) = 1 (4.124) 一般化線形モデルにおいて,誤差関数の微分が 誤差とΦの積で表現可能ということを示した
  39. 39. 38 ポイントのまとめ • ニュートン・ラフソン法を用いた最適化 – 二乗誤差: 閉じた解が求まる – クロスエントロピー誤差: 閉じた解が求まらない • ヘッセ行列にパラメータが含まれているため反復する必要 ⇒ 反復再重み付け最小二乗 • 多クラスロジスティック回帰 – 誤差関数が凸関数になり,2クラスの場合と同様にパラメータを 求めることができる • プロビット回帰 – 活性化関数を変えてみよう • 正準連結関数 – 一般化線形モデルの一般化 – なぜ微分が「誤差」と「特徴ベクトル」の積になるのか
  40. 40. 39 目次 (再掲) • 4.4 確率的識別モデル – 固定基底関数 – ロジスティック回帰 – 反復再重み付け最小二乗 • ニュートン・ラフソン法 – 多クラスロジスティック回帰 – プロビット回帰 – 正準連結関数 • おまけ – バッチ学習と逐次学習 – 凸+凸=凸
  41. 41. 40 おしまい

×