One-Class SVM(わんくらす えすぶいえむ)
最終更新:2026/4/27
One-Class SVMは、正常データのみを用いて、それ以外の異常データを識別するための教師なし機械学習アルゴリズムである。
別名・同義語 異常検知SVMOne-Class Classification
ポイント
特に異常検知や外れ値検出の分野で利用され、正常データの分布を学習することで、未知のデータが正常範囲から外れているかを判断する。
One-Class SVMとは
One-Class SVM(Support Vector Machine)は、従来のSVMとは異なり、一つのクラス(通常は正常データ)のみを用いて学習を行うアルゴリズムです。これは、異常データが少ない、または異常データの定義が困難な場合に有効です。例えば、製造業における不良品の検出、金融取引における不正検知、ネットワークセキュリティにおける侵入検知などが挙げられます。
原理
One-Class SVMは、学習データ(正常データ)を特徴空間に写像し、そのデータを囲むような超平面を求めます。この超平面は、できるだけ多くの学習データを囲み、かつ原点からの距離が最大になるように決定されます。学習済みのモデルは、新しいデータがこの超平面の内側にあるかどうかを判定することで、正常データであるか異常データであるかを識別します。
パラメータ
One-Class SVMには、主に以下のパラメータがあります。
- ν (ニュー): 異常データの割合を制御するパラメータ。0から1の間の値をとり、値が小さいほど正常データに対する適合度が高くなります。
- kernel (カーネル): 特徴空間への写像関数。線形カーネル、多項式カーネル、RBFカーネルなどが利用可能です。
- γ (ガンマ): カーネル関数のパラメータ。RBFカーネルを使用する場合に重要で、値が大きいほど決定境界が複雑になります。
これらのパラメータを適切に調整することで、モデルの性能を向上させることができます。
利点と欠点
利点:
- 異常データが少ない場合でも有効
- 正常データの分布を学習するだけで済む
- 高次元データにも適用可能
欠点: