サポートベクターマシン(SVM)は、高精度な分類や回帰を実現する教師あり学習の機械学習アルゴリズムです。データ群を最も明確に分割する境界線を引く「マージン最大化」という考え方を基本とし、高次元のデータでも優れた識別能力を発揮します。画像認識やテキスト分類など、多様な分野で広く活用されています。
サポートベクターマシンとは
サポートベクターマシンとは、データを2つのグループに分類するための最適な境界線(超平面)を見つけ出す教師あり学習のアルゴリズムです。境界線と最も近いデータ点(サポートベクター)との距離を最大化するマージン最大化というアプローチにより、未知のデータに対しても高い予測精度を発揮します。
詳しく解説
サポートベクターマシンの基本原理は、2つのクラスを分ける境界と、それぞれのクラスの最も境界に近いデータ点との間の隙間(マージン)を最も広くするマージン最大化にあります。この最も境界に近いデータ点こそが「サポートベクター」と呼ばれ、境界線の決定において決定的な役割を果たします。さらに、線形分離が不可能な複雑なデータに対しては、カーネル法と呼ばれる技術を用いてデータを高次元空間に写像し、線形に分離できるように変換して処理します。これにより、非線形な境界を持つ複雑なパターンであっても極めて高い精度で分類することが可能になります。
具体例・使われ方
サポートベクターマシンは、主にパターンの識別や分類で多くの実績があります。例えば、電子メールのスパム判定や、ニュース記事を特定のカテゴリに自動分類するテキスト分類タスク、さらには手書き文字の認識や画像認識、医療分野におけるがん細胞の検出などで広く実用化されています。少量の学習データであっても安定した性能を発揮しやすい性質から、実務の多くの場面で重宝されます。
似た用語との違い
混同されやすい手法としてロジスティック回帰があります。ロジスティック回帰はデータ全体が特定のクラスに属する確率を予測するのに対し、サポートベクターマシンはマージン最大化により境界線そのものを決定することに特化しており、より外れ値に対して堅牢なモデルを構築できます。また、近年主流のディープラーニングと比べると、サポートベクターマシンはデータ数が少ない場合でも過学習を起こしにくく、計算コストを抑えて構築できるという違いがあります。
注意点
サポートベクターマシンは強力なアルゴリズムですが、学習データの規模が非常に大きくなると、計算量やメモリ消費量が急激に増大するという課題があります。また、適切なカーネル法やハイパーパラメータ(正則化パラメータなど)の選定が性能を大きく左右するため、チューニングに専門的な知見が必要です。加えて、基本的にはブラックボックスなモデルであるため、なぜその分類結果に至ったかという解釈性においては、決定木などの手法に劣る点に注意が必要です。