サポートベクターマシン(SVM)におけるマージン最大化の公式と覚え方

こんにちは。ゆうせいです。

データを2つのグループに分類する機械学習の代表的なアルゴリズムとして、サポートベクターマシンがあります。サポートベクターマシンは、境界線を引いてデータを分ける際に、境界線とデータとの間の隙間をできる限り広く確保するように学習します。この隙間を専門用語でマージンと呼び、隙間を広げる作業をマージン最大化と呼びます。今回は、基礎知識を持たない方に向けて、マージン最大化の仕組み、公式の覚え方、そして特徴を解説します。

マージン最大化とは何か

マージン最大化は、2つのグループを隔てる境界線と、その境界線に最も近いデータとの距離を最大にする手法です。

高校の運動会で行う綱引きを例に考えてみます。中央に引かれた白い境界線の近くに両チームの選手が密集していると、わずかな足の滑りや判定の揺らぎで勝敗の判断が曖昧になります。しかし、境界線と両チームの最前列にいる選手との間に広い空きスペースが確保されていれば、どちらの陣地にいるかを明確に判定できます。

この空きスペースの幅がマージンに該当し、境界線のすぐ近くに位置して境界の位置を決める基準となるデータをサポートベクターと呼びます。サポートベクターマシンは、この隙間の幅を可能な限り大きく広げることで、未知のデータが来た際にも誤った分類をしにくい頑健な境界線を設定します。

マージン最大化の公式と覚え方

境界線を表す決定境界の方程式は、重みベクトル w と入力データ x 、バイアス b を用いて次のように表されます。

w · x + b = 0

2つのグループを分ける基準として、境界線の両側にサポートベクターが位置する補助線を引きます。それぞれの補助線の方程式は次の通りです。

w · x + b = 1

w · x + b = -1

この2本の補助線の間隔が、求めるマージンの幅となります。ベクトルの長さ(ノルム)を ||w|| と表すと、マージンの幅 M を求める公式は分数を用いて次のように定義されます。

M = \frac{2}{\Vert{}w\Vert{}}

覚え方の手順

公式の形を記憶する際は、構成要素を3つの段階に分けて捉えます。

  1. 基準の幅を確認する:補助線の右辺である 1 と -1 の差を計算すると、全体の基準となる幅は 1 - (-1) = 2 になります。この数値 2 が分数の分子に配置されます。
  2. 重みの長さで割る:境界線の傾きや向きを決定する重みベクトルの長さ ||w|| で基準の幅を割ることで、実際の空間における距離へと縮尺を調整します。
  3. 公式を導出する:分子に 2 、分母に重みベクトルのノルムを置くことで、マージンは 2/||w|| となります。

覚え方の基本は「マージン=2/||w||」という関係です。境界線を挟んだ2つのグループの基本幅である2を、重みベクトルの長さで割って間隔を算出すると捉えることで、式の形を迷わずに導き出せます。

なお、マージン M を最大化するためには、分母にある ||w|| を最小化する必要があります。計算を簡略化するため、実際の最適化計算では 2 分の 1 に ||w|| の 2 乗を掛けた値を最小化する問題へと変形して解かれます。

マージン最大化のメリットとデメリット

マージン最大化を用いたサポートベクターマシンには、幾何学的な性質に基づいた特徴があります。

メリット

  • 未知のデータに対する予測性能が高い:境界線とデータとの間に十分な距離が確保されているため、新しいデータが多少ばらついても誤分類が発生しにくくなります。
  • 境界の決定に関わるデータが少数で済む:境界線の位置は境界付近にあるサポートベクターのみによって決定され、境界から遠く離れた大半のデータは計算結果に影響を与えません。
  • 解の一意性が保たれる:数学的に明確な最適化問題を解くため、同じ学習データを与えれば常に同一の最適な境界線が求まります。

デメリット

  • 計算時間がデータの増加に伴って増大する:データ数が非常に多くなると、サポートベクターの選定や最適化の計算にかかる時間が大幅に増加します。
  • ノイズや外れ値の影響を受ける:境界付近に誤ったデータや外れ値が入り込むと、マージンを適切に確保できなくなり、境界線全体の配置が歪む原因となります。

まとめ

サポートベクターマシンのマージン最大化は、2つのグループを隔てる境界線とデータとの間の隙間を最も広く取るための手法です。そのマージンの幅は、補助線の間隔である 2 を重みベクトルの長さ ||w|| で割った「2/||w||」という公式で表されます。マージンを広げることと重みベクトルの長さを小さくすることが表裏一体の関係にあるという構造を捉えることで、公式の意味を体系的に把握できます。

マージン最大化の基礎を理解した後は、外れ値を一定程度許容して柔軟に境界線を引く「ソフトマージン」の概念を確認することをお勧めします。さらに、直線では分離できないデータを高次元空間へ写像して分離する「カーネル法」の計算手法を学ぶことで、サポートベクターマシンを用いた高度な分類手法を順序立てて習得できます。

投稿者プロフィール

山崎講師
山崎講師代表取締役
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
海外放浪の末、2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。

学生時代は趣味と実益を兼ねてリゾートバイトにいそしむ。長野県白馬村に始まり、志賀高原でのスキーインストラクター、沖縄石垣島、北海道トマム。高じてオーストラリアのゴールドコーストでツアーガイドなど。現在は野菜作りにはまっている。