4.5 分離超平面
2つのクラスを「まっすぐな境界」で分ける。これが分離超平面の基本的なアイデアです。
「どうやって境界を決めるか?」という問いに対する2つのアプローチ—パーセプトロンの試行錯誤と最適分離超平面のマージン最大化—を学びます。一見シンプルなこの問題が、なぜ機械学習の歴史で重要な位置を占めるのか。一緒に見ていきましょう。
分離の直感
データを分類したい。例えば、メールがスパムかどうか、画像が猫か犬か。
ここでは、最もシンプルな状況を考えましょう。2つのクラスがあり、それらが「きれいに分かれている」場合です。
赤い点と青い点が平面上に散らばっているとします。この2つのグループを分ける「境界線」を引けるでしょうか?
実は、きれいに分かれている場合、無数の境界線が引けます。どの線を選ぶべきか?ここに、興味深い問題が隠れています。

この境界線を数学的に表現してみましょう。
2次元の場合、直線は次のように書けます:
これをベクトルでまとめて書くと:
直感的に言えば:
- $f(x) = 0$ の点は、ちょうど境界線の上にいる
- $f(x) > 0$ の点は、境界線の「こちら側」にいる(例:赤クラス)
- $f(x) < 0$ の点は、境界線の「あちら側」にいる(例:青クラス)
境界線に対して垂直な方向を向いているのが $\beta$。この $f(x)$ の符号を見れば、どちら側にいるかがわかるのです。
パーセプトロン - 試行錯誤で学ぶ
では、どうやって境界線を見つければいいのでしょうか?
1958年に提案されたパーセプトロンは、驚くほどシンプルなアイデアに基づいています:
- 適当な境界線からスタート
- 間違って分類された点を見つける
- その点の方向へ境界を少し調整
- 間違いがなくなるまで繰り返す
人間が間違いから学ぶように、パーセプトロンも「間違い」を手がかりに成長します。

パーセプトロンの更新ルールは、驚くほどシンプルです。
間違って分類された点 $x_i$ を見つけたら、境界のパラメータを次のように更新します:
なぜこれで動くのか?
$y_i$ はクラスラベル(+1か-1)です。間違って分類された点に対して、その点の方向に $\beta$ を動かすことで、$f(x_i)$ の値が正しい符号に近づきます。
$\rho$ は「学習率」と呼ばれます。一度にどれだけ動かすかを決めるパラメータで、小さすぎると学習が遅く、大きすぎると行ったり来たりして不安定になります。
パーセプトロンの限界
パーセプトロンは賢いアルゴリズムですが、大きな弱点があります。
同じデータでも、毎回違う答えが出る可能性があるのです。
2つのクラスが直線で分けられる場合(これを「線形分離可能」と言います)、パーセプトロンは必ず正しく分類できる境界を見つけます。これは数学的に証明されています。
しかし...どの境界に収束するかは、初期値と学習順序に依存します。どれも「正解」ではありますが、どれが「最良」かはわかりません。

さらに深刻な問題:直線で分けられないデータでは、永遠に収束しません。
ここで自然な疑問が生まれます。「最良」の境界とは何でしょうか?
マージン - 余裕を持つ
「最良」の境界とは何か。ここで重要な概念が登場します:マージン(余裕)。
境界線から最も近い点までの距離、これをマージンと呼びます。
直感的に考えてみてください。境界がデータ点のすぐそばを通っている場合、新しいデータが少しずれただけで誤分類される危険があります。
逆に、境界が両クラスから十分離れていれば、多少のノイズにも強くなります。
マージンを最大化する境界 - これが「最適分離超平面」の考え方です。

最適分離超平面
マージンを最大化する問題を考えましょう。
目標は明確です:すべての点を正しく分類しながら、境界から最も近い点までの距離(マージン)を最大にする。
この問題には、ある素晴らしい性質があります。「最適な境界は一意に決まる」のです。
パーセプトロンのように「どの解になるかわからない」という問題がありません。どんな初期値から始めても、同じ「最良」の境界にたどり着きます。

数学的には、次の問題を解きます:
制約条件(すべての点について):
この制約は「すべての点が境界から十分離れている」ことを保証します。
$y_i$ はクラスラベル(+1か-1)で、$y_i (x_i^T \beta + \beta_0)$ が正であれば正しく分類されています。それが1以上、つまりマージンの外にいることを要求しているのです。
サポートベクトル
最適分離超平面には、興味深い性質があります。
解を決めるのは、マージン境界上にある点だけです。これらの点をサポートベクトルと呼びます。
他の点をどこに動かしても(マージンの外にいる限り)、最適な境界は変わりません。解は、ほんの数個のサポートベクトルだけで完全に決まるのです。
この性質は、後にサポートベクターマシン(SVM)として大きく発展することになります。

最適解を求めると、境界を決めるパラメータ $\beta$ は次の形で表されます:
ここで $S$ はサポートベクトル(マージン境界上の点)の集合です。
つまり、境界の位置を決めているのは、マージン境界上にある数個の点だけ。他の点は、どこにあっても影響しません。
まとめ - 2つのアプローチの対比
分離超平面を見つける2つのアプローチを学びました。
- 間違いを減らす方向に学習
- シンプルで直感的
- 解は初期値に依存
- 直線で分けられないデータでは収束しない
- マージンを最大化
- 解は一意に決まる
- サポートベクトルのみが解を決定
- 未知のデータに対する予測力が高い

最適分離超平面の考え方は、後にカーネル法と組み合わされ、サポートベクターマシン(SVM)として発展します。非線形な境界も扱えるようになり、1990年代から2000年代にかけて機械学習の主要な手法となりました。
シンプルな「直線で分ける」という発想から、これほど豊かな理論が生まれる。数学の美しさを感じませんか?