#はじめに
統計の資格試験のために判別分析について勉強したので忘れないように自分メモがてら残しておきます.
#線形判別とは
線形判別(Discriminant analysis)は入力された特徴量に基づいて対応するクラスラベルを出力するための方法である.代表的なものとしてフィッシャー線形判別分析や正準相関分析(CCA) やサポートベクターマシン(SVM)等が挙げられる.
#フィッシャー線形判別
フィッシャー線形判別は主成分分析と同様に、入力された特徴量を低次元空間に射影するための手法である.
つまり与えられた特徴量を最もよく判別するために1次元に射影して判別しようという雰囲気である.
ここまで聞くと主成分分析と同じように聞こえるが主成分分析はサンプルが属する群の情報を使用しないのに対して判別分析はサンプルが所属する群の情報を使用する点で異なる.
####問題設定
最も基本的な場面として2値のラベル判別問題を考える.
観測するデータは群$G_{j},j=1,2,i=1,..,n$に属する
n個のp次元サンプル
\mathbf{x}_{i}^{(j)}=
\begin{pmatrix}
x_{1}^{(j)} \\
\vdots \\
x_{p}^{(j)}
\end{pmatrix}
を1次元空間に射影する.
####次元縮約の方法
ベクトル$\mathbf{w}\in\mathbb{R}^p$による射影を考える.
最終的には群$G_{1}$と$G_{2}$が最もよく分離されるような射影ベクトル$\mathbf{w}$を求めることが目標である.
射影後のサンプルを
y_{i}^{(j)}=\mathbf{w}^T\mathbf{x}_i^{(j)} \qquad j=1,2, i=1,..,n_{j}
とする.
射影後のサンプル$y_{i}^{(j)}$は1次元であり,この射影後のサンプルから群$G_{1}$と$G_{2}$の標本平均を求める.
群$G_{1}$と$G_{2}$の標本平均は群1,2に属するサンプルの平均ベクトルを$\bar{\mathbf{x}}^{(j)}=\frac{1}{n_{j}}\sum_{i=1}^{n_j}\mathbf{x}_{i}^{(j)}$として
\bar{y}^{(j)}=\frac{1}{n_{j}}\sum_{i=1}^{n_j}=\mathbf{w}^T\bar{\mathbf x}^{(j)}, \qquad, j=1,2
2つの群の平均はなるべく離れているように$\mathbf{w}$を定める.しかし平均が離れているだけではうまく2郡に分割できない
例えば$G_{1}$の点が$G_{2}$の点が密集している位置に混ざっていても,平均的には2つのクラスは離れているとみなされてしまう.
つまり2群の分散はなるべく小さい方が適切な境界線を引くには適切である.つまり以下の基準を最大化する$\mathbf{w}$を求める.
\lambda(\mathbf{w})=\frac{クラス間の平均の最大化}{クラス間分散の最小化}
ここで分子は
(\bar{y}^{(1)}-\bar{y}^{(2)})=\mathbf{w}^T(\mathbf{x}^{(1)}-\mathbf{x}^{(2)})
で表される.分子も分母と同様分散の形で 表現するために以下のように変形する.
\mathbf{w}^T(\mathbf{x}^{(1)}-\mathbf{x}^{(2)})(\mathbf{x}^{(1)}-\mathbf{x}^{(2)})^{T}\mathbf{w}
上記が$\lambda(\mathbf{w})$の分子となる.
また,群$G_{j}$($j=1,2$)内の分散は
\frac{1}{n_{j}}\sum_{i=1}^{n_{j}}(y_{i}^{(j)}-\bar{y}_{i}^{(j)})=\mathbf{w}^{T}S_{j}\mathbf{w}
で定義される.
ただし$S_{j}$は群$G_{j}$に含まれるサンプルの標本共分散行列である.$\lambda(\mathbf{w})$の分母はプールした分散
S=\frac{1}{n_{1}-n_{2}-2}((n_{1}-1)S_{1}-(n_{2}-1)S_{2})
を用いて$\mathbf{w}^{t}S\mathbf{w}$と定義される .
つまり
\lambda(\mathbf{w})=\frac{\mathbf{w}^T(\mathbf{x}^{(1)}-\mathbf{x}^{(2)})(\mathbf{x}^{(1)}-\mathbf{x}^{(2)})^{T}\mathbf{w}}{\mathbf{w}^{t}S\mathbf{w}}
を最大にする$\mathbf{w}$を求めれば良い.($\mathbf{w}^T-\mathbf{w}=\mathbf{1}$の制約のもとで)
ラグランジュの未定乗数法を用いて最適な$\mathbf{w}$を求めると$\hat{\mathbf{w}}=S^{-1}(\bar{\mathbf{x}}^{(1)}-\bar{\mathbf{x}}^{(2)})$となる.
ここで新しいサンプル$\mathbf{x}$は$y=\hat{\mathbf{w}}\mathbf{x}$のように射影される.
このサンプルがどちらの群に属するかを判別するには以下の関数の符号によって判別する.
f(\mathbf{x})=\hat{\mathbf{w}}\mathbf{x}-\frac{1}{2}(\bar{\mathbf{x}}^{(1)}-\bar{\mathbf{x}}^{(2)})^{T}S^{-1}(\bar{\mathbf{x}}^{(1)}+\bar{\mathbf{x}}^{(2)})
この関数の符号が正ならば新しいサンプルは群1,負ならば群2に分類すれば良い.
関数$f(\mathbf{x})$をフィッシャー線形判別関数という.