1行定義
サポートベクターマシンとは、クラスの境界と、境界に最も近いデータとの距離(マージン)が最大になるように境界を決める、教師あり学習の手法のことです。
くわしく
サポートベクターマシン(SVM)は、2つのクラスのデータを分ける境界を引く手法です。SVMは、境界と、境界に最も近いデータとの距離(マージン)が最も大きくなる境界を選びます。この考え方をマージン最大化といいます。
なぜマージンを広げるのか
2つのクラスのぎりぎりを通る境界では、少し違う新しいデータが来たとき、反対側に入ってしまいやすくなります。両側のデータからできるだけ離れた位置に境界を置けば、多少のずれがあっても正しく分類しやすくなります。マージンを広げることは、未知のデータへの性能(汎化性能)を高めるための工夫です。
境界に最も近い位置にあり、境界の位置を決めているデータをサポートベクターと呼びます。境界から遠いデータは、少し動かしても境界に影響しません。手法の名前はここから来ています。
ソフトマージンとカーネルトリック
現実のデータは、直線(高次元では超平面)できれいに分けられるとは限りません。そこで、一部のデータがマージンの内側に入ったり誤分類されたりすることを許し、その度合いにペナルティを課すソフトマージンが使われます。ペナルティの重さを決めるパラメータCを大きくすると誤分類を強く嫌い、小さくするとマージンを広くとります。
曲がった境界でなければ分けられないデータには、カーネルトリックを使います。データを高次元の空間に移すと超平面で分けられることがあり、その計算を、実際に移さずに済ませる方法です。
位置づけと注意点
SVMは、ディープラーニングが広まる前から、精度の高い分類手法として広く使われてきました。2クラス分類が基本ですが、複数の分類器を組み合わせて多クラス分類にも使えます。回帰に応用したサポートベクター回帰(SVR)もあります。距離をもとに境界を決めるため、特徴量の標準化が重要です。データ数が非常に多いと、学習に時間がかかりやすい点にも注意が必要です。
G検定での出題
出題のされ方
マージン最大化の考え方、サポートベクターの意味、誤分類を一部許すソフトマージン、線形分離できないデータへのカーネルトリックの適用が問われます。
混同しやすい用語
| 用語 | 意味 |
|---|---|
| サポートベクターマシンこのページの用語 | クラスの境界と、境界に最も近いデータとの距離(マージン)が最大になるように境界を決める、教師あり学習の手法 |
| ロジスティック回帰 | 入力の重み付き和をシグモイド関数に通して0から1の確率を出力し、主に2値分類に使う教師あり学習のモデル |
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
ソフトマージンのSVMでは、一部のデータがマージンの内側に入ることや誤分類されることを許し、その度合いにペナルティを課す。
答えを見る
答え ◯ 正しい
完全には分けられないデータに対応するための考え方です。ペナルティの重さはパラメータCで調整します。
-
SVMは分類専用の手法であり、数値を予測する回帰問題には応用できない。
答えを見る
答え × 誤り
マージンの考え方を回帰に応用したサポートベクター回帰(SVR)があります。
-
SVMは2クラス分類が基本だが、複数の2クラス分類器を組み合わせることで多クラス分類にも使える。
答えを見る
答え ◯ 正しい
1つのクラスとそれ以外を分ける一対他や、2クラスずつ分ける一対一といった組み合わせ方があります。