サポートベクトルとは、機械学習アルゴリズムであるサポートベクトルマシンにおいて、クラス間の境界線を決定づける最も境界に近いデータ点のことです。境界とデータの距離であるマージンを最大化する際に直接関与し、モデルの汎用性を支える重要な役割を果たします。
サポートベクトルとは
サポートベクトルとは、データを分類する境界(超平面)の位置や傾きを決定するために必要不可欠な、境界の最も近くに位置するデータ点(ベクトル)のことです。
詳しく解説
機械学習の分類手法であるサポートベクトルマシン(SVM)では、異なるクラスのデータを最も綺麗に分ける境界線を学習します。この境界線から最も近いデータ点までの距離をマージンと呼び、SVMはこのマージンを最大化するように決定境界(超平面)を配置します。このとき、境界の決定に直接影響を与える境界直近のデータ点そのものがサポートベクトルです。境界から離れた大多数のデータはモデルの数式上無視されるため、サポートベクトルのみを保持することで効率的かつ外れ値に対して頑健な学習が可能になります。また、カーネル法を用いることで高次元空間へデータを写像した場合でも、同様にサポートベクトルによって非線形な境界が定義されます。
具体例・使われ方
例えば、赤と青のボールが散らばっている平原にフェンス(超平面)を建てて2つのグループを分ける場面を考えます。このとき、お互いに一番近づいている最前線の赤のボールと青のボール数個がサポートベクトルに該当します。フェンスの位置は最前線のボールの位置だけで決まり、後方にいくらボールが増えてもフェンスの配置は変わりません。
似た用語との違い
サポートベクトルは境界決定に直接関わる「特定のデータ点」を指すのに対し、サポートベクトルマシンはそれを利用した「機械学習アルゴリズム全体」を指します。また、一般的な統計モデルではすべてのデータ点がパラメータ推定に影響を与えますが、SVMではサポートベクトル以外のデータ点が移動しても境界が変化しないという決定的な違いがあります。
注意点
データにノイズや強い外れ値が含まれている場合、それらが不適切にサポートベクトルとして選ばれてしまい、境界が歪んで汎化性能が落ちる恐れがあります。これを防ぐために、ある程度の誤分類やマージン違反を許容するソフトマージンという仕組みを適切に設定する必要があります。