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.

PRML4.3.3

3,891 views

Published on

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

Published in: Technology
  • Be the first to comment

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 おしまい

×