SVM 【Support Vector Machine】 サポートベクターマシン
概要
SVM(Support Vector Machine)とは、分類や回帰などの問題に適用できる機械学習モデルの一つで、データを2つのクラスを分離する超平面(2次元の場合は直線)のうち、各データから最も離れているものを決定する手法。教師あり学習モデルの一つ。2つの特徴量で表される2次元のデータ群を線形モデルを用いて2種類のクラスに分類する場合、2つのデータ群を最もよく分離することができる直線を求めることになるが、SVMではその候補となる線に最も近いデータ点(これをサポートベクターという)からの距離(マージン)を算出し、両クラスのサポートベクターからの距離が最も遠くなる線を選択する。
2次元のデータを直線で分割する場合だけでなく、様々な特徴量を持つ一般の場合について、多次元空間内の超平面によって分割するモデルを得ることができる。カーネル関数という数学上のテクニックを用いることで、線形分離が困難な非線形の分類問題に適用することもできる。
他の手法に比べると、少ないデータ量でも高い精度のモデルを得ることができ、次元(特徴量の数)が増えても識別精度を維持しやすく、パラメータの調整がしやすいなどの利点がある。一方、学習データが増えると計算量が急激に増大する、原理が2クラス分類であるため多クラス分類に適用しにくい、カーネル関数の処理が重いといった難点も指摘されている。
(2021.10.4更新)