この問題のテーマ・前提知識
- テーマ: サポートベクトルマシン(SVM)・多項式カーネル・線形判別分析(LDA)の比較
- 前提知識: ハードマージンSVMの仕組みとサポートベクトルの定義 / 多項式カーネル \(K(x, x’) = (x \cdot x’)^p\) の次数と表現力 / 線形判別分析(LDA)が全データの平均・共分散を使う仕組み
問題の概要
2つの小問からなる。[1] 1次元データに対してハードマージンSVMで完全判別するために必要な多項式カーネルの最小次数 \(p\) を求める。[2] 境界から遠いデータ点を除去したときに判別境界が変化するかどうか、SVMと線形判別分析それぞれについて答える。
解説
解法の方針:[1] 判別関数の符号変化回数(境界の数)を数え、それを実現できる多項式の最小次数を求める。[2] SVMがサポートベクトルのみに依存する性質と、LDAが全データの統計量を使う性質を対比して影響の有無を判断する。
[1]
データの判別境界を数学的に表現すると、以下の判別関数 \(r(x)\) で完全に分類できる。
\[r(x) = \text{sign}\{(x-3)(x-1)(x+1)(x+3)\} = \text{sign}(x^4 – 10x^2 + 9)\]
カーネルによる構成
4 次の多項式カーネルを用いれば、適切な係数 \(a_i\) を選ぶことで、上記の 4 次式 \(r(x)\) を構成できる。
従って、ハードマージンSVMで完全に判別するために必要な最小の次数は \(p=4\) と結論付けられる。
符号の変化回数(境界の数)
図1の \(x\) 軸付近(\(y \approx 0\))に注目すると、データ点は \(x\) の値が \(-4, -2, 0, 2, 4\) に近い位置に存在している。
これらの点の間で正負が入れ替わるためには、判別関数の符号が 5回以上変わる 必要がある。
次数の不足
もし次数が 3 以下であれば、判別関数は 3 次以下の多項式となる。3 次関数では、符号の変化(\(x\) 軸との交点)は最大でも 3 回までしか表現できないため、このデータを完全に判別することは不可能である。
以上より、最小の次数は \(p=4\) である。
[2]
サポートベクトルマシン (SVM)
- 特徴
SVMは、クラスを分ける境界線に最も近いデータ点(サポートベクトル)のみに依存して境界を決定する。 - 影響
サポートベクトル以外の観測値は、境界の決定に一切関与していない。そのため、境界から遠いデータを除去しても、最適化の結果得られる判別直線は全く変化しない。
線形判別分析 (LDA)
- 特徴
線形判別分析は、与えられたすべての観測値を用いて、各クラスの平均や分散などの統計量を推測する。 - 影響
境界から遠いデータであっても、それを除去すればクラス全体の平均値や分布の形状(共分散行列)の推定値が変化する。その結果、推論される判別直線の位置や傾きに影響が及ぶのである。
よくある質問
Q. なぜ次数 \(p=3\) では足りないのですか?
3次多項式は \(x\) 軸との交点(符号の変化)が最大3回しか持てない。今回のデータは \(x \approx -3, -1, +1, +3\) の4箇所で正負が切り替わる必要があるため、交点が4つ必要な4次以上の多項式でなければ完全判別できない。
Q. SVMで境界から遠いデータを除いても結果が変わらないのはなぜですか?
SVMの最適化問題の解はサポートベクトル(マージンを決める最近傍のデータ点)のみで決まり、それ以外のデータ点の双対変数は0になる。境界から遠いデータはサポートベクトルではないため、取り除いても最適解に影響しない。
Q. LDAで「境界から遠いデータ」を除くと何が変わるのですか?
LDAはクラスごとの標本平均と(共)分散行列を推定し、それを用いて境界を決める。境界から遠いデータも平均・分散の計算に含まれているため、そのデータを除くと推定値が変化し、結果として判別境界の位置・向きが変わる。



コメント