SlideShare ist ein Scribd-Unternehmen logo
1 von 28
Downloaden Sie, um offline zu lesen
コンピュータービジョン
最先端ガイド勉強会
   第 3 章 カーネル情報処理入門
4.ベクトルデータに対するカーネル法(Ⅰ)

       堀川 隆弘
       @thorikawa
アウトライン
 線形 SVM

  元空間における分離境界を求める
 非線形 SVM

  特徴空間における分離境界を求める
 SVM の汎化性能と正則化・問題点
SVM:Support Vector Machine
  二クラスの分類を行う、教師有り学習アルゴリズム

  超平面を分離境界としてデータを分類する。

  正例データと負例データのうち、両者の境界にあるもの
  ≡ Support Vector だけを予測に使う。

  Support Vector との距離(Margin)を最大化する分類平面を
                   選ぶ。
SVM の特徴
 高次元においても高い汎化能力を示す

 非線形 SVM では、特徴空間を高次元へ非線形変換してい
 るので、識別能力の高い非線形識別関数を生成することが
 可能

 解が必ず大域最適解に収束する(ニューラルネットワークとの
 違い)
線形 SVM と非線形 SVM

 線形 SVM は元空間上での線形分離
 非線形 SVM は特徴空間上での線形分離
 入力空間においては分離境界が非線形であっても、より高次元の特
  徴空間上では線形であり得る。
線形 SVM
 ������ ������ = ������ ������ ������ + ������0 と表すことができ、かつ線形分離「丌可能」
 と仮定して考える

 スラック変数ξn ≥ 0を導入する

  正しく識別され、かつマージン境界の上または内側では ξn = 0
  それ以外の場合 ξn = yn − f xn

 このとき、
  分類境界f x = 0上にあるデータで
   はξn = 1
  誤分類されたデータではξn > 1が成
   り立つ
これらをまとめて誤分類を許容するために、制約条件(2)を以下のようにす
る。
        ∀i, yi ������ ������ x������ + ������0 − 1 − ξi ≥ 0 (79)
  Where
                 ∀i,        ξi ≥ 0

このとき、誤分類に対しソフトにペナルティを不えることができる目的関数とし
て以下を設定する。
                                     n
                      1     2
         Minimize       w       +c         ξi   (80)
           w ,������ 0 ,ξ 2
                                     i=1

c はスラック変数による誤分類のペナルティと、マージンの大きさの間のトレー
ドオフを制御するパラメータ。
ラグランジュの未定乗数法
複数の変数に1つ以上の制約条件が課せられたときに、関数の停留点を求め
る方法。

  等式制約の未定乗数法

     制約条件g x, y = 0のもとで関数f x, y の極値を求める

という問題を考えるとき、あるパラメータλ ≠ 0 が存在して

               ∇f = λ∇g              (L.1)

が成り立つ。
これと制約条件から極値をとる x,y を求められる。
ラグランジュ関数

                  L x, λ ≡ f x + λg(x)   (L.2)

で定義される L に対し、停留条件 L.1 は∇x L = 0 と表すことができる。
      ∂L
また、        = 0 より制約式 g(x)=0 が導かれる。
   ∂λ

つまり、元の等式制約条件の下で f(x)を最大化するためには、ラグランジュ関数
L.2 の x,λに関する停留点を求めればよい。
丌等式制約の未定乗数法

      制約条件g x, y ≥ 0のもとで関数f x, y の極値を求める
という問題を考えるとき、解には2つの可能性がある。
1. 停留点が g(x)>0 の領域にある
2. 停留点が g(x)=0 上にある
1 の場合、停留条件は ∇f = 0
2 の場合、停留条件は等式制約の場合と同様だが、制約条件から ∇f が領域
g(x)>0 の外へと向かわなければいけないことを考慮して、
                       ∃������ > 0, ∇f = −������∇g
いずれの場合も以下の Karush-Kuhn-Tucker 条件(KKT 条件)が成り立つ。
                  g x ≥0                   (L.3)
                    ������ ≥ 0                 (L.4)
                 ������g(x) = 0                (L.5)
この条件下でラグランジュ関数 L.2 の x,λに関する停留点を求めればよい。
双対問題
制約条件と目的関数を入れ替えることで、変数よりも制約条件が尐ない場合、
主問題よりも楽に解ける可能性が高い。

例) 制約条件 x+y=1 のもとで目的関数 f(x,y)=2x 2 + 3y 2 を最小化する。

ラグランジュ関数L(x, y) = 2x 2 + 3y 2 − ������(������ + ������ − 1)で、

停留条件∇x L = 4x − λ = 0, ∇y L = 6y − λ = 0 から、x,y を消去して、

  5 2
− λ     + λ = 0 を得る。
 12


・目的関数が x,y の関数がλの関数になった!
・次元が 2 →1 になった!
マージン最大化の双対問題

元のマージン最大化問題
                                                                       n
                                            1                 2
                               Minimize       w                   +c         ξi                      (M.1)
                                 w ,������ 0 ,ξ 2
                                                                       i=1

      subject to ∀i, yi ������ ������ x������ + ������0 − 1 − ξi ≥ 0
                                                                                                     (M.2)
                     ∀i,         ξi ≥ 0
  の双対問題を考える。
  この最適化問題をとくためのラグランジュ関数は、
                                         n            n                                        n
                         1
L ������, ������0 , ξ, ������, μ =     w    2
                                    +c         ξi −         ������i yi w ������ ������������ + w0 − 1 + ξi −         μi ξ i   (M.3)
                         2
                                         i=1          i=1                                      i=1

  となる。
ラグランジュ関数を w, ������0 , ξi で微分したものを 0 でおいて、以下の結果を得る。
                               n
            ∂L
                =0 ⇒ w=             ������i yi xi   (M.4)
            ∂������
                              i=1
                         n
             ∂L
                 =0 ⇒         ������i yi = 0        (M.5)
            ∂������0
                        i=1
             ∂L
                 = 0 ⇒ ������i = c − μn             (M.6)
             ∂ξi
これをもとのラグランジュ関数に代入すると、以下の双対表現が得られる。
    双対表現(dual representation)
                    n                n   n
                                1
           L ������ =         ������i −               ������i ������j yi yj xi t xj   (81 改)
                                2
                    i=1             i=1 j=1

     subject to
                    0 ≤ ������i ≤ c, i = 1, … , n
                              n

                                    ������i yi = 0
                             i=1

ただし、最初の制約条件は������n = c − μn とμn ≥ 0を用いた。

