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.

サポートベクトルデータ記述法による異常検知 in 機械学習プロフェッショナルシリーズ輪読会

2,533 views

Published on

機械学習プロフェッショナルシリーズ輪読会での発表資料。ラグランジュ法、Support Vector Data Description (SVDD)、カーネルトリックについて。

Published in: Data & Analytics
  • Be the first to comment

サポートベクトルデータ記述法による異常検知 in 機械学習プロフェッショナルシリーズ輪読会

  1. 1. Chapter 6: Support Vector Data Description 機械学習プロフェッショナルシリーズ輪読会 ~異常検知と変化検知~ 佐野 正太郎
  2. 2. やりたいこと 訓練データ (ラベルなし)
  3. 3. やりたいこと 訓練データ (ラベルなし) 円で囲む
  4. 4. 正常 異常
  5. 5. トピック  Lagrange Method  凸最適化問題を簡単な問題へと変換  Support Vector Data Description (SVDD)  正常・異常を分離する円形境界の決定  Kernel Trick  柔軟かつ高速な境界の計算
  6. 6. Lagrange Method
  7. 7. 問題設定:凸最適化問題  目的関数  制約条件 )}({minimize xf x ),...,1(0)( Jjhj x ),...,1(0)( Iigi x 凸関数 凸関数 線形関数
  8. 8. ラグランジュ関数  以下の関数を作ってみる    J j jj I i ii hgfL 11 )()()(),,( xxxμλx  0,0where  ji  目的関数 不等式制約 等式制約
  9. 9. ラグランジュ関数  以下の関数を作ってみる  このとき    J j jj I i ii hgfL 11 )()()(),,( xxxμλx  0,0where  ji  目的関数 不等式制約 等式制約 )(),,( xμλx fL 
  10. 10. 弱双対性  ラグランジュ関数の下限は目的関数より常に小さい )(),,(),,(min xμλxμλx x fLL 
  11. 11. 弱双対性  ラグランジュ関数の下限は目的関数より常に小さい  よって主問題の最小値(最適解)より小さい )(),,(),,(min xμλxμλx x fLL  )(),,(min * xμλx x fL 
  12. 12. 弱双対性  ラグランジュ関数の下限は目的関数より常に小さい  よって主問題の最小値(最適解)より小さい )(),,(),,(min xμλxμλx x fLL  ),( μλg 下限はλとμの関数 )(),,(min * xμλx x fL 
  13. 13. 弱双対性  ラグランジュ関数の下限は目的関数より常に小さい  よって主問題の最小値(最適解)より小さい )(),,(),,(min xμλxμλx x fLL  ),( μλg 左側から大きくしていくと f(x)の最適解に近づく )(),,(min * xμλx x fL 
  14. 14. 弱双対性  ラグランジュ関数の下限は目的関数より常に小さい  よって主問題の最小値(最適解)より小さい  の最大化問題を双対問題と呼ぶ )(),,(),,(min xμλxμλx x fLL  ),( μλg )(),,(min * xμλx x fL  ),( μλg
  15. 15. 強双対性  強双対:双対問題の最大値が主問題の最小値と一致  凸最適化問題では強双対性が成立する  厳密には凸最適化問題かつSlater条件を満たす場合 )(),( *** xμλ fg 
  16. 16. 強双対性  強双対:双対問題の最大値が主問題の最小値と一致  凸最適化問題では強双対性が成立する  厳密には凸最適化問題かつSlater条件を満たす場合 )(),( *** xμλ fg  強双対性が成立する場合 主問題の代わりに双対問題を最適化する ラグランジュ法
  17. 17. ラグランジュ法の流れ  主問題を双対問題に変換  ラグランジュ関数を作成  ラグランジュ関数の主問題変数に関する下限を計算  ラグランジュ関数を主問題変数で偏微分  偏微分が0になる条件を計算  条件をラグランジュ関数に再代入  双対問題をラグランジュ乗数について最適化  双対問題の最適解から主問題の解を計算
  18. 18. KKT条件:最適解における必要十分条件 0)(,0)(  xx ji hg 0,0  ji  0)( xii g 0 ),,(    x μλxL
  19. 19. KKT条件:最適解における必要十分条件 が主問題の最適解 と が双対問題の最適解 0)(,0)(  xx ji hg 0,0  ji  0)( xii g 0 ),,(    x μλxL 強双対の場合 凸最適化の場合 x λ μ
  20. 20. KKT条件:最適解における必要十分条件 不等式制約関数か ラグランジュ乗数の どちらかはゼロ (スラック相補性) 0)( xii g
  21. 21. Support Vector Data Description
  22. 22. やりたいこと 訓練データ (ラベルなし) 円で囲む
  23. 23. 問題の定式化  標本集合を囲むできるだけ小さな円を求める  i.e., 円の中心座標 と半径 を求める R Rb b
  24. 24. 問題の定式化  標本集合を囲むできるだけ小さな円を求める  i.e., 円の中心座標 と半径 を求める  多少円の外に出る標本があっても OK !  i.e., 各データの遊び を求める(円内では ) R 遊び R b b nu 0nu
  25. 25. 問題の定式化  目的関数  制約条件 線形関数 (凸関数) 凸関数 線形関数 (凸関数) Rb RuR n 2 }{minimize 1 )(2 ,,2   N n n R uCR ub 0 22  bxnnuR 0)( n u
  26. 26. 問題の定式化  目的関数  制約条件 線形関数 (凸関数) 凸関数 線形関数 (凸関数) Rb RuR n 2 }{minimize 1 )(2 ,,2   N n n R uCR ub 0 22  bxnnuR 0)( n u 凸最適化問題 ラグランジュ法の出番
  27. 27. ラグランジュ法の流れ  主問題を双対問題に変換  ラグランジュ関数を作成  ラグランジュ関数の主問題変数に関する下限を計算  ラグランジュ関数を主問題変数で偏微分  偏微分が0になる条件を計算  条件をラグランジュ関数に再代入  双対問題をラグランジュ乗数について最適化  双対問題の最適解から主問題の解を計算
  28. 28. 問題の変換:ラグランジュ関数 0,0where  nn    N n n uCRL 1 )(2 ),,,,( ubR2   N n n n n xuR 1 2)(2 }{ b   N n n nu 1 )(  目的関数 制約条件 制約条件
  29. 29. 問題の変換:ラグランジュ関数の微分 01 1 2     N n n R L  0)(    nnn C u L  022 1 1 )(       N n N n n nn xb b L  ラグランジュ関数に再代入
  30. 30. 問題の変換:双対問題の導出  ラグランジュ関数の下限 ),,,,(min),( 2 ,,2 βαubβα ub RLg R     N n n T nnn N n n T nn 1 '' 1 xxxx 
  31. 31. 問題の変換:双対問題の導出  ラグランジュ関数の下限  制約条件 ),,,,(min),( 2 ,,2 βαubβα ub RLg R     N n n T nnn N n n T nn 1 '' 1 xxxx  n0 n0
  32. 32. 問題の変換:双対問題の導出  ラグランジュ関数の下限  制約条件 ),,,,(min),( 2 ,,2 βαubβα ub RLg R     N n n T nnn N n n T nn 1 '' 1 xxxx  n0 n0 ラグランジュ関数の微分結果から 0)(    nnn C u L 
  33. 33. 問題の変換:双対問題の導出  ラグランジュ関数の下限  制約条件 ),,,,(min),( 2 ,,2 βαubβα ub RLg R     N n n T nnn N n n T nn 1 '' 1 xxxx  Cn 0
  34. 34. ラグランジュ法の流れ  主問題を双対問題に変換  ラグランジュ関数を作成  ラグランジュ関数の主問題変数に関する下限を計算  ラグランジュ関数を主問題変数で偏微分  偏微分が0になる条件を計算  条件をラグランジュ関数に再代入  双対問題をラグランジュ乗数について最適化  双対問題の最適解から主問題の解を計算
  35. 35. 双対問題  目的関数  制約条件 }{ 1 '' 1 maximize    N n n T nnn N n n T nn xxxx α  Cn  0 ラグランジュ乗数の二次式 線形制約
  36. 36. 双対問題  目的関数  制約条件 }{ 1 '' 1 maximize    N n n T nnn N n n T nn xxxx α  Cn  0 ラグランジュ乗数の二次式 線形制約 二次計画問題 SMO法 / 双対座標降下法
  37. 37. ラグランジュ法の流れ  主問題を双対問題に変換  ラグランジュ関数を作成  ラグランジュ関数の主問題変数に関する下限を計算  ラグランジュ関数を主問題変数で偏微分  偏微分が0になる条件を計算  条件をラグランジュ関数に再代入  双対問題をラグランジュ乗数について最適化  双対問題の最適解から主問題の解を計算
  38. 38.  ラグランジュ関数の微分結果より  よって円の中心座標 KKT条件と主問題の解(中心座標)   N n nn 1 ** xb  01 1 2     N n n R L  022 11      N n nn N n n L xb b 
  39. 39. KKT条件と主問題の解(半径)  KKT条件のスラック相補性より 0}{ 2*2*  bxnnn uR 0nun
  40. 40. KKT条件と主問題の解(半径)  KKT条件のスラック相補性より 0}{ 2*2*  bxnnn uR 0nun ラグランジュ関数の微分結果から 0)(    nnn C u L 
  41. 41. KKT条件と主問題の解(半径)  KKT条件のスラック相補性より 0nu)( * nC  0}{ 2*2*  bxnnn uR
  42. 42. KKT条件と主問題の解(半径)  KKT条件のスラック相補性より  を満たす について 0nu)( * nC  Cn  * 0  2*2 bx  nR nx 0}{ 2*2*  bxnnn uR
  43. 43. KKT条件と主問題の解(半径)  KKT条件のスラック相補性より  を満たす について 0nu)( * nC  が円周上に乗ってる (サポートベクトル) nx 0}{ 2*2*  bxnnn uR Cn  * 0  2*2 bx  nR nx
  44. 44. 異常度の計算  円から逸脱してる長さで定義 22 )( Ra  bxx
  45. 45. 実験:正規分布からの学習  平均 / 分散 の正規分布からサンプル生成)2,2( 1
  46. 46. 実験:正規分布からの学習  平均 / 分散 の正規分布からサンプル生成)2,2( 1 C=1.0
  47. 47. 実験:正規分布からの学習  平均 / 分散 の正規分布からサンプル生成 C=0.01C=0.1 )2,2( 1
  48. 48. Kernel Trick
  49. 49. やりたいこと  単一の円で囲むと困る場合  e.g., サンプルが複数のクラスタ上に分布してる  e.g., 円形の分布になってない  もっと柔軟に境界を決めたい
  50. 50. 解決策:非線形写像による境界決定 d次元空間
  51. 51. 解決策:非線形写像による境界決定 x )(x d次元空間 d’次元空間 適当な非線形写像
  52. 52. 解決策:非線形写像による境界決定 d’次元空間 こっちで境界決定 d次元空間
  53. 53. 解決策:非線形写像による境界決定 d次元空間 d’次元空間 元の空間に戻すと 所望の分離になってる
  54. 54. カーネルトリック  実装上で写像計算が必要なところ  二次計画問題の定義  半径の計算  異常度の計算 })()()()({ 1 '' 1 maximize    N n n T nnn N n n T nn xxxx α      N nn N n n T nn T nnn T R 1 1 sup *** supsup 2 2,1 2121 )()(2)()()()( xxxxxx      N nn N n n T nn T nnn Ra 1 2 1 ***T 2,1 2121 )()(2)()()()()( xxxxxxx 
  55. 55. カーネルトリック  実装上で写像計算が必要なところ  二次計画問題の定義  半径の計算  異常度の計算 })()()()({ 1 '' 1 maximize    N n n T nnn N n n T nn xxxx α      N nn N n n T nn T nnn T R 1 1 sup *** supsup 2 2,1 2121 )()(2)()()()( xxxxxx      N nn N n n T nn T nnn Ra 1 2 1 ***T 2,1 2121 )()(2)()()()()( xxxxxxx 
  56. 56. カーネルトリック  写像計算せずに写像後の内積計算だけする  全ての内積計算を内積カーネルで置き換える  写像計算のコストを削減  RBFカーネルで無限次元への写像も可能 )()(),( yxyx  T K 内積カーネル
  57. 57. RBFカーネル  内積カーネルの定義  無限次元上で内積計算をしてることになる }exp{),( 2 yxyx  K       0 222 )exp( ! )2( )exp(}exp{ j jT j y yx xyx   
  58. 58. 実験:混合正規分布からの学習  線形カーネルの場合
  59. 59.  RBFカーネルの場合 実験:混合正規分布からの学習 C=0.1 , σ=0.5C=0.01, σ=0.5
  60. 60.  RBFカーネルの場合 実験:混合正規分布からの学習 C=0.01 , σ=0.01C=0.01, σ=0.1
  61. 61. Thank you!

×