One-Class SVM わんくらすえすぶいえむ
One-Class SVM異常検知教師なし学習正常データのみ学習ニューラルネット境界
One-Class SVMについて教えて
簡単に言うとこんな感じ!
「正常なデータのパターンだけ」を学習して境界を作り、そこから外れたものを異常と判断するSVMベースの異常検知手法だよ。異常データが全く手に入らない状況でも使えるのが強み。ただし大規模データではIsolation Forestの方が速いんだ!
One-Class SVMとは
One-Class SVM(OCSVM)は、SVMを1クラス分類(異常検知)に応用した手法です。正常データのみで学習し、正常データが高密度に分布する領域を超平面で囲むことで「正常の境界」を定義します。境界の外側にある新しいデータを異常と判定します。
通常のSVMとの違い
通常のSVM(2値分類):
クラスA(正常)│ クラスB(異常)
↑ 2クラスを分ける境界
One-Class SVM:
┌────────────────────────┐
│ 正常データが集まる領域 │ ← この境界を学習
└────────────────────────┘
境界の外 = 異常
主なハイパーパラメータ
| パラメータ | 役割 |
|---|---|
| nu(ν) | 外れ値の割合の上限(0〜1)。汚染率の事前推定 |
| kernel | カーネルの種類(RBFが一般的) |
| gamma | RBFカーネルの幅 |
Isolation Forestとの比較
| 比較項目 | One-Class SVM | Isolation Forest |
|---|---|---|
| 速度 | 遅い(O(n²)) | 速い |
| スケーラビリティ | 低い | 高い |
| 解釈性 | 低い | 低い |
| カーネル | 使える | 使えない |
歴史と背景
- 1999年:Scholkopf らが提案(NIPS 1999)
- 現在:中小規模の教師なし異常検知に使用。大規模はIsolation Forestが主流
関連用語
- SVM — One-Class SVMの基礎理論
- 異常検知 — One-Class SVMが解決するタスク
- Isolation Forest — 大規模データ向けの代替手法
- LOF — 密度ベースの代替手法