この双対問題の解き方については後述。
双対問題を解き、������i が求まったとして、分類規則は次のようになる。
                         n

                   w=         ������i yi xi                  (83)
                        i=1
               w0 = yi − w t x i
                                                         (84)
          (但し、xi は������i > 0なる任意のxi )
                              n

       f(x) = w t x + w0 =         ������i yi (xi, x) + w0   (85)
                             i=1
対応する KKT 条件は以下
  KKT 条件
                 ������i ≥ 0, i = 1, … , n       (M.7)
             yi w������ xi + w0 − 1 + ξi ≥ 0     (M.8)
          ������i yi w������ xi + w0 − 1 + ξi = 0    (M.9)
                         μi ≥ 0             (M.10)
                         ξi ≥ 0             (M.11)
                        μn ξn = 0           (M.12)

よって、全ての訓練データに対し、������n = 0またはyi w������ xi + w0 − 1 + ξi = 0が
成立する。(85)より、������n = 0の点は新しいデータ点の予測に寄不しない。
それ以外の������n ≠ 0となる点を Support Vector と呼び、マージンの縁に存在す
る。
非線形 SVM
d 次元から D 次元への写像φを考え、d 次元ベクトルxi の代わりに、D 次元ベク
トルφ(xi )を新しい n 個の学習パターン(特徴ベクトル)とみなしてみる。

計算式は線形 SVM の場合とほぼ同様になり、マージン最大化を表す式は以下
のようになる。
                                           n
                            1     2
               Minimize       w       +c         ξi      (N.1)
                 w ,������ 0 ,ξ 2
                                           i=1

     subject to ∀i, yi ������ ������ φ(xi ) + ������0 − 1 − ξi ≥ 0
                                                         (N.2)
                      ∀i,       ξi ≥ 0
対応するラグランジュ関数は、
 L ������, ������0 , ξ, ������, μ
                       n            n                                              n
        1                                                                                            (N.3)
      =   w   2
                  +c         ξi −         ������i yi ������������ φ(xi ) + w0 − 1 + ξi −             μi ξ i
        2
                       i=1          i=1                                            i=1




これを������, ������0 , ξi について微分して 0 とおき、以下の双対表現が得られる。
                       n                   n   n
                                   1
        L ������ =               ������i −                  ������i ������j yi yj φ(xi )t φ(xj )                  (N.4)
                                   2
                   i=1                    i=1 j=1
d 次元ベクトルxi , xj を入力とするカーネル関数 k(x,y)があって、k(xi , xj ) ≡

φ(xi )t φ(xj ) が成立するとすれば、以下のようにも表せる。

     双対表現(dual representation)
                   n                  n     n
                              1
         L ������ =         ������i −                   ������i ������j yi yj k(xi , xj )   (89 改)
                              2
                  i=1             i=1 j=1

     subject to
                        0 ≤ ������i ≤ c, i = 1, … , n
                                  n

                                          ������i yi = 0
                                i=1

これを解いて、識別関数は
                            n

                  f x =           ������i yi k(x, xn ) + ������0                     (91)
                           i=1
と表すことができる。

カーネル関数を用いることによって、
・訓練データ各点の特徴空間上の座標φ(x)を計算しなくてよい
・φ(x)が未知でも最適解を得ることができる
というメリットがある。

また、特徴空間の次元を M、訓練データの数を N とすると、
もともとの問題(N.1,N.2)は M+N+1 変数、双対問題(89)は N 変数であった。
これにより、特徴空間の次元がガウスカーネルのような無限次元の場合にも、
最大マージン分類器を適用できるようになる。
マージン最大化と凸最適化

k xi , xj が半正定値より、双対問題は凸最適化問題になる。

   凸最適化
                           f x1 , … , xn → max
   subject to
                g1 x1 , … , xn ≤ 0      h1 x1 , … , xn = 0
                          …                      …
                g n x1 , … , xn ≤ 0     hn x1 , … , xn = 0
   f が上に凸の関数で、制約条件が定義する領域が凸であるとき、こ
   の問題を凸最適化問題と呼ぶ。

   凸最適化問題においては、局所最適解=大域最適解になる。
二次計画法の解法
 一般に M 個の変数を持つ二次計画問題を解くにはΟ M 3 の
 時間がかかることが知られている。

 効率的に解くアルゴリズムが必要。

  Chunking (Vapnik, 1982)

     最終的にゼロにならないラグランジュ乗数だけを残す。
     カーネル行列の大きさを、全データ数の2乗から、非ゼロのラグラン
      ジュ乗数の数の2乗程度まで減らすことが可能。
     保護共役勾配法(protected conjugate gradient method)を用い
      て実装可能(Burges, 1998)
 分解法(decomposition method) (Osuna et al., 1996)

    サイズの小さな二次計画問題を繰り返し解くことで、最終的な解を
     得る。
    実際には、2つのラグランジュ乗数を含む部分問題を繰り返し解く
     SMO(sequential minimal optimization)(Platt, 1999)が広く使
     われている。
SMO(sequential minimal optimization)
  アイデア
 全ての ������n ではなく、2個の������i だけを選び、逐次更新する。
   アルゴリズム概略
 動かす対象を������1 , ������2 の2点とする。
 このとき、(89)の制約式より以下が成立する。
                 ������1 y1 + ������new y2 = ������1 y1 + ������old y2
                   new
                            2
                                       old
                                                2
 これと制約式 0 ≤ ������n ≤ cから以下の新たな制約式が導きだせる。
 y1 = y2 の場合
                            U ≤ ������new ≤ V
                                   2

 where U = max   0, ������1 + ������old − c , V = min
                      old
                            2                   c, ������1 + ������old
                                                     old
                                                           2

 y1 ≠ y2 の場合
                            U ≤ ������new ≤ V
                                  2

 where U = max   0, C − ������1 + ������old , V = min
                          old
                                2               C, ������old − ������1
                                                     2
                                                             old
また、目的関数(89)は������1 , ������2 に関連する部分だけに注目して、以下のように
整理できる。
                            1         1
 W ������1 , ������2   = ������1 + ������2 − K11 ������1 − K 22 ������2 2 − y1 y2 K12 ������1 ������2 − y1 ν1 ������1 − y2 ν2 ������2 + const.
                                    2
                            2         2
where
                                           K ij = k xi , xj
                                              n

                                      νi =         yj ������j k xi , xj
                                             j=3

目的関数を������2 で微分して=0 とおくことで、更新式が求まる。
              new    old
                           y2 f x1 − y1 − f x2 − y2
            ������2 = ������2 +
                                 K11 + K 22 − 2K12
この更新式に対して、前述の制約式を適用したものを������new の更新値とする。             2
(������1 は������1 y1 + ������new y2 = ������1 y1 + ������old y2 から求まる。)
   new  new
                  2
                            old
                                     2
