Upgrade to Pro — share decks privately, control downloads, hide ads and more …

supportvectormachine

yuki
January 24, 2021
1.7k

 supportvectormachine

yuki

January 24, 2021
Tweet

Transcript

  1. 3 線形2クラス分類問題の定義 ✓ n個の訓練データが与えられたときに それらを最もよく分類できる分類境界 f(x)=0 を学習 Class A Class

    B x 1 x 2 > 0 ⇔ ラベル y = 1 分類境界: = T + = 0 < 0 ⇔ ラベル y = -1 i番目のデータ (x(i), y(i))とする = 1 1 + ⋯ + + = T + 1 , … , :入力変数 1 , … , :重み係数 :次元数 :バイアス 2次元の例
  2. 5 マージン評価のための点と直線の距離の公式 ✓ 2次元平面上の点と直線の距離は次式で表され m次元空間上でも同様の形式で表現できる 直線: 1 1 + 2

    2 + = 0 2次元 m次元(図はm=3) 距離 = 1 1 () + 2 2 () + 1 2 + 2 2 点 1 (), 2 () 点と直線の距離の 公式(高校数学)より (超)平面: 1 1 + ⋯ + + = 0 距離 点 1 (), … , () = 1 1 () + ⋯ + () + 1 2 + ⋯ + 2 = ()T + 2次元から m次元に拡張 ∙ : ベクトル の長さ
  3. 6 マージンの定式化 ✓ 分類境界で全てのデータが正しく分類できる場合を考える ✓ 分類境界から最も近いデータをサポートベクターと呼ぶ ✓ 分類境界とサポートベクターの距離でマージンは決定する x 1

    x 2 > 0 ⇔ ラベル y = 1 < 0 ⇔ ラベル y = -1 マージンの大きさ (′)T + = (′) (′)T + サポートベクター (x(i’), y(i’))とする > 0 ⇔ = 1 < 0 ⇔ = −1 より は常に正 マージン = T + = 0
  4. 7 ハードマージンSVMの定式化 ✓ サポートベクターはデータの中で最も分類境界に近いため マージン最大化問題は次式のように定式化できる max , (′) (′)T +

    . . () ()T + ≥ ′ ′ T + = 0, … , サポートベクタが最も分類境界に近い マージンの最大化 max , 1 . . () ()T + ≥ 1 = 0, … , ⟺ min , 2 . . () ()T + ≥ 1 = 0, … , ⟶ ′ ′ T + , ⟶ ′ ′ T + 係数ベクトルのスケーリング この最適化問題が標準的な定式化 全データを正しく分類可能という仮定はハードマージンと呼ばれる 係数ベクトルを 定数倍しても マージンは変わらない
  5. 10 マージンを±1で定義すると何が嬉しいのか ✓ f(x) = ±1 をマージンとして定義すると 各点の y(i)f(x(i)) から位置と正解/不正解が簡単にわかる!

    x 1 x 2 = 0 = 1 = −1 () > 1 の領域(マージン外) 赤(正解)なら () () > 1 青(誤分類)なら () () < −1 i番目のデータ (x(i), y(i)) () < −1 の領域(マージン外) 青(正解)なら () () > 1 赤(誤分類)なら () () < −1 0 < () < 1 の領域(マージン内) 赤(正解)なら 0 < () () < 1 青(誤分類)なら 0 > () () > −1 0 > () > −1 の領域(マージン内) 青(正解)なら 0 < () () < 1 赤(誤分類)なら 0 > () () > −1
  6. 11 ソフトマージンへの制約条件の拡張 ✓ マージンを超えることを許容するため ハードマージンの制約条件を緩和することで ソフトマージンに拡張する min , 2 .

    . () ()T + ≥ 1 = 0, … , ハードマージンSVMの最適化問題 「全てのデータがマージン内部に入ってはいけない」 という制約(前ページの () () > 1 の箇所参照) min , 2 . . () ()T + ≥ 1 − , ≥ 0 = 0, … , () () が負の値をとれる(マージンを超えられる) ように,非負のスラック変数 ξ i を導入 ソフトマージンへの拡張 ただし = ቊ 0 () − () (点が正しく分類,かつマージンの外側) (それ以外)
  7. 12 スラック変数の取りうる値 ✓ 導入したスラック変数はデータと分類境界, マージンとの位置関係によって変動する min , 2 . .

    () ()T + ≥ 1 − , ≥ 0 = 0, … , x 1 x 2 = 0 = 1 = −1 Class A の場合 緩和前の制約 () ()T + ≥ 1 を 既に満たしており, = 0 でよい マージンよりも正解側の領域 マージンよりも内側だが 分類境界よりは正解側の領域 1 > () ()T + > 0 となるため 1 > > 0 となる 分類境界を超える領域(誤分類) () ()T + < 0 となるため > 1 とする必要がある
  8. 13 サポートベクターマシンの主問題 ソフトマージンSVMの主問題 ✓ 前頁の議論から,スラック変数は小さければ小さいほど 誤分類を抑制できることがわかる ✓ そのため,ソフトマージンSVMの最適化問題を 目的関数にスラック変数を追加し次式のように定義する min

    ,, 1 2 2 + ෍ =0 . . () ()T + ≥ 1 − , ≥ 0 = 0, … , ここで = 0 , … , T ハイパーパラメータ C は2つの項を調整するハイパーパラメータであり C=∞ のとき,全てのスラック変数が0である必要があるため ソフトマージンはハードマージンに一致する 誤分類を減らす マージンを 最大化する
  9. 15 ラグランジュの未定乗数法による変換 ✓ ラグランジュの未定乗数法により主問題を max-min問題に変換する max ≥,≥ min ,, ,

    , , , , , , , = 1 2 2 + ෍ =0 − ෍ =0 () T + − 1 + − ෍ =0 以下は全て新たに 導入する非負の変数 = 0 , … , T = 0 , … , T ラグランジュ関数の導入 変換したmax-min問題 min ,, 1 2 2 + ෍ =0 s. t. () T + ≥ 1 − , ≥ 0 = 0,1, … , この問題が主問題と等価 であることの証明は省略 (参考文献参照)
  10. 17 ラグランジュ関数の主変数による最小化 ✓ ラグランジュ関数は主変数に対して微分可能であるため 各主変数で偏微分して0とすることで関係式を求める (偏微分して0となる点で最小となる) = − ෍ =0

    () = ⇔ = ෍ =0 () = − ෍ =0 () = 0 = − − = 0, = 0,1, … , , , , , = 1 2 2 + ෍ =0 − ෍ =0 () T + − 1 + − ෍ =0 ラグランジュ関数 主変数による偏微分
  11. 18 主変数を削除する ✓ 前ページで求めた関係式をラグランジュ関数に適用し 双対変数のみの関数に変形(主変数に対して最小化する) が計算過程で削除できるため のみの関数となる! , , ,

    , = 1 2 2 + ෍ =0 − ෍ =0 () T + − 1 + − ෍ =0 = 1 2 2 + ෍ =0 − − − ෍ =0 () T − ෍ =0 () + ෍ =0 = 1 2 ෍ =0 ෍ =0 ()() T − ෍ =0 ෍ =0 ()() T + ෍ =0 = − 1 2 ෍ =0 ෍ =0 ()() T + ෍ =0 まとめる 関係式を適用 まとめる = ෍ =0 () , ෍ =0 () = 0 − − = 0, = 0,1, … , 偏微分による関係式
  12. 19 双対問題が完成 ✓ 双対変数の非負条件と偏微分で得られた関係式から 下記の範囲制約が求まる 0 ≤ , 0 ≤

    = − ⟹ 0 ≤ ≤ ✓ よって,双対問題は次式のように求まる ✓ 双対問題を解くと α が求められる max − 1 2 ෍ =0 ෍ =0 ()() T + ෍ =0 s. t. ෍ =0 () = 0, 0 ≤ ≤ = 0, … , サポートベクターマシンの双対問題
  13. 20 サポートベクターマシンの分類境界 ✓ 偏微分から得られた関係式より, サポートベクターマシンの分類境界は次式の通り ✓ 双対問題の解 α と入力データ x(i)

    によって サポートベクターマシンの分類境界が求まる! ✓ バイアス b の導出は次のスライド参照 = T + = ෍ =0 () T + = 0
  14. 21 バイアスの計算 ✓ 双対問題にはバイアス b が存在しないため導出できない ✓ バイアス b はサポートベクターから計算

    ✓ サポートベクターが複数存在する場合は平均をとる (′) (′) = 1 ⇔ = (′) − ෍ =0 () (′) T x 1 x 2 サポートベクター (x(i’), y(i’)) = 0 = 1 = −1
  15. 22 非線形写像 ✓ 線形の直線,(超)平面では正しく分類が行えない場合が 多く存在する ✓ 入力変数を高次元の空間に拡張(非線形写像)することで 様々な分類境界を表現可能となる 非線形写像: ⟼

    2 + x,yの2次元平面上では 直線では分類できない 曲線(非線形)で分類する必要あり x,x2,yの3次元空間上では 平面(線形)で分類可能に! y = 2 + y = 2 +
  16. 23 非線形写像したSVM ✓ 入力変数 x を何らかの特徴空間に写像する関数 Φ を 考えると,双対問題・分類境界は次式のようになる =

    T + = ෍ =0 () T + = 0 max − 1 2 ෍ =0 ෍ =0 ()() T + ෍ =0 s. t. ෍ =0 () = 0,0 ≤ ≤ = 0,1, … , 双対問題 分類境界
  17. 24 カーネル関数による非線形写像 ✓ 前頁で Φ は内積 ΦΦT の形でしか現れないため ΦΦTをカーネル関数 K

    に置き換える ✓ 適切なカーネル関数を選ぶことで Φ(x) を直接計算せずとも内積を算出することが可能に , = T = ෍ =0 () , + max − 1 2 ෍ =0 ෍ =0 ()() , + ෍ =0 双対問題の目的関数 回帰関数 カーネル関数の定義
  18. 25 カーネル関数の例 ✓ カーネル関数は例えば以下のようなものが存在 ✓ RBFカーネルが最もよく用いられる , = exp −

    − 2 22 = exp − − 2 RBFカーネル(ガウシアンカーネル) 線形カーネル , = T 多項式カーネル , = 1 + T シグモイドカーネル , = tanh T + :ハイパーパラメータ