SVMの深化 — 回帰・カーネル表現定理・汎化理論

「Cはどう決めるのか?」「分類以外にも使えるのか?」「なぜSVMは汎化能力が高いのか?」 パスアルゴリズム・SVM回帰・表現定理・VC次元・PDA——SVMの理論的深さと応用の広がりを探ろう。

パスアルゴリズム — Cを動かすと何が変わるか

SVMには正則化パラメータCがある。 Cが大きいと訓練誤差を厳しく罰し、Cが小さいと誤分類を許容する余裕が生まれる。

問題は「最適なCをどう決めるか」だ。交差検証でひとつひとつ試すのは計算コストが高い。

パスアルゴリズムは、λ = 1/Cを連続的に動かしながら、 効率的に全解を計算する手法だ。

λの変化に伴うサポートベクターの変化とα_iプロファイルのアニメーション
左:マージン帯が徐々に狭まり点がサポートベクターになる。右:各点のラグランジュ乗数α_iが区分的線形に増加する。

λが大きい(余裕たっぷり)状態から始めよう。このとき、すべての訓練点はマージンの内側にあり、 各点のラグランジュ乗数αi = 0だ。

λを小さくしていく(マージンを狭める)と、点が次々とマージン境界を越えていく。 境界上の点はαi ∈ (0, 1)、境界の外の点はαi = 1になる。

重要な観察:この「点がどのグループに属するか」の変化は区分的線形だ。 変化点(ブレークポイント)でのみグループが切り替わる。 つまり、すべてのλに対するSVMの解は、線形補間で効率的に求められる。 これがパスアルゴリズムの核心だ。

$$f_\lambda(x) = \frac{1}{\lambda}\sum_{i=1}^N \alpha_i y_i K(x, x_i)$$

各記号の意味:

回帰のためのSVM — ε-insensitiveロス

SVMは分類だけではない。量的な予測(回帰)にも適用できる。

通常の回帰は「予測誤差の2乗」を最小化する。しかし外れ値があると結果が大きく歪む。 SVM回帰はε-insensitiveロスという巧みな損失関数を使う。

ε-insensitive lossの直感的理解:ε幅の管とスパース解
ε幅の帯の内側にある点は損失ゼロ(緑)。外側の点だけが損失を生む(赤い線=損失の大きさ)。帯の幅εを変えるとサポートベクターの数が変わる。

「誤差がε以下なら損失ゼロ」というルールだ。 これは「ε幅の管(ε-tube)の中に予測が収まれば問題なし」というイメージだ。 管の外に出た点だけが損失を生む。しかも損失は線形(絶対値)で計算される。 外れ値に対してもべき乗的に拡大しないのだ。

$$V_\varepsilon(r) = \begin{cases} 0 & \text{if } |r| < \varepsilon \\ |r| - \varepsilon & \text{otherwise} \end{cases}$$

この設計の利点は二つある:

目的関数全体はこうなる:

$$H(\beta, \beta_0) = \sum_{i=1}^N V_\varepsilon(y_i - f(x_i)) + \frac{\lambda}{2}\|\beta\|^2$$

そして予測式は分類SVMと同じ内積の形になるため、カーネルトリックがそのまま使える:

$$\hat{f}(x) = \sum_{i=1}^N (\alpha_i^* - \bar{\alpha}_i)\langle x, x_i\rangle + \hat{\beta}_0$$

カーネルと表現定理 — 無限次元から有限解へ

カーネルトリックの深さを理解するために、一歩引いて考えてみよう。

基底関数h1(x), h2(x), …, hM(x)で入力を変換する。 例えば多項式、スプライン、動径基底関数など。変換後に線形回帰・分類を行う。 Mをどんどん増やせば(場合によっては無限大に)、非線形な関係を柔軟に捉えられる。 しかし計算コストは爆発する。

無限次元基底関数がN個のカーネル点に収束する表現定理の視覚化
左:多数の基底関数(灰色の波)が複雑なパターンを作る。右:N個の訓練点(赤点)を中心としたガウシアンカーネルの線形結合で同じパターンを表現できる。

表現定理はこう言う: 正則化付き問題の解は、必ず訓練データ点上のカーネル関数の線形結合で書ける。

$$\hat{f}(x) = \sum_{i=1}^N \hat{c}_i K(x, x_i), \quad K(x_i, x_j) = \sum_{m=1}^M h_m(x_i)h_m(x_j)$$

M個の基底関数を使っても、最終的な解はN個の訓練データに関するカーネル評価だけで決まる。 MがどんなにNより大きくても、N×Nの計算で解ける。

解を求めるのは次のN×N行列方程式だけだ:

$$\hat{c} = (\mathbf{K} + \lambda\mathbf{I})^{-1}\mathbf{y}$$

KはN×Nのグラム行列でKij = K(xi, xj)。 基底関数の数Mが何百万でも、N×Nの逆行列計算だけで解ける。

これがカーネルトリックの本質だ。 無限次元の関数空間での最適化問題が、有限個の実数を求める問題に帰着する。 スムージングスプライン、SVM、ガウス過程回帰——これらはすべてこの枠組みの特殊例だ。 カーネルが違うだけで、同じ数学的構造を持つ。

SVMの汎化理論 — なぜ大きなマージンは強いのか

SVMを理解する上で、「なぜ大きなマージンが良いのか」という理論的根拠が重要だ。

VC次元の枠組みを使って考えよう。 VC次元hは「その分類器クラスが完全に分類できるデータ点の最大数」を表す。 通常、高次元の特徴空間を使うと、VC次元も爆発的に増える。過学習のリスクが増す。

マージンとVC次元・汎化誤差の関係
上:小マージン(細い帯)と大マージン(太い帯)の対比。下:マージン幅が増えるとVC次元が下降する(緑曲線)。赤点=小マージン時の高いVC次元、青点=大マージン時の低いVC次元。

SVMの美しい結果:マージンを大きくすれば、高次元でもVC次元を制限できる

半径R以内の球に収まるデータを分類するとき、‖β‖ ≤ Aという制約を課すと:

$$h \leq R^2 A^2$$

係数ベクトルβのノルムA(= 1/マージン)を小さくすれば、VC次元が下がる。 つまり、汎化誤差の理論的上界が下がる。

$$\text{テスト誤差} \leq \sqrt{\frac{h\left[\log(2N/h) + 1\right] - \log(\eta/4)}{N}}$$

各記号の意味:R = データの半径、A = ‖β‖の上界(マージンが大きいほどAが小さい)、N = サンプル数。

これはSVMが「マージン最大化」に執着する理由だ。 単に訓練データを正確に分けるだけでなく、理論的に証明された汎化能力の向上を狙っている。

ただし実際には、理論的な誤差上界は甘く、交差検証の方が実用的なことが多い。 それでも、「大きなマージン = 良い汎化」という直感は理論に裏付けられている。

ペナルティ判別分析 — 画像・音声認識への応用

画像認識の問題を考えよう。手書き数字を認識するタスクだ。

16×16ピクセルのグレースケール画像を特徴量として使う。256次元だ。 LDA(線形判別分析)を使うとき、256個の特徴量の係数を推定する。 しかし問題がある。隣り合うピクセルは強く相関しているのに、LDAはその情報を無視する。 また、サンプル数Nが特徴量数p(=256)と比べて大きくないと、推定が不安定になる。

LDAとPDAの係数パターンの比較(16x16グリッド)
左:LDAの係数を16×16グリッドで可視化——隣り合うセルが白黒交互になるノイジーなパターン。右:PDAでは空間的に滑らかなグラデーションパターンが現れる。

LDAで求めた判別関数の係数を画像として可視化すると、「ソルト&ペッパー」ノイズまみれの模様になる。 隣り合うピクセルの係数がランダムに正負を行き来している。

ペナルティ判別分析(PDA)はこの問題を解く。 ペナルティ項として「隣り合うピクセルの係数が大きく変化しないように」制約を加える。

$$\text{ASR}(\{\theta_\ell, \beta_\ell\}) = \frac{1}{N}\sum_{\ell=1}^L\left[\sum_i(\theta_\ell(g_i) - h^\top(x_i)\beta_\ell)^2 + \lambda\beta_\ell^\top\Omega\beta_\ell\right]$$

Ωは「空間的平滑さ」を促すペナルティ行列だ。これはFDA(柔軟判別分析)のペナルティ版——FDA in enlarged spaceとも言える。

Ωはドメイン知識を組み込む:

結果として、判別関数の係数を画像として見ると、滑らかで解釈しやすいパターンが現れる。 さらに、未知データへの汎化性能も約25%向上する。

つながりを見る — SVMとカーネル手法の統一的視点

本章を通じて見えてきたことがある。 SVM、スムージングスプライン、カーネル回帰、PDA——これらは表面上は全く違う手法に見える。

SVM・スムージングスプライン・PDAの統一フレームワーク
中心(カーネル + ペナルティ + 最適化)から3方向に分岐:SVM(RBFカーネル、青)、スムージングスプライン(滑らかな曲線、緑)、PDA(グリッドパターン、赤)。

しかし、すべて同じ数学的枠組みで理解できる:

「特徴空間への写像 + 正則化(ペナルティ)+ 最適化」

手法特徴空間損失関数ペナルティ
SVM分類カーネル空間ヒンジロス‖β‖²
SVM回帰カーネル空間ε-insensitive‖β‖²
スムージングスプライン基底展開二乗ロス2次微分
PDA基底展開二乗ロス空間ラプラシアン

カーネルが違い、損失関数が違い、ペナルティが違う。しかし構造は同じ。

表現定理が保証するのは、 「どの手法でも解は訓練データ点上のカーネル評価の線形結合で書ける」ということだ。

この統一的視点を持つことで、新しい問題に対して 「どんなカーネルを使うか」「どんな損失が適切か」「どんなペナルティが自然か」 という問いから出発できるようになる。 それがSVMを学ぶことの本当の価値だ。