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.

MLP SVM Chapter 7 分割法

1,054 views

Published on

機械学習プロフェッショナルシリーズ,サーポートベクトルマシン.Chapter7 分割法,の輪講資料

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

MLP SVM Chapter 7 分割法

  1. 1. SVM本勉強会 Chapter7.  分割法 Waseda Univ.  Hamada  Lab.  B4 Taikai Takeda Twitter:  @bigsea_t
  2. 2. Self-­‐Introduction üTaikai Takeda üTwitter:  @bigsea_t üHamada  Lab.  B4 üInterests § Bioinformatics § Machine  Learning üHobby § Sports § swimming,  badminton,  rowing,… § Drinking § beer,  sake,  wine,… 2
  3. 3. 分割法とは ü背景 § ⼤大規模なデータでのSVMの学習は計算コストが ⼤大きい § 𝑁個の未知変数を持つ⼆二次計画問題は𝑂(𝑁$)の計算時間 § 汎⽤用的な最適化アルゴリズムではなくSVMに特化 したもの(分割法)を⽤用いることで効率率率化できる ü概要 § 訓練集合をすべて使うのでなく,⼀一部のみを使って ⼩小規模な最適化問題を繰り返し解く 3
  4. 4. 分割法の種類 üSMO § 訓練集合のサイズを最⼩小とした分割法 § カーネルSVMに⽤用いられる üDCDM § SMOでさらに線形SVMに特化した分割法 § 主問題と双対問題の関係をうまく利利⽤用する 4
  5. 5. 分割法における双対問題 ü⼀一般の分割法(decomposition  method) § 訓練集合の部分集合である作業集合(working  set)で 学習を⾏行行う § 作業集合   𝑆 ⊆ [𝑛] § それ以外 𝑆̅ = [𝑛]   𝑆 5 𝑂( 𝑆 $)で解ける
  6. 6. SMOアルゴリズム üSMO(Sequential  Minimal  Optimization) § 作業集合のサイズ 𝑆 = 2とした分割法 § 制約条件より, 𝑆 = 2が最⼩小(minimal)である (後述) § 双対問題の解を解析的に得られる § LIBSVMという有名なソフトで採⽤用 6
  7. 7. SMO  -­‐ 学習の流流れ 1. 良良さそうな2変数を選ぶ 2. 2変数の最適化(解析解が存在) 3. 停⽌止条件を満たすまで1,2  の繰り返し 7
  8. 8. SMO  – 事前準備 ü双対変数 𝛼1 1∈[3]の変数変換 8 この制約条件のため 1つのβだと値を動かせない →2つがminimal cf 変換前のOP
  9. 9. SMO  -­‐ 2変数最適化 ü𝛽<, 𝛽>, 𝑠 ≠ 𝑡の2変数の更更新 𝛽< ← 𝛽< + Δ𝛽< 𝛽> ← 𝛽> + Δ𝛽> ü制約条件∑ 𝛽11∈[3] = 0より, Δ𝛽> = −Δ𝛽< →実質的に𝚫𝜷 𝒔だけが⾃自由変数 9
  10. 10. SMO  -­‐ 2変数最適化 üΔ𝛽<に関する制約は𝑦<, 𝑦>の値によって変化 L        0 ≤ 𝛽∘ + Δ𝛽∘ ≤ 𝐶   𝑖 𝑓   𝑦∘ = +1 −𝐶 ≤ 𝛽∘ + Δ𝛽∘ ≤ 0   𝑖 𝑓   𝑦∘ = −1 § 𝛽∘  は𝛽< 𝑜𝑟𝛽>   ü全4パターンを書き下すと, 10 これらをまとめて 𝐿 ≤ Δ𝛽< ≤ 𝑈 と表現する
  11. 11. SMO  -­‐ 2変数最適化 ü結局,Δ𝛽<に関する最適化問題は ⼆二次関数の最⼩小化問題に帰着される 11
  12. 12. SMO  -­‐ 2変数最適化 üΔ𝛽<の解析解 12 𝑳 𝑯 MIN 𝑳 𝑯 MIN 𝑳 𝑯 MIN
  13. 13. SMO  – 変数選択 ü𝛽<, 𝛽>の選び⽅方の⽅方針 →最適性条件を⼀一番満たしていないペアを選ぶ üSVMの双対変数𝜶の最適性条件 13
  14. 14. SMO  – 変数選択 最適性条件の整理理 14
  15. 15. SMO  – 変数選択 ü最適性条件を最も満たしてないペアの選択 § ⼯工夫しないと𝑂(𝑛] )の計算量量 § 実際には毎回更更新されるのが𝛼<, 𝛼>のみであること を利利⽤用して𝑂(𝑛)で計算できる 15
  16. 16. SMO  – 変数選択 ペアの選択における計算の⼯工夫 16 𝛽1 = 𝑦1 𝛼1, 𝑖 ∈ [𝑛] 𝛽< ← 𝛽< + Δ𝛽< 𝛽> ← 𝛽> + Δ𝛽> Δ𝛽> = −Δ𝛽<
  17. 17. üカーネル⾏行行列列𝐾1_の計算上の⼯工夫 § 変数選択,2変数最適化の各ステップで カーネル関数𝐾1_の値を𝑂(𝑛)個使う § カーネル関数の計算量量は通常𝑂 𝑑 → 全部で𝑂(𝑛𝑑) § cf. § カーネル関数の値は最適化の過程で変化しないので 予め計算してキャッシュしておく § Δ𝛽<の更更新の計算量量は𝑂(𝑛)となる § 訓練集合が⼤大規模な場合で全ての𝐾1_をキャッシュでき ない場合には直近に使った𝐾1_のみをキャッシュする § SVMのスパース性より選ばれる変数に偏りがあるので うまくいく SMO  – カーネル⾏行行列列のキャッシュ 17
  18. 18. SMO -­‐ まとめ üアルゴリズムの流流れ 1. 変数選択: 最適性条件を最も満たしていない変数を選ぶ 2. 2変数最適化: ⼆二次⽅方程式の最⼩小値を求める問題なので 解析解が存在 3. 停⽌止条件を満たすまで1,2  の繰り返し 18
  19. 19. DCDMアルゴリズム üDCDM(Dual  Coordinate  Descent  Method) § 線形SVMに特化した分割法 § SMOよりはやい § 主問題と双対問題の関係を利利⽤用 19
  20. 20. DCDMアルゴリズム – 事前準備 バイアスのない線形SVM ü決定関数 § 𝑓 𝒙 = 𝒘c 𝒙 § cf.  バイアスあり:𝑓 𝒙 = 𝒘c 𝒙 + 𝑏 ü主問題 ü双対問題 ü⼊入⼒力力の拡張 § バイアスまで正則化してしまう →データの標準化などの前処理理が必要 § e.g.  𝒙1e = 𝒙1 − f 3 ∑ 𝒙11∈[3] 20 バイアス項が消えたので等式制約も消えた 𝑐𝑓.               𝜕𝐿 𝜕𝑏 = − j 𝛼1 𝑦1 = 0 1∈3    →    j 𝛼1 𝑦1 = 0 1∈3
  21. 21. DCDMアルゴリズム – 学習の流流れ ü最⼩小の作業集合𝑆に対して最適化を繰り返す § 等式がないため 𝑆 = 1が最⼩小作業集合 ü最適化の計算コストが⼩小さい →変数選択を⾏行行わないで𝛼f, … , 𝛼3と順番に選択 21
  22. 22. DCDMアルゴリズム – 1変数最適化 ü双対変数𝛼<の更更新 § 𝛼< ← 𝛼< + Δ𝛼< § 𝑆 = 𝛼< , s ∈ [𝑛] üΔ𝛼<に関する双対問題 ü2次関数最⼩小化の解析解 22
  23. 23. DCDMアルゴリズム – 1変数最適化 線形性の利利⽤用による計算の⾼高速化 ü fm∑ nopoqo∈ r pqq の計算で𝑄_<と𝑄<<が必要 ü𝑄<<は𝑸⾏行行列列の対⾓角成分なので𝑂(𝑛)のキャッシュ ü𝑄_<には主変数𝒘と双対変数𝜶の関係の利利⽤用 § 𝒘 = ∑ 𝛼_ 𝑦_ 𝒙__∈ 3 , Qvw = yvywKvw § 1 − ∑ 𝛼_ 𝑄_<_∈ 3 = 1 − 𝒘c 𝒙< 𝑦< § 1 − ∑ 𝛼_ 𝑄_<_∈ 3 :𝑂 𝑛] ⇒ 1 − 𝒘c 𝒙< 𝑦<:𝑂(𝑑) § 𝐰のキャッシュO(𝑑)は必要 § 𝒘は双対変数の更更新のたびに必要 § 𝒘 ← 𝒘 + Δ𝛼< 𝒙< 𝑦<:𝑂(𝑑) ⇒ 𝑶(𝒏 + 𝒅)のキャッシュで𝑶(𝒅)の計算量量 cf.  SMOでは𝑂(𝑛])のキャッシュで𝑂(𝑛)の計算量量 23
  24. 24. DCDM-­‐まとめ ü𝛼f, … , 𝛼3と順番に最適化していく ü線形性を利利⽤用して計算を⾼高速化できる 24
  25. 25. References ü⽵竹内⼀一郎郎,烏⼭山昌幸, (2015),サポートベクトルマシン,講談社 25

×