なお、各部分問題で動かす 2 点の選び方には、いくつかのヒューリスティック
が存在する。
汎化性能と正則化
                                            n
                            1     2
               Minimize       w       +c         ξi
                 w ,������ 0 ,ξ 2
                                           i=1
・c 大→誤分類したらダメ、絶対!マージン小。モデルが複雑。
・c 小→誤分類しても OK 。マージン大。モデルが簡易。




              C パラメータで柔軟に
                  調整可能

     Generalized                      Overfitting
                                           ©http://f.hatena.ne.jp/aidiary/
SVM の問題点
 カーネルの選択に注意を要する

  実際の選択肢は多くなく、パラメータ変更時の振る舞いも予想がつく
   ので大きな問題にはならない。
  ほぼガウスカーネル&クロスバリデーションで十分?
  実数ベクトルの場合は大体ガウスカーネル。他、問題の種別に応じて、
   使用するカーネルは大体限定される。
 多クラス分類や事後確率を求めるには工夫が必要

 二次計画問題の計算量が多い

  N 個の変数を持つ二次計画問題の計算量はO N3
  計算量を優先させるために線形 SVM を使う場合もある
参考文献
1. C.M.ビショップ:パターン認識と機械学習 上・下,シュプリンガ
  ー・ジャパン

2. 金谷 健一:これならわかる最適化数学,共立出版

3. 赤穂昭太郎:カーネル多変量解析,岩波書店

4. 中川 裕志:「数理手法(統計的機械学習入門)」講義スライド
  http://www.r.dl.itc.u-tokyo.ac.jp/~nakagawa/SML1/kernel1.
  pdf

5. 前田 英作:痛快!サポートベクトルマシン
  http://ci.nii.ac.jp/naid/110002764121/

Weitere ähnliche Inhalte

Was ist angesagt?

第4回MachineLearningのための数学塾資料(浅川)
第4回MachineLearningのための数学塾資料(浅川)第4回MachineLearningのための数学塾資料(浅川)
第4回MachineLearningのための数学塾資料(浅川)Shin Asakawa
 
クラシックな機械学習の入門  5. サポートベクターマシン
クラシックな機械学習の入門  5. サポートベクターマシンクラシックな機械学習の入門  5. サポートベクターマシン
クラシックな機械学習の入門  5. サポートベクターマシンHiroshi Nakagawa
 
パターン認識と機械学習6章(カーネル法)
パターン認識と機械学習6章(カーネル法)パターン認識と機械学習6章(カーネル法)
パターン認識と機械学習6章(カーネル法)Yukara Ikemiya
 
パターン認識 05 ロジスティック回帰
パターン認識 05 ロジスティック回帰パターン認識 05 ロジスティック回帰
パターン認識 05 ロジスティック回帰sleipnir002
 
はじめてのパターン認識8章 サポートベクトルマシン
はじめてのパターン認識8章 サポートベクトルマシンはじめてのパターン認識8章 サポートベクトルマシン
はじめてのパターン認識8章 サポートベクトルマシンNobuyukiTakayasu
 
クラシックな機械学習の入門 3. 線形回帰および識別
クラシックな機械学習の入門 3. 線形回帰および識別クラシックな機械学習の入門 3. 線形回帰および識別
クラシックな機械学習の入門 3. 線形回帰および識別Hiroshi Nakagawa
 
オンライン凸最適化と線形識別モデル学習の最前線_IBIS2011
オンライン凸最適化と線形識別モデル学習の最前線_IBIS2011オンライン凸最適化と線形識別モデル学習の最前線_IBIS2011
オンライン凸最適化と線形識別モデル学習の最前線_IBIS2011Preferred Networks
 
PRML 6.1章 カーネル法と双対表現
PRML 6.1章 カーネル法と双対表現PRML 6.1章 カーネル法と双対表現
PRML 6.1章 カーネル法と双対表現hagino 3000
 
サポートベクトルマシン入門
サポートベクトルマシン入門サポートベクトルマシン入門
サポートベクトルマシン入門Wakamatz
 
2値分類・多クラス分類
2値分類・多クラス分類2値分類・多クラス分類
2値分類・多クラス分類t dev
 
PRML 1.6 情報理論
PRML 1.6 情報理論PRML 1.6 情報理論
PRML 1.6 情報理論sleepy_yoshi
 
東京大学工学部計数工学科応用音響学 D2 Clustering
東京大学工学部計数工学科応用音響学 D2 Clustering東京大学工学部計数工学科応用音響学 D2 Clustering
東京大学工学部計数工学科応用音響学 D2 ClusteringHiroshi Ono
 
東京都市大学 データ解析入門 10 ニューラルネットワークと深層学習 1
東京都市大学 データ解析入門 10 ニューラルネットワークと深層学習 1東京都市大学 データ解析入門 10 ニューラルネットワークと深層学習 1
東京都市大学 データ解析入門 10 ニューラルネットワークと深層学習 1hirokazutanaka
 
TokyoNLP#7 きれいなジャイアンのカカカカ☆カーネル法入門-C++
TokyoNLP#7 きれいなジャイアンのカカカカ☆カーネル法入門-C++TokyoNLP#7 きれいなジャイアンのカカカカ☆カーネル法入門-C++
TokyoNLP#7 きれいなジャイアンのカカカカ☆カーネル法入門-C++sleepy_yoshi
 
20170327_レムニスケートにまつわる色々な計算
20170327_レムニスケートにまつわる色々な計算20170327_レムニスケートにまつわる色々な計算
20170327_レムニスケートにまつわる色々な計算matsumoring
 
ベクトルで理解する相関係数
ベクトルで理解する相関係数ベクトルで理解する相関係数
ベクトルで理解する相関係数Satoshi MATSUURA
 

Was ist angesagt? (20)

第4回MachineLearningのための数学塾資料(浅川)
第4回MachineLearningのための数学塾資料(浅川)第4回MachineLearningのための数学塾資料(浅川)
第4回MachineLearningのための数学塾資料(浅川)
 
クラシックな機械学習の入門  5. サポートベクターマシン
クラシックな機械学習の入門  5. サポートベクターマシンクラシックな機械学習の入門  5. サポートベクターマシン
クラシックな機械学習の入門  5. サポートベクターマシン
 
パターン認識と機械学習6章(カーネル法)
パターン認識と機械学習6章(カーネル法)パターン認識と機械学習6章(カーネル法)
パターン認識と機械学習6章(カーネル法)
 
パターン認識 05 ロジスティック回帰
パターン認識 05 ロジスティック回帰パターン認識 05 ロジスティック回帰
パターン認識 05 ロジスティック回帰
 
