Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
oneclasssupportvectormachine
Search
yuki
January 31, 2021
0
5.7k
oneclasssupportvectormachine
yuki
January 31, 2021
Tweet
Share
More Decks by yuki
See All by yuki
240315_発表資料_清水.pdf
yuyumoyuyu
2
560
230315_symposium
yuyumoyuyu
1
410
220305_kenkyukai
yuyumoyuyu
2
63
221124_kenkyukai
yuyumoyuyu
0
300
voltageequation5
yuyumoyuyu
0
8.2k
210910_kenkyukai
yuyumoyuyu
0
210
210826_bumontaikai
yuyumoyuyu
0
84
voltageequation4
yuyumoyuyu
9
10k
210518_iemdc
yuyumoyuyu
0
78
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1366
200k
Designing for Performance
lara
604
68k
The Cult of Friendly URLs
andyhume
78
6k
Faster Mobile Websites
deanohume
305
30k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.8k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
What's in a price? How to price your products and services
michaelherold
243
12k
Fashionably flexible responsive web design (full day workshop)
malarkey
405
65k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.8k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Transcript
1クラスサポートベクターマシン One-Class Support Vector Machine OCSVM 大阪府立大学 工学研究科 清水 悠生
2 はじめに ✓ 本記事はサポートベクターマシンの知識を 前提で構成しているので 先にこちら↓を読まれることを推奨します ✓ https://yuyumoyuyu.com/2021/01/24/supportvectormachine/
3 教師なし学習(自己教師あり学習) ✓ サポートベクターマシン(分類)やサポートベクター 回帰では,入力と出力のペアが与えられていた ⇒教師あり学習 ✓ 1クラスサポートベクターマシン(OCSVM)では 入力データのみが学習データとして与えられる ⇒教師なし学習(自己教師あり学習)
✓ OCSVMは異常検知etcに用いられ, 正常データ(+少数の異常データ)を用いて学習を行う
4 2クラス分類SVMと1クラスSVMの違い ✓ 1クラスSVMの根本的な考え方は2クラス分類のSVMと 同様で,分類境界によって正常/異常を分類する ✓ ただし1クラスSVMではクラスラベルが与えられない! Class A Class
B x 1 x 2 正常 異常 x 1 x 2 = T + = 0 > 0 < 0 = T + = 0 > 0 < 0 2クラス分類SVM 1クラスSVM
5 1クラスSVMの問題点 ✓ 異常データが極端に少ない or 全くないため 分類境界をいかようにも引けてしまう ✓ 異常/正常のラベルは与えられないため 何をもって異常データとするかの指標が必要!
正常 異常 x 1 x 2 分類境界 = 0 正常? 異常? x 1 x 2 明らかに外れていると わかりやすい 明らかじゃないと わかりづらい 案2 案1 案3
6 原点付近を異常データとみなす! ✓ 原点付近のデータを異常データとみなす ✓ 原点に近ければ異常,原点から遠ければ正常と判断 x 1 x 2
異常 データ ሚ = T 境界の決定関数は次式 評価関数を = T + と定義し,次のように判断 ሚ :0に近い小さい値 ⇒異常! ሚ :0から離れた大きい値 ⇒正常! = 0 ሚ = 0 ⟺ = ここで ሚ ≥ としている (後ほど説明)
7 正常データが原点に近い場合は? ✓ 標準化したデータなど,原点付近にサンプルが 散らばっている場合が多い ✓ 正常データが原点から遠くになるように 適切な非線形写像を選択する! (例えば,下図だと Φ(x)=x2
とか) 非線形写像: ⟼ x 1 x 2 Φ(x 1 ) Φ(x 2 )
8 カーネル関数による非線形写像の表現 ✓ 非線形写像は非負のカーネル関数によって表現 ✓ 評価関数の値によって異常/正常を判断する ሚ = T =
=0 , 非線形写像後の評価関数 双対表現 ሚ :0に近い小さい値 ⇒異常! ሚ :0から離れた大きい値 ⇒正常!
9 カーネル関数のイメージ ✓ カーネル関数は2つの入力ベクトルのデータの類似度を表現 ✓ 入力データに似た(=正常の可能性が高い)データは 評価関数の値が大きくなる ሚ =
=0 , = =0 exp − − 2 RBFカーネル exp − − 2 − 2 xとx(i)の (ユークリッド)距離が 近い 遠い 近いと大きい 遠いと小さい 評価関数(RBFカーネルの例)
10 1クラスSVMのマージン最大化(ハードマージン) ✓ ハードマージンでの1クラスSVMの分類境界は 原点からのマージンを最大化するように決定 x 1 x 2 異常
データ Φ(x 1 ) Φ(x 2 ) マージン 元空間でのイメージ
11 1クラスSVMのマージン最大化(ソフトマージン) ✓ ソフトマージンでの1クラスSVMの分類境界は 原点に近い異常データ(外れ値)がマージン内部に 侵入するのを許容 x 1 x 2
異常 データ Φ(x 1 ) Φ(x 2 ) 元空間でのイメージ 外れ値と思われる データをマージン内に!
12 1クラスSVMの定式化 ✓ 1クラスサポートベクターマシンの分類境界を 下記のように定義 = T − = 0
1クラスSVMの分類境界 > 0 :バイアス Φ(x 1 ) Φ(x 2 ) = 0 マージン:
13 マージン最大化問題の定式化 ✓ 1クラスSVMのマージン最大化問題は 次式のように定式化できる ✓ 以降,サポートベクター回帰の定式化と類似する点が多いためこちらも要参照 ✓ https://yuyumoyuyu.com/2021/01/10/supportvectorregression/ min
, 1 2 2 − + 1 =0 max 0, − T − 1クラスSVMのマージン最大化問題 マージン の最大化 分類境界を超えて異常と判断する データ数の最小化 > 0 :ハイパー パラメータ = 0 第3項目 > 0 第3項目 = 0
14 1クラスSVMの主問題 スラック変数による主問題の導出 ✓ スラック変数を導入することで 前頁の問題を制約あり最適化問題に変換する min ,, 1 2
2 − + 1 =0 . . ≥ − T − , ≥ 0 = 0, … , ここで = 0 , … , T
15 ラグランジュの未定乗数法による変換 ✓ ラグランジュの未定乗数法により主問題を max-min問題に変換する max ≥,≥ min ,, ,
, , , , , , , = 1 2 2 − + 1 =0 − =0 T − + − =0 以下は全て新たに 導入する非負の変数 = 0 , … , T = 0 , … , T ラグランジュ関数の導入 変換したmax-min問題 この問題が主問題と等価 であることの証明は省略 (参考文献参照) min ,, 1 2 2 − + 1 =0 . . ≥ − T − , ≥ 0 = 0, … ,
16 ラグランジュ関数の主変数による最小化 ✓ ラグランジュ関数は主変数に対して微分可能であるため 各主変数で偏微分して0とすることで関係式を求める (偏微分して0となる点で最小となる) = − =0
= ⇔ = =0 = −1 + =0 = 0 ⇔ =0 = 1 = 1 − − = 0, = 0,1, … , , , , , = 1 2 2 − + 1 =0 − =0 T − + − =0 ラグランジュ関数 主変数による偏微分
17 主変数を削除する ✓ 前ページで求めた関係式をラグランジュ関数に適用し 双対変数のみの関数に変形(主変数に対して最小化する) が計算過程で削除できるため のみの関数となる! , , ,
, = 1 2 2 − + 1 =0 − =0 T − + − =0 = 1 2 2 + =0 1 − − − =0 T − 1 − =0 = 1 2 =0 =0 T − =0 =0 T = − 1 2 =0 =0 T = − 1 2 =0 =0 , まとめる 関係式を適用 まとめる = =0 , =0 = 1 1 − − = 0, = 0,1, … , 偏微分による関係式
18 双対問題が完成 ✓ 双対変数の非負条件と偏微分で得られた関係式から 下記の範囲制約が求まる 0 ≤ , 0 ≤
= 1 − ⟹ 0 ≤ ≤ 1 ✓ よって,双対問題は次式のように求まる ✓ 双対問題を解くと α が求められる max − 1 2 =0 =0 , s. t. =0 = 1, 0 ≤ ≤ 1 = 0, … , 1クラスSVMの双対問題
19 分類境界の双対表現 ✓ 分類境界を双対表現すると次式の通り = T − = =0
, − = 0 1クラスSVMの分類境界
20 ハイパーパラメータ ν の役割 ✓ ハイパーパラメータ ν は学習データの偽陽性率を調整 ✓ ν
を大きくすると異常と判定される学習データが増加 = 0.01 = 0.05 = 0.1 = 0.3 分類境界 正常 異常