SVM
公開日:2025/05/30

データを最適な超平面で分離するサポートベクターマシン(Support Vector Machine)。マージン最大化により高い汎化性能を実現し、線形・非線形問題の両方に対応可能な強力な機械学習アルゴリズム。
基本原理:
・マージン最大化:クラス間の境界を最大化
・サポートベクター:境界決定に最も重要なデータポイント
・カーネルトリック:高次元空間での線形分離
・正則化による過学習抑制
主要パラメータ:
・C:正則化パラメータ(小さい→アンダーフィット、大きい→オーバーフィット)
・kernel:カーネル関数('linear', 'rbf', 'poly', 'sigmoid')
・gamma:RBFカーネルの幅パラメータ
・degree:多項式カーネルの次数
カーネル関数の選択:
・linear:線形分離可能、高次元データ、解釈性重視
・rbf(ガウシアンカーネル):非線形パターン、最も一般的
・poly:多項式の特徴、特定の非線形パターン
・sigmoid:ニューラルネット類似、特殊用途
実装のベストプラクティス:
・データの標準化は必須
・グリッドサーチによるハイパーパラメータ調整
・交差検証による性能評価
・クラス不均衡の場合はclass_weightを調整
実務での活用例:
・テキスト分類(スパム検知、感情分析)
・画像認識・パターン認識
・バイオインフォマティクス
・金融・リスク分析
・製造業での品質管理
メリット・デメリット:
メリット:高い汎化性能、カーネルトリックによる柔軟性、理論的基盤
デメリット:大規模データで計算コスト高、確率出力なし、解釈困難