【DS検定対策】境界線の余白を最大化せよ!SVMの核心「マージン」とサポートベクター
分類アルゴリズムの王様と呼ばれる「サポートベクターマシン(SVM)」。データをただ2つに分けるだけでなく、最も判定が難しいギリギリのデータからの「距離(余白)」を最大に保つことで、高い予測精度を実現しています。
1. 【 問題 】
サポートベクターマシン(SVM)において、学習用データの中で「決定境界(データを分ける線)」に最も近いデータ点(サポートベクター)と、決定境界との間の「距離(余白)」のことを何と呼ぶでしょうか?
① マージン
② コストパラメータ
③ スラック変数
④ ラグランジュ乗数
2. 【 解答 】
3. 整理:図でイメージするSVMの「マージン最大化」
言葉の定義だけでなく、SVMがどのように境界線を引いているのか、その仕組みをスッキリ整理しましょう!
【 機械学習(SVM)の境界線の引き方 】
2つのグループ(例えば「○」と「×」)を綺麗に分ける中心線。
・サポートベクター:
決定境界のすぐ近くに位置する、境界線に最も近い「ギリギリのデータ点」。
・マージン(Margin):
サポートベクターから決定境界までの「距離(安全余白)」。
★ なぜマージンを大きくする(最大化する)のか?
2つのデータを分ける線(決定境界)自体は、実はいくらでも引くことができます。
しかし、境界線がデータギリギリを攻めていると、新しく入ってきた未知のデータに対応できず誤判定を起こしやすくなります。
そこでSVMは、「両方のグループの最寄りデータから、一番距離(マージン)が広くなる真ん中に線を引く」ことで、未知のデータに対しても誤判定しにくい強固なモデル(高い汎化性能)を作り出しているのです。
4. 試験で絶対に出る「ハードマージン」と「ソフトマージン」
検定試験において、マージンとセットで出題されるのがこの2つのアプローチの違いです。
| 種類 | 特徴 | メリット・デメリット |
|---|---|---|
| ハードマージン | データの「誤分類(間違い)を一切許さない」厳密な分け方。データが綺麗に直線で分けられる場合(線形分離可能)のみ使える。 | ノイズや外れ値に弱く、現実の複雑なデータには適用しにくい。 |
| ソフトマージン ★実務の主流 |
現実のデータは多少混ざり合っているため、「多少の誤分類(間違い)を許容しながら」マージンを最大化する分け方。 | スラック変数やハイパーパラメータ(C値)を調整して柔軟にモデル化できる。 |
5. DS検定形式:実戦4択クイズ
問:サポートベクターマシン(SVM)に関する記述として、最も適切なものはどれか。
① マージンを決定する際に必要なデータは、決定境界から遠く離れた外れ値データのみであり、境界近くのデータは無視される。
② ソフトマージンSVMにおいて、ペナルティを表すハイパーパラメータ(C値)を非常に大きく設定すると、誤分類を許容する柔軟なモデルになる。
③ 直線で分けることができない非線形なデータに対しては、カーネル関数を用いて高次元空間に写像することで直線的に分離できるようにする。
④ 決定木を並列にたくさん作成し、多数決によって予測結果を出力するアンサンブル学習アルゴリズムである。
【 正解: ③ 】
解説: SVMのもう一つの大目玉である「カーネル法(カーネルトリック)」の説明です。
①境界近くのデータ(サポートベクター)こそが決定境界を決めます。
②ハイパーパラメータ C を大きくすると「誤分流を許さない(ハードマージンに近づく)」方向に向かいます。
④はランダムフォレストなどの説明です。直線で分けられないデータ(非線形)を次元を上げてバシッと直線(超平面)で切るのが「カーネル関数」の役割です!
6. まとめ
DS検定や情報処理技術者試験において「SVMで決定境界に最も近いデータと決定境界との距離」と聞かれたら、正解は「マージン」です。 「サポートベクター(最寄りのデータ)」と「マージン(余白の最大化)」、そして「カーネル法(非線形対応)」の3点セットで、機械学習分野の得点を確実にゲットしていきましょう!