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.

PRML chapter7

6,115 views

Published on

PRML(Pattern Recognition and Machine Learning) chapter 7

Published in: Technology
  • Be the first to comment

PRML chapter7

  1. 1. PRML 第 7 章 7.1~7.1.1 (下巻 pp35-47) 発表者:堀川 隆弘 Twitter: @thorikawa Hatena id: thorikawa
  2. 2. 第 7 章アウトライン 最大マージン分類器  特徴空間において線形分離可能な場合の非線形 SVM 本説明 重なりのあるクラス分布 の範囲  特徴空間において線形分離丌可能な場合の非線形 SVM 多クラス SVM・回帰のための SVM  本来 2 クラス分類を目的とした SVM を多クラス分類や回帰に応用す る方法 関連ベクトルマシン(RVM)  事後確率分布を求めることが可能  SVM よりもさらに疎なモデルが得られる
  3. 3. 疎な解を持つカーネルマシン 第 6 章で触れたガウス過程などのモデルには、訓練データの 全ての対についてカーネル関数を計算しなければいけないと いう問題があった。 学習および予測時に、非常に計算時間がかかる可能性があ る。(特に逆行列の計算に時間がかかる) そこで、訓練データ点の一部だけに対してカーネル関数を計 算することで予測可能なアルゴリズムを考える。
  4. 4. SVM:Support Vector Machine 訓練データを、超平面を分離境界として分類する。 正例データと負例データのうち、両者の境界にあるもの ≡ Support Vector だけを予測に使う。 Support Vector との距離(Margin)を最大化する分類平面 を選ぶ。
  5. 5. 線形 SVM と非線形 SVM  PRML では非線形 SVM についてのみ言及している 非線形 SVM では特徴空間上での線形分離を考える。  入力空間においては分離境界が非線形であっても、より高次元の特 徴空間上では線形であり得る。
  6. 6. SVM の動機付け なぜ Support Vector に対してのみ Margin を最大化するとよ いのか? 演習 7.1 と p36 の最終パラグラフ 共通のパラメータσ2 をもつガウスカーネルを用いて、Parzen 推定法を適用して、各クラスごとの入力ベクトル x の分布を 推定する。 1 1 p xt = k x, xn δ t, t n Nt zk n ベイズの定理より、 p tx ∝p xt p t
  7. 7. 今、事前確率p t は無情報とすると、誤分類をなくす、すなわち事後確率 p t x が大きい t に振り分けるためには、p x t が大きい t を選べばよい。 その分類境界は p x t = 1 = p x t = −1 で不えられる。よって 1 1 1 1 k x, xn = k x, xn Nt=1 zk Nt=−1 zk n t n =1 n t n =−1 カーネル関数として Gaussian Kernel を選ぶと、 1 1 −wn 2 1 1 −wn 2 exp 2 = exp Nt=1 zk 2σ Nt=−1 zk 2σ2 n t n =1 n t n =−1 wn > wm としてσ2 → 0のケースを考えると、
  8. 8. −wn 2 exp wm 2 − wn 2 2σ2 = exp →0 −wm 2 2σ 2 exp 2σ2 よってwn が最小になる訓練データ(Support Vector)以外の点で、カーネ ル関数の値は無視できるから、分類境界はマージンを最大化する点で不 えられる。
  9. 9. マージン最大化の定式化 y x = w T φ x + ������ とモデル化される 2 値分類問題を考える。 (まずは特徴空間上で完全な線形分離が可能と仮定する) このとき分離平面は、 y x =0 で、点xn と分離平面との距離は、 y xn t n y xn t n w ������ ������ x + ������ = = w w w で不えられる。(仮定より訓練データ集合は線形分離可能で、正しく線形分離 する解に対し、t n y xn > 0 であることを用いた。) つまり、マージンを最大化する解は次の最適化問題を解くことで得られる。
  10. 10. 1 arg max min t n w ������ ������ x + ������ (7.3) w,b w n w と b を同じ値だけ定数倍しても、目的関数の値は変化しないので、適当に定 数倍して、 min t n w ������ ������ x + ������ =1 n とできる。このとき、マージン最適化の問題は以下の二次計画法に帰着する。 1 arg min w 2 (7.6) w,b 2 subject to t n w ������ ������ x + ������ ≥ 1, n = 1, … , N (7.5)
  11. 11. この最適化問題を解くためにラグランジュ乗数を導入すると、 N 1 2 L w, b, a = w − an t n w ������ ������ x + ������ − 1 (7.7) 2 n=1 W と b について微分すると、以下の条件が出る。 N w= an t n ������ x (7.8) n=1 N 0= an t n (7.9) n=1
  12. 12. W と b を消去できて、以下の双対表現(dual representation)が得られる。 双対表現(dual representation) N N N 1 L a = an − an am t n t m k xn , xm (7.10) 2 n=1 n=1 m=1 subject to an ≥ 0, n = 1, … , N (7.11) N an t n = 0 (7.12) n=1 Where k xn , xm = φ xn Tφ xm 基底関数の数を M とし、特徴空間の次元を N とすると、 もともとの問題(7.6)は M 変数、双対問題(7.10)は N 変数であった。
  13. 13. 特徴空間の次元がデータ点の数を上回るような場合(たとえばガウスカーネル のような無限次元の場合)にも、最大マージン分類器を適用できるようになる。 なお、k xn , xm が半正定値より、双対問題は凸最適化問題になる。 凸最適化 f x1 , … , xn → max subject to g1 x1 , … , xn ≤ 0 h1 x1 , … , xn = 0 … … g n x1 , … , xn ≤ 0 hn x1 , … , xn = 0 f が上に凸の関数で、制約条件が定義する領域が凸であるとき、こ の問題を凸最適化問題と呼ぶ。 凸最適化問題においては、局所最適解=大域最適解になる。
  14. 14. この双対問題の解き方については後述。 双対問題を解き、an が求まったとして、分類規則は次のようになる。 N y x = an t k k(x, xn ) + b (7.13) n=1 1 b= tn − am t m k(xn , xm ) (7.18) NS n∈S m∈S
  15. 15. なお、この問題における KKT 条件は以下のようになる。 KKT 条件(Karush-Kuhn-Tucker condition) an ≥ 0, n = 1, … , N (7.14) t n y xn − 1 ≥ 0 (7.15) an t n y xn − 1 = 0 (7.16) よって、全ての訓練データに対し、an = 0またはt n y xn − 1 = 0が成立する。 (7.13)より、an = 0の点は新しいデータ点の予測に寄不しない。 それ以外のan ≠ 0となる点を support vector と呼び、マージンの縁に存在す る。
  16. 16. 7.1.1 重なりのあるクラス分布 今まで線形分離可能な場合を考えてきたが、丌可能な場合 を考える。 スラック変数ξn ≥ 0を導入する  正しく識別され、かつマージン境界の上または内側では ξn = 0  それ以外の場合 ξn = t n − y xn このとき、  分類境界y x = 0上にあるデータで はξn = 1  誤分類されたデータではξn > 1が成 り立つ
  17. 17. これらをまとめて誤分類を許容するために、制約条件(7.5)を以下のように 変更する。 t n y x������ ≥ 1 − ξn , n = 1, … , N (7.20) where ξn ≥ 0, n = 1, … , N また、誤分類に対し、ソフトにペナルティを不えるために目的関数(7.6)は以 下のように変更する。 N 1 2 C ξn + w (7.21) 2 n=1 C はスラック変数によるペナルティとマージンの大きさの間のトレードオフを制 御するパラメータ。C→∞においては、ξn によるペナルティが∞となり、誤分 類を許容しないハードマージン SVM の最適化問題と等しくなる。
  18. 18. この最適化問題をとくためのラグランジュ関数は、 L w, b, ξ, a, μ N N N 1 2 ������ (7.22) = w +C ξn − an t n w ������ x + ������ − 1 + ξn − μn ξ n 2 n=1 n=1 n=1 対応する KKT 条件は以下 KKT 条件 an ≥ 0, n = 1, … , N (7.23) t n y xn − 1 + ξn ≥ 0 (7.24) an t n y xn − 1 + ξn = 0 (7.25) μn ≥ 0 (7.26) ξn ≥ 0 (7.27) μn ξn = 0 (7.28) (7.22)を w,b, ξn で微分したものを 0 でおいて、以下の結果を得る。
  19. 19. N ∂L =0 ⇒ w= an t n ������ x (7.29) ∂w n=1 N ∂L =0 ⇒ an t n = 0 (7.30) ∂b n=1 ∂L = 0 ⇒ a n = C − μn (7.31) ∂ξn これをもともとのラグランジュ関数に代入すると、以下の双対表現が得られる。 双対表現(dual representation) N N N 1 L a = an − an am t n t m k xn , xm (7.32) 2 n=1 n=1 m=1 subject to
  20. 20. 0 ≤ an ≤ C, n = 1, … , N (7.33) N an t n = 0 (7.34) n=1 ただし、制約条件(7.33)は(7.31) an = C − μn と(7.26)μn ≥ 0を用いた。 これらの式は、制約条件(7.33)以外は、ハードマージン SVM の双対表現と同 一である。
  21. 21. 二次計画法の解法 一般に M 個の変数を持つ二次計画問題を解くにはΟ M 3 の 時間がかかることが知られている。 効率的に解くアルゴリズムが必要。  Chunking (Vapnik, 1982)  最終的にゼロにならないラグランジュ乗数だけを残す。  カーネル行列の大きさを、全データ数の2乗から、非ゼロのラグラン ジュ乗数の数の2乗程度まで減らすことが可能。  保護共役勾配法(protected conjugate gradient method)を用い て実装可能(Burges, 1998)
  22. 22.  分解法(decomposition method) (Osuna et al., 1996)  サイズの小さな二次計画問題を繰り返し解くことで、最終的な解を 得る。  実際には、2つのラグランジュ乗数を含む部分問題を繰り返し解く SMO(sequential minimal optimization)(Platt, 1999)が広く使 われている。
  23. 23. SMO(sequential minimal optimization) 全ての an ではなく、2個のai だけを選び、逐次更新する。 アルゴリズム概略 ※大幅に過程を省略しているため、詳細を知りたい方は元論文または参考 文献 1 を参照。 動かす対象をa1 , a2 の2点とする。 このとき、制約式(7.34)より以下が成立する。 a1 t1 + anew t 2 = a1 t1 + aold t 2 new 2 old 2 これと制約式(7.33) 0 ≤ an ≤ Cから以下の新たな制約式が導きだせる。 t1 = t 2 の場合 U ≤ anew ≤ V 2 where U = max 0, a1 + aold − C , V = min old 2 C, a1 + aold old 2
  24. 24. t1 ≠ t 2 の場合 U ≤ anew ≤ V 2 where U = max 0, C − a1 + aold , V = min old 2 C, aold − a1 2 old また、目的関数(7.32)はa1 , a2 に関連する部分だけに注目して、以下のよう に整理できる。 1 1 W a1 , a2 = a1 + a2 − K11 a1 − K 22 a2 2 − t1 t 2 K12 a1 a2 − t1 ν1 a1 − t 2 ν2 a2 + const. 2 2 2 where K ij = k xi , xj N νi = t j aj k xi , xj j=3 目的関数をa2 で微分して=0 とおくことで、更新式が求まる。
  25. 25. t 2 f x1 − t1 − f x2 − t 2 = anew +2 aold 2 K11 + K 22 − 2K12 この更新式に対して、前述の制約式を適用したものをanew の更新値とする。 2 (a1 はa1 t1 + anew t 2 = a1 t1 + aold t 2 から求まる。) new new 2 old 2 なお、各部分問題で動かす 2 点の選び方には、いくつかのヒューリスティック が存在する。
  26. 26. 非線形 SVM のメリット・デメリット メリット  凸二次計画問題に定式化できるので、局所解が大域解になる。(特 にニューラルネットワークでは、局所解に収束し、大域解が求められな い問題に陥りやすかった)  特徴空間が高次元な場合に計算が容易になる。  サポートベクトルの位置だけで分類境界が決まるので、過学習にお委 入りにくい。 デメリット  多クラス分類や事後確率を求めるのには向いていない  二次計画問題の計算量が多い
  27. 27. SVM のその他の話題 カーネル関数の選び方  実験で決めるしかない?  マルチカーネル学習(Multiple Kernel Learning, MKL)という手法も ある。  複数のサブカーネルを線形結合する統合カーネルを作成し、サブカー ネルの重みパラメータ j を学習する。 並列処理  そのままだと全訓練データを必要とするので、並列処理が難しい  PSVM(Parallelizing Support Vector Machine)という手法がある。
  28. 28. 参考文献 1. 中川 裕志:「数理手法(統計的機械学習入門)」講義スライド http://www.r.dl.itc.u-tokyo.ac.jp/~nakagawa/SML1/kernel1. pdf 2. 前田 英作:痛快!サポートベクトルマシン http://ci.nii.ac.jp/naid/110002764121/ 3. 金谷 健一:これならわかる最適化数学,共立出版
  29. 29. END

×