はじめてのパターン認識8章 サポートベクトルマシン
はじめてのパターン認識8章 サポートベクトルマシンはじめてのパターン認識8章 サポートベクトルマシン
はじめてのパターン認識8章 サポートベクトルマシン
 
クラシックな機械学習の入門 3. 線形回帰および識別
クラシックな機械学習の入門 3. 線形回帰および識別クラシックな機械学習の入門 3. 線形回帰および識別
クラシックな機械学習の入門 3. 線形回帰および識別
 
回帰
回帰回帰
回帰
 
オンライン凸最適化と線形識別モデル学習の最前線_IBIS2011
オンライン凸最適化と線形識別モデル学習の最前線_IBIS2011オンライン凸最適化と線形識別モデル学習の最前線_IBIS2011
オンライン凸最適化と線形識別モデル学習の最前線_IBIS2011
 
PRML 6.1章 カーネル法と双対表現
PRML 6.1章 カーネル法と双対表現PRML 6.1章 カーネル法と双対表現
PRML 6.1章 カーネル法と双対表現
 
サポートベクトルマシン入門
サポートベクトルマシン入門サポートベクトルマシン入門
サポートベクトルマシン入門
 
統計概論 isseing333
統計概論 isseing333統計概論 isseing333
統計概論 isseing333
 
2値分類・多クラス分類
2値分類・多クラス分類2値分類・多クラス分類
2値分類・多クラス分類
 
Linera lgebra
Linera lgebraLinera lgebra
Linera lgebra
 
PRML 1.6 情報理論
PRML 1.6 情報理論PRML 1.6 情報理論
PRML 1.6 情報理論
 
東京大学工学部計数工学科応用音響学 D2 Clustering
東京大学工学部計数工学科応用音響学 D2 Clustering東京大学工学部計数工学科応用音響学 D2 Clustering
東京大学工学部計数工学科応用音響学 D2 Clustering
 
東京都市大学 データ解析入門 10 ニューラルネットワークと深層学習 1
東京都市大学 データ解析入門 10 ニューラルネットワークと深層学習 1東京都市大学 データ解析入門 10 ニューラルネットワークと深層学習 1
東京都市大学 データ解析入門 10 ニューラルネットワークと深層学習 1
 
TokyoNLP#7 きれいなジャイアンのカカカカ☆カーネル法入門-C++
TokyoNLP#7 きれいなジャイアンのカカカカ☆カーネル法入門-C++TokyoNLP#7 きれいなジャイアンのカカカカ☆カーネル法入門-C++
TokyoNLP#7 きれいなジャイアンのカカカカ☆カーネル法入門-C++
 
20170327_レムニスケートにまつわる色々な計算
20170327_レムニスケートにまつわる色々な計算20170327_レムニスケートにまつわる色々な計算
20170327_レムニスケートにまつわる色々な計算
 
SVM
SVMSVM
SVM
 
ベクトルで理解する相関係数
ベクトルで理解する相関係数ベクトルで理解する相関係数
ベクトルで理解する相関係数
 

Andere mochten auch

TA Bootcamp 2015 vol.1 - KansaiCEDEC
TA Bootcamp 2015 vol.1 - KansaiCEDECTA Bootcamp 2015 vol.1 - KansaiCEDEC
TA Bootcamp 2015 vol.1 - KansaiCEDECYoshiomi Kure
 
TA Bootcamp 2015 (kure) - CEDEC2015
TA Bootcamp 2015 (kure) - CEDEC2015TA Bootcamp 2015 (kure) - CEDEC2015
TA Bootcamp 2015 (kure) - CEDEC2015Yoshiomi Kure
 
CatchUp! 謎だらけのゲーム開発 vol.02 カラーマネージメント
CatchUp! 謎だらけのゲーム開発 vol.02 カラーマネージメントCatchUp! 謎だらけのゲーム開発 vol.02 カラーマネージメント
CatchUp! 謎だらけのゲーム開発 vol.02 カラーマネージメントYoshiomi Kure
 
第10回Mozilla拡張機能勉強会-FireMobileSimulatorについて
第10回Mozilla拡張機能勉強会-FireMobileSimulatorについて第10回Mozilla拡張機能勉強会-FireMobileSimulatorについて
第10回Mozilla拡張機能勉強会-FireMobileSimulatorについてTakahiro (Poly) Horikawa
 
OR学会 2015/9/11 組合せ最適化の体系化とフリーソフトによる最適化
OR学会 2015/9/11 組合せ最適化の体系化とフリーソフトによる最適化OR学会 2015/9/11 組合せ最適化の体系化とフリーソフトによる最適化
OR学会 2015/9/11 組合せ最適化の体系化とフリーソフトによる最適化SaitoTsutomu
 
CVIM#11 3. 最小化のための数値計算
CVIM#11 3. 最小化のための数値計算CVIM#11 3. 最小化のための数値計算
CVIM#11 3. 最小化のための数値計算sleepy_yoshi
 
非線形データの次元圧縮 150905 WACODE 2nd
非線形データの次元圧縮 150905 WACODE 2nd非線形データの次元圧縮 150905 WACODE 2nd
非線形データの次元圧縮 150905 WACODE 2ndMika Yoshimura
 
ぼくの実装した最弱のディープラーニング
ぼくの実装した最弱のディープラーニングぼくの実装した最弱のディープラーニング
ぼくの実装した最弱のディープラーニングなおき きしだ
 
エニグマ暗号とは何だったのか
エニグマ暗号とは何だったのかエニグマ暗号とは何だったのか
エニグマ暗号とは何だったのかTakahiro (Poly) Horikawa
 
証明プログラミング入門2
証明プログラミング入門2証明プログラミング入門2
証明プログラミング入門2Kyoko Kadowaki
 
数理最適化とPython
数理最適化とPython数理最適化とPython
数理最適化とPythonYosuke Onoue
 
プログラマのための線形代数再入門2 〜 要件定義から学ぶ行列式と逆行列
プログラマのための線形代数再入門2 〜 要件定義から学ぶ行列式と逆行列プログラマのための線形代数再入門2 〜 要件定義から学ぶ行列式と逆行列
プログラマのための線形代数再入門2 〜 要件定義から学ぶ行列式と逆行列Taketo Sano
 
「時計の世界の整数論」第2回プログラマのための数学勉強会 #maths4pg
「時計の世界の整数論」第2回プログラマのための数学勉強会 #maths4pg「時計の世界の整数論」第2回プログラマのための数学勉強会 #maths4pg
「時計の世界の整数論」第2回プログラマのための数学勉強会 #maths4pgJunpei Tsuji
 
