統計学

【統計検定準1級】2019年6月 論述問題 問3【解答例・解説】

この問題のテーマ・前提知識

  • テーマ: 二次判別分析(QDA)・線形判別分析(LDA)・カーネルSVM・手法選択の根拠
  • 前提知識: ベイズの定理 / 多変量正規分布の密度関数 / カーネル法の基礎

 

 

問題の概要

2クラス判別問題(クラスラベル \(y=1, -1\))を扱う。各クラスが二次元正規分布に従うと仮定したとき、[1] ベイズの定理から二次判別関数 \(f_q(x) = x^\top Ax + b^\top x + c\) の係数を導出し、判別境界が一次式になる条件を求める。[2] 与えられた経験統計量から係数行列 \(A\) と \(b\) を数値計算する。[3] 多項式カーネルSVMの判別関数がやはり二次関数で表せることを示す。[4] このデータセットに対してQDAとSVMのどちらが適切かを理由とともに論じる。

 

 

解説

解法の方針:[1] ベイズの定理で事後確率の対数比を作り、正規分布の密度関数を代入して二次判別関数の係数を整理。境界が線形になる条件は \(\Sigma_1=\Sigma_2\)。[2] 経験値を [1] の式に代入して \(A\), \(b\) を算出。[3] 多項式カーネル \(k(x,\tilde{x})=(x^\top\tilde{x}+1)^2\) を展開し、SVM判別式が二次形式で書けることを示す。[4] データ生成分布(二次元正規)が既知である点から、QDAがベイズ最適であることを根拠に選択を判断。

[1]

ベイズの定理を用いると、クラス \(y=1\) である事後確率は、

\[\Pr(y=1|x) = \frac{p(x|y=1)\Pr(y=1)}{p(x)}\]

と書ける。

ここで、各クラスの事前確率 \(\Pr(y=1) = \Pr(y=-1)\) と仮定すると、対数比は次のように整理される。

\[\log \frac{\Pr(y=1|x)}{\Pr(y=-1|x)} = \log p(x|y=1) – \log p(x|y=-1)\]

ここに二次元正規分布 \(N(\mu, \Sigma)\) の密度関数を代入し、 \(x\) について整理すると、判別関数 \(f_q(x) = x^\top Ax + b^\top x + c\) の係数は以下のようになる。

  • 行列 \(A\):\(A = -\frac{1}{2}(\Sigma_1^{-1} – \Sigma_2^{-1})\)
  • ベクトル \(b\):\(b = \Sigma_1^{-1}\mu_1 – \Sigma_2^{-1}\mu_2\)

判別関数が \(x\) の一次関数になるためには、二次形式の項 \(x^\top Ax\) が消える必要がある。
すなわち、 \(A = O\)(零行列) となればよい。

これは \(\Sigma_1 = \Sigma_2\)、つまり「2つのクラスの分散共分散行列が等しい」ときである。
このとき、判別境界は直線(または超平面)となる。

[2]

与えられた経験平均 \(\hat{\mu}\) と経験分散共分散行列 \(\hat{\Sigma}\) を [1] の結果に代入すると、

\[A = \begin{pmatrix} 2.63 & 0 \\ 0 & 2.11 \end{pmatrix}, \quad b = (9.75, 8.23)^\top\]

\(A\) が対角行列であり、対角要素が正であることから、この判別境界は楕円(または双曲線)に近い形状の二次曲線を描くことがわかる。

[3]

データから直接境界を学習する SVM を考える。

多項式カーネル \(k(x, \tilde{x}) = (x^\top \tilde{x} + 1)^2\) を用いた場合、判別関数 \(f_s(x)\) もまた \(x\) の二次関数として表すことができる。

カーネル関数の定義を展開すると、

\[k(x, x_i) = (x^\top x_i + 1)^2 = (x^\top x_i)^2 + 2x^\top x_i + 1\]

となる。

これを SVM の判別式 \(f_s(x) = \sum \alpha_i y_i k(x, x_i) + \beta\) に代入して整理すると、新しい係数 \(\tilde{A}, \tilde{b}\) はサポートベクトル \(x_i\) を用いて、

\[\tilde{b} = 2 \sum_{i \in SV} \alpha_i y_i x_i\]

\[\tilde{A} = \sum_{i \in SV} \alpha_i y_i x_i x_i^\top\]

と表せる。

[4]

結論として、「このデータセットに対しては、二次判別分析(QDA)の方が適当である」 といえる。

その理由は以下の通りである。

  1. データ生成モデルとの整合性
    問題文で「データは二次元正規分布に従う」と明示されている。
    統計学において、データの生成過程(母集団の分布)がわかっている場合、その分布に基づいたベイズ最適解(ここではQDA)が理論上の最小誤り率を達成する。
  2. パラメータ推定の効率
    正規分布を仮定できる場合、平均と分散を計算するだけでモデルが確定する。
    一方、SVM はデータ境界付近の点(サポートベクトル)のみに依存して境界を決めるため、データの背後にある全体的な分布構造を必ずしも十分に活用できない。

逆に、以下のような場合には SVM が適している。

  • データの分布が正規分布から大きく外れている場合(ロバスト性が必要な時)。
  • 分布の形が不明で、高次元の複雑な境界を引きたい場合。
  • 外れ値の影響を抑えたい場合。

つまり、理論的な裏付け(正規分布の仮定)があるなら QDA、データから柔軟に境界を見つけたいなら SVM を選ぶのが定石である。

 

 

よくある質問

Q. LDA(線形判別分析)とQDAの違いは何ですか?

LDAはクラス間で分散共分散行列が等しい(\(\Sigma_1=\Sigma_2\))と仮定するため、判別境界が直線(超平面)になる。QDAはその仮定を置かないので境界が二次曲線になる。本問の [1] で導いた通り、\(A=O\) になるか否かがその分岐点。

Q. カーネルSVMの係数 \(\tilde{A}\) はなぜサポートベクトルだけで決まるのですか?

SVMの最適解ではKKT条件により \(\alpha_i=0\)(サポートベクトルでない点)が成立する。そのためサポートベクトル以外の点は判別式に寄与せず、係数はサポートベクトルのみの和として表せる。

Q. 正規分布が仮定できる場合でもSVMを使うメリットはありますか?

サンプルサイズが小さく分散共分散行列の推定が不安定な場合、境界付近の少数点だけに依存するSVMの方がロバストなケースがある。ただし本問のように生成分布が明示されているならQDAが理論的に優位。

 

 

コメント