PRML 第 7 章
7.1~7.1.1 (下巻 pp35-47)




   発表者:堀川 隆弘
  Twitter: @thorikawa
  Hatena id: thorikawa
第 7 章アウトライン
 最大マージン分類器
  特徴空間において線形分離可能な場合の非線形 SVM
                                   本説明
 重なりのあるクラス分布                   ...
疎な解を持つカーネルマシン
 第 6 章で触れたガウス過程などのモデルには、訓練データの
 全ての対についてカーネル関数を計算しなければいけないと
 いう問題があった。
 学習および予測時に、非常に計算時間がかかる可能性があ
 る。(特に逆行列...
SVM:Support Vector Machine
  訓練データを、超平面を分離境界として分類する。
  正例データと負例データのうち、両者の境界にあるもの
  ≡ Support Vector だけを予測に使う。
  Support Ve...
線形 SVM と非線形 SVM
 PRML では非線形 SVM についてのみ言及している
非線形 SVM では特徴空間上での線形分離を考える。
 入力空間においては分離境界が非線形であっても、より高次元の特
  徴空間上では線形であり得る。
SVM の動機付け
 なぜ Support Vector に対してのみ Margin を最大化するとよ
 いのか?
 演習 7.1 と p36 の最終パラグラフ
 共通のパラメータσ2 をもつガウスカーネルを用いて、Parzen
 推定法を適用...
今、事前確率p t は無情報とすると、誤分類をなくす、すなわち事後確率
p t x が大きい t に振り分けるためには、p x t が大きい t を選べばよい。
その分類境界は
                            p x t...
−wn 2
         exp             wm 2 − wn 2
              2σ2
                   = exp             →0
             −wm 2   ...
マージン最大化の定式化
               y x = w T φ x + 
とモデル化される 2 値分類問題を考える。
(まずは特徴空間上で完全な線形分離が可能と仮定する)
このとき分離平面は、
                  ...
1
            arg max      min t n w   x +               (7.3)
              w,b      w n
w と b を同じ値だけ定数倍しても、目的関数の値は変化しないの...
この最適化問題を解くためにラグランジュ乗数を導入すると、
                              N
                1     2
    L w, b, a =   w       −         a...
W と b を消去できて、以下の双対表現(dual representation)が得られる。
   双対表現(dual representation)
                N              N      N
     ...
特徴空間の次元がデータ点の数を上回るような場合(たとえばガウスカーネル
のような無限次元の場合)にも、最大マージン分類器を適用できるようになる。


なお、k xn , xm が半正定値より、双対問題は凸最適化問題になる。
  凸最適化
   ...
この双対問題の解き方については後述。
双対問題を解き、an が求まったとして、分類規則は次のようになる。
                      N

          y x =            an t k k(x, xn ) ...
なお、この問題における KKT 条件は以下のようになる。
   KKT 条件(Karush-Kuhn-Tucker condition)
                an ≥ 0, n = 1, … , N      (7.14)
    ...
7.1.1 重なりのあるクラス分布
 今まで線形分離可能な場合を考えてきたが、丌可能な場合
 を考える。
 スラック変数ξn ≥ 0を導入する
  正しく識別され、かつマージン境界の上または内側では ξn = 0
  それ以外の場合 ξn ...
これらをまとめて誤分類を許容するために、制約条件(7.5)を以下のように
変更する。
         t n y x ≥ 1 − ξn ,    n = 1, … , N   (7.20)
 where
              ξn ≥ ...
この最適化問題をとくためのラグランジュ関数は、
 L w, b, ξ, a, μ
                            N            N                                     N
...
N
                ∂L
                   =0 ⇒ w=                   an t n  x           (7.29)
                ∂w
          ...
0 ≤ an ≤ C, n = 1, … , N    (7.33)
                     N

                          an t n = 0       (7.34)
             ...
二次計画法の解法
 一般に M 個の変数を持つ二次計画問題を解くにはΟ M 3 の
 時間がかかることが知られている。
 効率的に解くアルゴリズムが必要。
  Chunking (Vapnik, 1982)

     最終的にゼロにならな...
 分解法(decomposition method) (Osuna et al., 1996)

    サイズの小さな二次計画問題を繰り返し解くことで、最終的な解を
     得る。
    実際には、2つのラグランジュ乗数を含む部分問...
SMO(sequential minimal optimization)
   全ての an ではなく、2個のai だけを選び、逐次更新する。
   アルゴリズム概略
 ※大幅に過程を省略しているため、詳細を知りたい方は元論文または参考
 文献...
t1 ≠ t 2 の場合
                                       U ≤ anew ≤ V
                                            2
where U = m...
t 2 f x1 − t1 − f x2 − t 2
         =  anew
            +2     aold
                    2
                    K11 + K 22 −...
非線形 SVM のメリット・デメリット
 メリット
  凸二次計画問題に定式化できるので、局所解が大域解になる。(特
   にニューラルネットワークでは、局所解に収束し、大域解が求められな
   い問題に陥りやすかった)
  特徴空間が高次...
SVM のその他の話題
 カーネル関数の選び方
  実験で決めるしかない?
  マルチカーネル学習(Multiple Kernel Learning, MKL)という手法も
   ある。
  複数のサブカーネルを線形結合する統合カーネルを...
参考文献
1. 中川 裕志:「数理手法(統計的機械学習入門)」講義スライド
  http://www.r.dl.itc.u-tokyo.ac.jp/~nakagawa/SML1/kernel1.
  pdf
2. 前田 英作:痛快!サポートベク...
END
Upcoming SlideShare
Loading in...5
×

PRML chapter7

4,323

Published on

PRML(Pattern Recognition and Machine Learning) chapter 7

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,323
On Slideshare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
78
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

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
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×