組合せ最適化を体系的に知ってPythonで実行してみよう PyCon 2015
組合せ最適化を体系的に知ってPythonで実行してみよう PyCon 2015組合せ最適化を体系的に知ってPythonで実行してみよう PyCon 2015
組合せ最適化を体系的に知ってPythonで実行してみよう PyCon 2015SaitoTsutomu
 
線形?非線形?
線形?非線形?線形?非線形?
線形?非線形?nishio
 
最適化超入門
最適化超入門最適化超入門
最適化超入門Takami Sato
 

Andere mochten auch (20)

生命を記述する数学
生命を記述する数学生命を記述する数学
生命を記述する数学
 
TA Bootcamp 2015 vol.1 - KansaiCEDEC
TA Bootcamp 2015 vol.1 - KansaiCEDECTA Bootcamp 2015 vol.1 - KansaiCEDEC
TA Bootcamp 2015 vol.1 - KansaiCEDEC
 
TA Bootcamp 2015 (kure) - CEDEC2015
TA Bootcamp 2015 (kure) - CEDEC2015TA Bootcamp 2015 (kure) - CEDEC2015
TA Bootcamp 2015 (kure) - CEDEC2015
 
CatchUp! 謎だらけのゲーム開発 vol.02 カラーマネージメント
CatchUp! 謎だらけのゲーム開発 vol.02 カラーマネージメントCatchUp! 謎だらけのゲーム開発 vol.02 カラーマネージメント
CatchUp! 謎だらけのゲーム開発 vol.02 カラーマネージメント
 
第10回Mozilla拡張機能勉強会-FireMobileSimulatorについて
第10回Mozilla拡張機能勉強会-FireMobileSimulatorについて第10回Mozilla拡張機能勉強会-FireMobileSimulatorについて
第10回Mozilla拡張機能勉強会-FireMobileSimulatorについて
 
OR学会 2015/9/11 組合せ最適化の体系化とフリーソフトによる最適化
OR学会 2015/9/11 組合せ最適化の体系化とフリーソフトによる最適化OR学会 2015/9/11 組合せ最適化の体系化とフリーソフトによる最適化
OR学会 2015/9/11 組合せ最適化の体系化とフリーソフトによる最適化
 
201010ksmap
201010ksmap201010ksmap
201010ksmap
 
CVIM#11 3. 最小化のための数値計算
CVIM#11 3. 最小化のための数値計算CVIM#11 3. 最小化のための数値計算
CVIM#11 3. 最小化のための数値計算
 
非線形データの次元圧縮 150905 WACODE 2nd
非線形データの次元圧縮 150905 WACODE 2nd非線形データの次元圧縮 150905 WACODE 2nd
非線形データの次元圧縮 150905 WACODE 2nd
 
線形計画法入門
線形計画法入門線形計画法入門
線形計画法入門
 
ぼくの実装した最弱のディープラーニング
ぼくの実装した最弱のディープラーニングぼくの実装した最弱のディープラーニング
ぼくの実装した最弱のディープラーニング
 
エニグマ暗号とは何だったのか
エニグマ暗号とは何だったのかエニグマ暗号とは何だったのか
エニグマ暗号とは何だったのか
 
証明プログラミング入門2
証明プログラミング入門2証明プログラミング入門2
証明プログラミング入門2
 
数理最適化とPython
数理最適化とPython数理最適化とPython
数理最適化とPython
 
プログラマのための線形代数再入門2 〜 要件定義から学ぶ行列式と逆行列
プログラマのための線形代数再入門2 〜 要件定義から学ぶ行列式と逆行列プログラマのための線形代数再入門2 〜 要件定義から学ぶ行列式と逆行列
プログラマのための線形代数再入門2 〜 要件定義から学ぶ行列式と逆行列
 
PRML Chapter 5
PRML Chapter 5PRML Chapter 5
PRML Chapter 5
 
「時計の世界の整数論」第2回プログラマのための数学勉強会 #maths4pg
「時計の世界の整数論」第2回プログラマのための数学勉強会 #maths4pg「時計の世界の整数論」第2回プログラマのための数学勉強会 #maths4pg
「時計の世界の整数論」第2回プログラマのための数学勉強会 #maths4pg
 
組合せ最適化を体系的に知ってPythonで実行してみよう PyCon 2015
組合せ最適化を体系的に知ってPythonで実行してみよう PyCon 2015組合せ最適化を体系的に知ってPythonで実行してみよう PyCon 2015
組合せ最適化を体系的に知ってPythonで実行してみよう PyCon 2015
 
線形?非線形?
線形?非線形?線形?非線形?
線形?非線形?
 
最適化超入門
最適化超入門最適化超入門
最適化超入門
 

Ähnlich wie コンピュータービジョン最先端ガイド2 3.4ベクトルデータに対するカーネル法(SVM)

東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1hirokazutanaka
 
Jokyonokai
JokyonokaiJokyonokai
Jokyonokainwpmq516
 
Jokyonokai
JokyonokaiJokyonokai
Jokyonokainwpmq516
 
お披露目会05/2010
お披露目会05/2010お披露目会05/2010
お披露目会05/2010JAVA DM
 
代数トポロジー入門
代数トポロジー入門代数トポロジー入門
代数トポロジー入門Tatsuki SHIMIZU
 
「3.1.2最小二乗法の幾何学」PRML勉強会4 @筑波大学 #prml学ぼう
「3.1.2最小二乗法の幾何学」PRML勉強会4 @筑波大学 #prml学ぼう 「3.1.2最小二乗法の幾何学」PRML勉強会4 @筑波大学 #prml学ぼう
「3.1.2最小二乗法の幾何学」PRML勉強会4 @筑波大学 #prml学ぼう Junpei Tsuji
 
080 統計的推測 検定
080 統計的推測 検定080 統計的推測 検定
080 統計的推測 検定t2tarumi
 
パターン認識第9章 学習ベクトル量子化
パターン認識第9章 学習ベクトル量子化パターン認識第9章 学習ベクトル量子化
パターン認識第9章 学習ベクトル量子化Miyoshi Yuya
 
2014年度秋学期 応用数学(解析) 第2部・基本的な微分方程式 / 第5回 微分方程式とは,変数分離形 (2014. 10. 23)
2014年度秋学期 応用数学(解析) 第2部・基本的な微分方程式 / 第5回 微分方程式とは,変数分離形 (2014. 10. 23)2014年度秋学期 応用数学(解析) 第2部・基本的な微分方程式 / 第5回 微分方程式とは,変数分離形 (2014. 10. 23)
2014年度秋学期 応用数学(解析) 第2部・基本的な微分方程式 / 第5回 微分方程式とは,変数分離形 (2014. 10. 23)Akira Asano
 
