一クラスSVMは、正常なデータのパターンだけを機械学習によって学習し、そこから外れた未知のデータや異物を異常として検知するための教師なし学習アルゴリズムです。製造ラインの不良品検出や不正アクセス検知など、正常データのみが大量にある状況で広く活用されています。
一クラスSVMとは
一言でいうと一クラスSVMとは、正常なデータだけを学習して、そこから外れたものを異常値として見つけ出す教師なし学習のアルゴリズムです。
詳しく解説
一クラスSVM(One-Class SVM)は、通常のサポートベクターマシン(SVM)を教師なし学習の異常検知に応用した手法です。通常のSVMは分類すべき複数クラスのデータを用いて境界線を引きますが、一クラスSVMでは正常なデータのみを入力として受け取ります。高次元空間上で正常データと原点を分離する超平面を見つけることで、正常データの分布領域を学習します。この仕組みにより、異常データのサンプルが全く得られない環境や、異常の発生頻度が極めて低い場合であっても、高精度な異常検知を実現できるという重要性を持っています。
具体例・使われ方
具体的な利用例として、製造業における工場の製品外観検査が挙げられます。正常な製品の画像データだけを一クラスSVMに学習させておくことで、微細なキズや汚れといった未知の不良品が流れてきた際に自動で検知できます。また、サーバーのアクセスログ監視において、普段とは異なる挙動を示す不正アクセスやサイバー攻撃の早期発見にも応用されています。
似た用語との違い
一般的な二値分類のサポートベクターマシンや、多数の正常・異常データをあらかじめ用意して学習する教師あり学習モデルとは異なり、一クラスSVMは正常データのみでモデルを構築する点が大きく異なります。また、ディープラーニングを用いるオートエンコーダーなどの再構成誤差を利用した手法と比較して、少量のデータでも動作しやすく解釈性が比較的高いという特徴があります。
注意点
注意点として、モデルのハイパーパラメータ調整が結果に大きく影響を与える点が挙げられます。誤って正常データの一部を異常と判定してしまう過学習や、逆に異常を見逃してしまうケースが発生しやすいため、適切なパラメータ選定が必要です。また、ノイズや外れ値が混入した正常データを使って学習してしまうと、検知精度が著しく低下するという限界もあります。