はじめてのパターン認識 第8章 サポートベクトルマシン
はじめてのパターン認識 第8章 サポートベクトルマシンはじめてのパターン認識 第8章 サポートベクトルマシン
はじめてのパターン認識 第8章 サポートベクトルマシンMotoya Wakiyama
 
凸最適化 〜 双対定理とソルバーCVXPYの紹介 〜
凸最適化 〜 双対定理とソルバーCVXPYの紹介 〜凸最適化 〜 双対定理とソルバーCVXPYの紹介 〜
凸最適化 〜 双対定理とソルバーCVXPYの紹介 〜Tomoki Yoshida
 
経済数学II 「第9章 最適化(Optimization)」
経済数学II 「第9章 最適化(Optimization)」経済数学II 「第9章 最適化(Optimization)」
経済数学II 「第9章 最適化(Optimization)」Wataru Shito
 
Infinite SVM - ICML 2011 読み会
Infinite SVM - ICML 2011 読み会Infinite SVM - ICML 2011 読み会
Infinite SVM - ICML 2011 読み会Shuyo Nakatani
 

Ähnlich wie コンピュータービジョン最先端ガイド2 3.4ベクトルデータに対するカーネル法(SVM) (20)

Re revenge chap03-1
Re revenge chap03-1Re revenge chap03-1
Re revenge chap03-1
 
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
 
Jokyonokai
JokyonokaiJokyonokai
Jokyonokai
 
Jokyonokai
JokyonokaiJokyonokai
Jokyonokai
 
お披露目会05/2010
お披露目会05/2010お披露目会05/2010
お披露目会05/2010
 
代数トポロジー入門
代数トポロジー入門代数トポロジー入門
代数トポロジー入門
 
「3.1.2最小二乗法の幾何学」PRML勉強会4 @筑波大学 #prml学ぼう
「3.1.2最小二乗法の幾何学」PRML勉強会4 @筑波大学 #prml学ぼう 「3.1.2最小二乗法の幾何学」PRML勉強会4 @筑波大学 #prml学ぼう
「3.1.2最小二乗法の幾何学」PRML勉強会4 @筑波大学 #prml学ぼう
 
080 統計的推測 検定
080 統計的推測 検定080 統計的推測 検定
080 統計的推測 検定
 
パターン認識第9章 学習ベクトル量子化
パターン認識第9章 学習ベクトル量子化パターン認識第9章 学習ベクトル量子化
パターン認識第9章 学習ベクトル量子化
 
RUPC2017:M問題
RUPC2017:M問題RUPC2017:M問題
RUPC2017:M問題
 
PRML 第4章
PRML 第4章PRML 第4章
PRML 第4章
 
2014年度秋学期 応用数学(解析) 第2部・基本的な微分方程式 / 第5回 微分方程式とは,変数分離形 (2014. 10. 23)
2014年度秋学期 応用数学(解析) 第2部・基本的な微分方程式 / 第5回 微分方程式とは,変数分離形 (2014. 10. 23)2014年度秋学期 応用数学(解析) 第2部・基本的な微分方程式 / 第5回 微分方程式とは,変数分離形 (2014. 10. 23)
2014年度秋学期 応用数学(解析) 第2部・基本的な微分方程式 / 第5回 微分方程式とは,変数分離形 (2014. 10. 23)
 
はじめてのパターン認識 第8章 サポートベクトルマシン
はじめてのパターン認識 第8章 サポートベクトルマシンはじめてのパターン認識 第8章 サポートベクトルマシン
はじめてのパターン認識 第8章 サポートベクトルマシン
 
凸最適化 〜 双対定理とソルバーCVXPYの紹介 〜
凸最適化 〜 双対定理とソルバーCVXPYの紹介 〜凸最適化 〜 双対定理とソルバーCVXPYの紹介 〜
凸最適化 〜 双対定理とソルバーCVXPYの紹介 〜
 
主成分分析
主成分分析主成分分析
主成分分析
 
経済数学II 「第9章 最適化(Optimization)」
経済数学II 「第9章 最適化(Optimization)」経済数学II 「第9章 最適化(Optimization)」
経済数学II 「第9章 最適化(Optimization)」
 
1次式とノルムで構成された最適化問題とその双対問題
1次式とノルムで構成された最適化問題とその双対問題1次式とノルムで構成された最適化問題とその双対問題
1次式とノルムで構成された最適化問題とその双対問題
 
NLPforml5
NLPforml5NLPforml5
NLPforml5
 
Infinite SVM - ICML 2011 読み会
Infinite SVM - ICML 2011 読み会Infinite SVM - ICML 2011 読み会
Infinite SVM - ICML 2011 読み会
 
PRML5
PRML5PRML5
PRML5
 

Mehr von Takahiro (Poly) Horikawa

Mehr von Takahiro (Poly) Horikawa (6)

The Land of Oz 20191109 Magic Leap x docomo meetup
The Land of Oz 20191109 Magic Leap x docomo meetupThe Land of Oz 20191109 Magic Leap x docomo meetup
The Land of Oz 20191109 Magic Leap x docomo meetup
 
Android Wear Development
Android Wear DevelopmentAndroid Wear Development
Android Wear Development
 
Android開発の基礎_20101218
Android開発の基礎_20101218Android開発の基礎_20101218
Android開発の基礎_20101218
 
加速度センサーで円運動を検出する
加速度センサーで円運動を検出する加速度センサーで円運動を検出する
加速度センサーで円運動を検出する
 
PRML chapter5
PRML chapter5PRML chapter5
PRML chapter5
 
ESPer2008-FireMobileSimulatorについて
ESPer2008-FireMobileSimulatorについてESPer2008-FireMobileSimulatorについて
ESPer2008-FireMobileSimulatorについて
 

コンピュータービジョン最先端ガイド2 3.4ベクトルデータに対するカーネル法(SVM)

  • 1. コンピュータービジョン 最先端ガイド勉強会 第 3 章 カーネル情報処理入門 4.ベクトルデータに対するカーネル法(Ⅰ) 堀川 隆弘 @thorikawa
  • 2. アウトライン 線形 SVM  元空間における分離境界を求める 非線形 SVM  特徴空間における分離境界を求める SVM の汎化性能と正則化・問題点
  • 3. SVM:Support Vector Machine 二クラスの分類を行う、教師有り学習アルゴリズム 超平面を分離境界としてデータを分類する。 正例データと負例データのうち、両者の境界にあるもの ≡ Support Vector だけを予測に使う。 Support Vector との距離(Margin)を最大化する分類平面を 選ぶ。
  • 4. SVM の特徴 高次元においても高い汎化能力を示す 非線形 SVM では、特徴空間を高次元へ非線形変換してい るので、識別能力の高い非線形識別関数を生成することが 可能 解が必ず大域最適解に収束する(ニューラルネットワークとの 違い)
  • 5. 線形 SVM と非線形 SVM  線形 SVM は元空間上での線形分離  非線形 SVM は特徴空間上での線形分離  入力空間においては分離境界が非線形であっても、より高次元の特 徴空間上では線形であり得る。
  • 6. 線形 SVM ������ ������ = ������ ������ ������ + ������0 と表すことができ、かつ線形分離「丌可能」 と仮定して考える スラック変数ξn ≥ 0を導入する  正しく識別され、かつマージン境界の上または内側では ξn = 0  それ以外の場合 ξn = yn − f xn このとき、  分類境界f x = 0上にあるデータで はξn = 1  誤分類されたデータではξn > 1が成 り立つ
  • 7. これらをまとめて誤分類を許容するために、制約条件(2)を以下のようにす る。 ∀i, yi ������ ������ x������ + ������0 − 1 − ξi ≥ 0 (79) Where ∀i, ξi ≥ 0 このとき、誤分類に対しソフトにペナルティを不えることができる目的関数とし て以下を設定する。 n 1 2 Minimize w +c ξi (80) w ,������ 0 ,ξ 2 i=1 c はスラック変数による誤分類のペナルティと、マージンの大きさの間のトレー ドオフを制御するパラメータ。
  • 8. ラグランジュの未定乗数法 複数の変数に1つ以上の制約条件が課せられたときに、関数の停留点を求め る方法。 等式制約の未定乗数法 制約条件g x, y = 0のもとで関数f x, y の極値を求める という問題を考えるとき、あるパラメータλ ≠ 0 が存在して ∇f = λ∇g (L.1) が成り立つ。 これと制約条件から極値をとる x,y を求められる。
  • 9. ラグランジュ関数 L x, λ ≡ f x + λg(x) (L.2) で定義される L に対し、停留条件 L.1 は∇x L = 0 と表すことができる。 ∂L また、 = 0 より制約式 g(x)=0 が導かれる。 ∂λ つまり、元の等式制約条件の下で f(x)を最大化するためには、ラグランジュ関数 L.2 の x,λに関する停留点を求めればよい。
  • 10. 丌等式制約の未定乗数法 制約条件g x, y ≥ 0のもとで関数f x, y の極値を求める という問題を考えるとき、解には2つの可能性がある。 1. 停留点が g(x)>0 の領域にある 2. 停留点が g(x)=0 上にある 1 の場合、停留条件は ∇f = 0 2 の場合、停留条件は等式制約の場合と同様だが、制約条件から ∇f が領域 g(x)>0 の外へと向かわなければいけないことを考慮して、 ∃������ > 0, ∇f = −������∇g いずれの場合も以下の Karush-Kuhn-Tucker 条件(KKT 条件)が成り立つ。 g x ≥0 (L.3) ������ ≥ 0 (L.4) ������g(x) = 0 (L.5) この条件下でラグランジュ関数 L.2 の x,λに関する停留点を求めればよい。
  • 11. 双対問題 制約条件と目的関数を入れ替えることで、変数よりも制約条件が尐ない場合、 主問題よりも楽に解ける可能性が高い。 例) 制約条件 x+y=1 のもとで目的関数 f(x,y)=2x 2 + 3y 2 を最小化する。 ラグランジュ関数L(x, y) = 2x 2 + 3y 2 − ������(������ + ������ − 1)で、 停留条件∇x L = 4x − λ = 0, ∇y L = 6y − λ = 0 から、x,y を消去して、 5 2 − λ + λ = 0 を得る。 12 ・目的関数が x,y の関数がλの関数になった! ・次元が 2 →1 になった!
  • 12. マージン最大化の双対問題 元のマージン最大化問題 n 1 2 Minimize w +c ξi (M.1) w ,������ 0 ,ξ 2 i=1 subject to ∀i, yi ������ ������ x������ + ������0 − 1 − ξi ≥ 0 (M.2) ∀i, ξi ≥ 0 の双対問題を考える。 この最適化問題をとくためのラグランジュ関数は、 n n n 1 L ������, ������0 , ξ, ������, μ = w 2 +c ξi − ������i yi w ������ ������������ + w0 − 1 + ξi − μi ξ i (M.3) 2 i=1 i=1 i=1 となる。
  • 13. ラグランジュ関数を w, ������0 , ξi で微分したものを 0 でおいて、以下の結果を得る。 n ∂L =0 ⇒ w= ������i yi xi (M.4) ∂������ i=1 n ∂L =0 ⇒ ������i yi = 0 (M.5) ∂������0 i=1 ∂L = 0 ⇒ ������i = c − μn (M.6) ∂ξi
  • 14. これをもとのラグランジュ関数に代入すると、以下の双対表現が得られる。 双対表現(dual representation) n n n 1 L ������ = ������i − ������i ������j yi yj xi t xj (81 改) 2 i=1 i=1 j=1 subject to 0 ≤ ������i ≤ c, i = 1, … , n n ������i yi = 0 i=1 ただし、最初の制約条件は������n = c − μn とμn ≥ 0を用いた。 この双対問題の解き方については後述。
  • 15. 双対問題を解き、������i が求まったとして、分類規則は次のようになる。 n w= ������i yi xi (83) i=1 w0 = yi − w t x i (84) (但し、xi は������i > 0なる任意のxi ) n f(x) = w t x + w0 = ������i yi (xi, x) + w0 (85) i=1
  • 16. 対応する KKT 条件は以下 KKT 条件 ������i ≥ 0, i = 1, … , n (M.7) yi w������ xi + w0 − 1 + ξi ≥ 0 (M.8) ������i yi w������ xi + w0 − 1 + ξi = 0 (M.9) μi ≥ 0 (M.10) ξi ≥ 0 (M.11) μn ξn = 0 (M.12) よって、全ての訓練データに対し、������n = 0またはyi w������ xi + w0 − 1 + ξi = 0が 成立する。(85)より、������n = 0の点は新しいデータ点の予測に寄不しない。 それ以外の������n ≠ 0となる点を Support Vector と呼び、マージンの縁に存在す る。
  • 17. 非線形 SVM d 次元から D 次元への写像φを考え、d 次元ベクトルxi の代わりに、D 次元ベク トルφ(xi )を新しい n 個の学習パターン(特徴ベクトル)とみなしてみる。 計算式は線形 SVM の場合とほぼ同様になり、マージン最大化を表す式は以下 のようになる。 n 1 2 Minimize w +c ξi (N.1) w ,������ 0 ,ξ 2 i=1 subject to ∀i, yi ������ ������ φ(xi ) + ������0 − 1 − ξi ≥ 0 (N.2) ∀i, ξi ≥ 0
  • 18. 対応するラグランジュ関数は、 L ������, ������0 , ξ, ������, μ n n n 1 (N.3) = w 2 +c ξi − ������i yi ������������ φ(xi ) + w0 − 1 + ξi − μi ξ i 2 i=1 i=1 i=1 これを������, ������0 , ξi について微分して 0 とおき、以下の双対表現が得られる。 n n n 1 L ������ = ������i − ������i ������j yi yj φ(xi )t φ(xj ) (N.4) 2 i=1 i=1 j=1
  • 19. d 次元ベクトルxi , xj を入力とするカーネル関数 k(x,y)があって、k(xi , xj ) ≡ φ(xi )t φ(xj ) が成立するとすれば、以下のようにも表せる。 双対表現(dual representation) n n n 1 L ������ = ������i − ������i ������j yi yj k(xi , xj ) (89 改) 2 i=1 i=1 j=1 subject to 0 ≤ ������i ≤ c, i = 1, … , n n ������i yi = 0 i=1 これを解いて、識別関数は n f x = ������i yi k(x, xn ) + ������0 (91) i=1
  • 20. と表すことができる。 カーネル関数を用いることによって、 ・訓練データ各点の特徴空間上の座標φ(x)を計算しなくてよい ・φ(x)が未知でも最適解を得ることができる というメリットがある。 また、特徴空間の次元を M、訓練データの数を N とすると、 もともとの問題(N.1,N.2)は M+N+1 変数、双対問題(89)は N 変数であった。 これにより、特徴空間の次元がガウスカーネルのような無限次元の場合にも、 最大マージン分類器を適用できるようになる。
  • 21. マージン最大化と凸最適化 k xi , xj が半正定値より、双対問題は凸最適化問題になる。 凸最適化 f x1 , … , xn → max subject to g1 x1 , … , xn ≤ 0 h1 x1 , … , xn = 0 … … g n x1 , … , xn ≤ 0 hn x1 , … , xn = 0 f が上に凸の関数で、制約条件が定義する領域が凸であるとき、こ の問題を凸最適化問題と呼ぶ。 凸最適化問題においては、局所最適解=大域最適解になる。
  • 22. 二次計画法の解法 一般に M 個の変数を持つ二次計画問題を解くにはΟ M 3 の 時間がかかることが知られている。 効率的に解くアルゴリズムが必要。  Chunking (Vapnik, 1982)  最終的にゼロにならないラグランジュ乗数だけを残す。  カーネル行列の大きさを、全データ数の2乗から、非ゼロのラグラン ジュ乗数の数の2乗程度まで減らすことが可能。  保護共役勾配法(protected conjugate gradient method)を用い て実装可能(Burges, 1998)
  • 23.  分解法(decomposition method) (Osuna et al., 1996)  サイズの小さな二次計画問題を繰り返し解くことで、最終的な解を 得る。  実際には、2つのラグランジュ乗数を含む部分問題を繰り返し解く SMO(sequential minimal optimization)(Platt, 1999)が広く使 われている。
  • 24. SMO(sequential minimal optimization) アイデア 全ての ������n ではなく、2個の������i だけを選び、逐次更新する。 アルゴリズム概略 動かす対象を������1 , ������2 の2点とする。 このとき、(89)の制約式より以下が成立する。 ������1 y1 + ������new y2 = ������1 y1 + ������old y2 new 2 old 2 これと制約式 0 ≤ ������n ≤ cから以下の新たな制約式が導きだせる。 y1 = y2 の場合 U ≤ ������new ≤ V 2 where U = max 0, ������1 + ������old − c , V = min old 2 c, ������1 + ������old old 2 y1 ≠ y2 の場合 U ≤ ������new ≤ V 2 where U = max 0, C − ������1 + ������old , V = min old 2 C, ������old − ������1 2 old
  • 25. また、目的関数(89)は������1 , ������2 に関連する部分だけに注目して、以下のように 整理できる。 1 1 W ������1 , ������2 = ������1 + ������2 − K11 ������1 − K 22 ������2 2 − y1 y2 K12 ������1 ������2 − y1 ν1 ������1 − y2 ν2 ������2 + const. 2 2 2 where K ij = k xi , xj n νi = yj ������j k xi , xj j=3 目的関数を������2 で微分して=0 とおくことで、更新式が求まる。 new old y2 f x1 − y1 − f x2 − y2 ������2 = ������2 + K11 + K 22 − 2K12 この更新式に対して、前述の制約式を適用したものを������new の更新値とする。 2 (������1 は������1 y1 + ������new y2 = ������1 y1 + ������old y2 から求まる。) new new 2 old 2 なお、各部分問題で動かす 2 点の選び方には、いくつかのヒューリスティック が存在する。
  • 26. 汎化性能と正則化 n 1 2 Minimize w +c ξi w ,������ 0 ,ξ 2 i=1 ・c 大→誤分類したらダメ、絶対!マージン小。モデルが複雑。 ・c 小→誤分類しても OK 。マージン大。モデルが簡易。 C パラメータで柔軟に 調整可能 Generalized Overfitting ©http://f.hatena.ne.jp/aidiary/
  • 27. SVM の問題点 カーネルの選択に注意を要する  実際の選択肢は多くなく、パラメータ変更時の振る舞いも予想がつく ので大きな問題にはならない。  ほぼガウスカーネル&クロスバリデーションで十分?  実数ベクトルの場合は大体ガウスカーネル。他、問題の種別に応じて、 使用するカーネルは大体限定される。 多クラス分類や事後確率を求めるには工夫が必要 二次計画問題の計算量が多い  N 個の変数を持つ二次計画問題の計算量はO N3  計算量を優先させるために線形 SVM を使う場合もある
  • 28. 参考文献 1. C.M.ビショップ:パターン認識と機械学習 上・下,シュプリンガ ー・ジャパン 2. 金谷 健一:これならわかる最適化数学,共立出版 3. 赤穂昭太郎:カーネル多変量解析,岩波書店 4. 中川 裕志:「数理手法(統計的機械学習入門)」講義スライド http://www.r.dl.itc.u-tokyo.ac.jp/~nakagawa/SML1/kernel1. pdf 5. 前田 英作:痛快!サポートベクトルマシン http://ci.nii.ac.jp/naid/110002764121/