フィッシャーの線形判別の導出とその理解|問題演習で理解する統計学【10】

下記などで取り扱った、フィッシャーの線形判別に関する問題演習を通した理解ができるように問題・解答・解説をそれぞれ作成しました。

・標準演習$100$選
https://www.hello-statisticians.com/practice_100

基本問題

2クラス分類問題のシンプルな解法

・問題
クラス$C_1$に属するサンプルが$N_1$個、クラス$C_2$に属するサンプルが$N_2$個と考え、これらの2クラス分類問題を考える。また、サンプルは$D$次元ベクトルの$\mathbf{x}_n$と表すこととする。 このとき、下記のように各クラスに含まれるサンプルの平均ベクトルの$\mathbf{m}_1$と$\mathbf{m}_2$を計算する。
$$
\begin{align}
\mathbf{m}_1 &= \frac{1}{N_1} \sum_{n \in C_1} \mathbf{x}_n \\
\mathbf{m}_2 &= \frac{1}{N_2} \sum_{n \in C_2} \mathbf{x}_n
\end{align}
$$

ここで下記のように$D$次元ベクトルの$\mathbf{w}$を考える。
$$
\begin{align}
\mathbf{w} &= \left(\begin{array}{c} w_1 \\ … \\ w_D \end{array} \right) \\
\mathbf{w}^{\mathrm{T}}\mathbf{w} &= \sum_{i=1}^{D} w_i^2 = 1
\end{align}
$$
このとき下記の問題に答えよ。

i) クラス$C_1, C_2$にそれぞれ属するサンプルの平均ベクトルの$\mathbf{m}_1$と$\mathbf{m}_2$の$\mathbf{w}$への正射影の長さをそれぞれ$m_1, m_2$とするとき、$m_1$と$m_2$を$\mathbf{m}_1, \mathbf{m}_2$と$\mathbf{w}$を用いて表せ。
ⅱ) $m_2-m_1$をi)と同様に$\mathbf{m}_1, \mathbf{m}_2$と$\mathbf{w}$を用いて表せ。
ⅲ) ラグランジュの未定乗数法とベクトルを用いた偏微分を用いて、$m_2-m_1$を$\mathbf{w}^{\mathrm{T}}\mathbf{w} = 1$の制約下で最適化する$\mathbf{w}$を求めよ。

・解答
i)
$m_1, m_2$はそれぞれ下記のように求めることができる。
$$
\begin{align}
m_1 &= \mathbf{w}^{\mathrm{T}}\mathbf{m}_1 \\
m_2 &= \mathbf{w}^{\mathrm{T}}\mathbf{m}_2
\end{align}
$$

ⅱ)
i)より$m_2-m_1$は下記のように表すことができる。
$$
\begin{align}
m_2-m_1 &= \mathbf{w}^{\mathrm{T}}\mathbf{m}_2 – \mathbf{w}^{\mathrm{T}}\mathbf{m}_1 \\
&= \mathbf{w}^{\mathrm{T}} (\mathbf{m}_2 – \mathbf{m}_1)
\end{align}
$$

ⅲ)
下記のように解くことができるため、以下では記載を抜粋した。
https://www.hello-statisticians.com/explain-terms-cat/linear_discriminant1.html#i-5
$\displaystyle \mathbf{w}^{\mathrm{T}}\mathbf{w} = \sum_{i=1}^{D} w_i^2=1$の制約の元で、(1)が最大となる$\mathbf{w}$を求めるにあたっては、ラグランジュの未定乗数法に基づいて、下記の最大値問題を解けば良い。
$$
\begin{align}
L(\mathbf{w}, \lambda) &= m_2-m_1 + \lambda(1-\mathbf{w}^{\mathrm{T}}\mathbf{w}) \\
&= \mathbf{w}^{\mathrm{T}} (\mathbf{m}_2-\mathbf{m}_1) + \lambda(1-\mathbf{w}^{\mathrm{T}}\mathbf{w})
\end{align}
$$
上記を$\mathbf{w}$と$\lambda$に関して微分すると下記のようになる。
$$
\begin{align}
\frac{\partial L(\mathbf{w}, \lambda)}{\partial \mathbf{w}} &= \mathbf{m}_2-\mathbf{m}_1 – 2\lambda \mathbf{w} \\
\frac{\partial L(\mathbf{w}, \lambda)}{\partial \lambda} &= 1-\mathbf{w}^{\mathrm{T}}\mathbf{w}
\end{align}
$$
上記がそれぞれ$0$に等しいので、ここから下記のような条件が得られる。
$$
\begin{align} \frac{\partial L(\mathbf{w}, \lambda)}{\partial \mathbf{w}} &= 0 \\
\mathbf{m}_2-\mathbf{m}_1 – 2\lambda \mathbf{w} &= 0 \\
\mathbf{m}_2-\mathbf{m}_1 &= 2\lambda \mathbf{w}
\end{align}
$$
$$
\begin{align}
\frac{\partial L(\mathbf{w}, \lambda)}{\partial \lambda} &= 0 \\
1-\mathbf{w}^{\mathrm{T}}\mathbf{w} &= 0 \\
\mathbf{w}^{\mathrm{T}}\mathbf{w} &= 1
\end{align}
$$
上記より、$\mathbf{m}_2-\mathbf{m}_1$と$\mathbf{w}$が平行であれば、$\displaystyle \mathbf{w}^{\mathrm{T}}\mathbf{w} = \sum_{i=1}^{D} w_i^2=1$の制約の元で、(1)が最大となる。

よって、$\mathbf{w} \propto \mathbf{m}_2-\mathbf{m}_1$と$\mathbf{w}^{\mathrm{T}}\mathbf{w}=1$を満たす$\mathbf{w}$がここで求める$\mathbf{w}$となる。

・解説
i)で取り扱った内積の式が正射影を表していることがわかるまでは難しい印象を受けるかもしれませんが、重要事項なので直感的にイメージがつくまで取り組んで慣れると良いと思います。ⅲ)で出てくるラグランジュの未定乗数を用いた最適化もとにかくよく出てくるので必ず抑えておきましょう。
また、基本的な最適化の問題は1変数で表現されることが多いですが、ⅲ)はベクトルについての最適化であり、偏微分方程式を元にベクトル$\mathbf{w}$の解を求めていることは注意しておくと良いと思います。

郡内分散と群間分散の定義とその理解

・問題
フィッシャーの線形判別では郡内分散$V_W$と群間分散$V_B$を定義してその比の$\displaystyle J(\mathbf{w}) = \frac{V_B}{V_W}$を最大化する$\mathbf{w}$の導出を行う。
ここで、クラス$C_1, C_2$にそれぞれ属するサンプルの平均ベクトルの$\mathbf{m}_1$と$\mathbf{m}_2$の$\mathbf{w}$への正射影の値をそれぞれ$m_1, m_2$とするとき、郡内分散$V_W$と群間分散$V_B$は下記のように定義する。
$$
\begin{align}
V_W &= \sum_{n \in C_1} (y_n-m_1)^2 + \sum_{n \in C_2} (y_n-m_2)^2 \\
V_B &= (m_2-m_1)^2
\end{align}
$$
上記において、$D$次元ベクトルの$\mathbf{x}_n$のベクトル$\mathbf{w}$への正射影の値を$y_n$、$D$次元ベクトルの$\mathbf{m}_1, \mathbf{m}_1$のベクトル$\mathbf{w}$への正射影の値をそれぞれ$m_1, m_2$とする。

これらを元に以下の問いに答えよ。
i) クラス$C_1$内の標本分散を$\displaystyle \sum_{n \in C_1} (y_n-m_1)^2 $を用いて表せ。ただしクラス$C_1$のサンプル数を$N_1$、$C_2$のサンプル数を$N_2$とおくと考えるものとする。
ⅱ) 平均ベクトル$\mathbf{m}_1$と$\mathbf{m}_2$の平均を求めよ。
ⅲ) ⅱ)の結果を用いて、「サンプルの平均からの差の二乗和をサンプルで割る」ことで分散の計算を行え。
iv) $V_W$と$V_B$をi)〜ⅲ)の結果と比較した際に、類似の式の形が得られる一方で、完全には一致しない。このことが許容されるのはなぜか。
v) $\displaystyle J(\mathbf{w}) = \frac{V_B}{V_W}$が最大になる$\mathbf{w}$はどのような特徴を持つと推測できるか考察せよ。

・解答
i)
クラス$C_1$内の標本分散は下記のようになる。
$$
\large
\begin{align}
\frac{1}{N_1} \sum_{n \in C_1} (y_n-m_1)^2
\end{align}
$$

ⅱ)
$\mathbf{m}_1$と$\mathbf{m}_2$の平均ベクトルは下記のように表すことができる。
$$
\large
\begin{align}
\frac{\mathbf{m}_1+\mathbf{m}_2}{2}
\end{align}
$$

ⅲ)
「サンプルの平均からの差の二乗和をサンプルで割る」と考えると、分散は下記のように考えることができる。正射影の$m_1, m_2$を元にここでは考える。
$$
\large
\begin{align}
& \sum_{i=1}^{2} \left( m_i – \frac{m_1+m_2}{2} \right)^2 \\
&= \frac{1}{2} \left( \left( m_1 – \frac{m_1+m_2}{2} \right)^2 + \left( m_1 – \frac{m_1+m_2}{2} \right)^2 \right) \\
&= \frac{1}{2} \left( \left( \frac{m_1-m_2}{2} \right)^2 + \left( \frac{m_2-m_1}{2} \right)^2 \right) \\
&= \frac{1}{2} \left( \frac{(m_2-m_1)^2}{4} + \frac{(m_2-m_1)^2}{4} \right) \\
&= \frac{(m_2-m_1)^2}{8}
\end{align}
$$

iv)
この問題は$\mathbf{w}$の向きに関する最適化であり、ベクトルの定数倍は$\mathbf{w}$の向きを変えないので考えなくて良い。

v)
クラス間分散の$V_B$をクラス内分散の$V_W$で割った指標の$J(\mathbf{w})$を考えることで、クラス内分散が大きくなり過ぎないような向きを導出することができる。

・解説
フィッシャーの線形判別は郡内分散$V_W$と群間分散$V_B$の比の$\displaystyle J(\mathbf{w}) = \frac{V_B}{V_W}$を用いて判別を行う手法です。
導出を確認するにあたって、郡内分散$V_W$と群間分散$V_B$が唐突に出てくるため、この問題ではそれぞれの分散や分散の比の把握がしやすいような流れにしました。群間分散$V_B$の式はⅲ)で導出した式の定数倍であり、方向を考える場合はスカラー倍は無視できることは抑えておくと良いと思います。

発展問題

郡内分散・群間分散と分散共分散行列

・問題
フィッシャーの線形判別では郡内分散$V_W$と群間分散$V_B$を定義してその比の$\displaystyle J(\mathbf{w}) = \frac{V_B}{V_W}$を最大化する$\mathbf{w}$の導出を行う。
ここで、クラス$C_1, C_2$にそれぞれ属するサンプルの平均ベクトルの$\mathbf{m}_1$と$\mathbf{m}_2$の$\mathbf{w}$への正射影の値をそれぞれ$m_1, m_2$とするとき、郡内分散$V_W$と群間分散$V_B$は下記のように定義する。
$$
\begin{align}
V_W &= \sum_{n \in C_1} (y_n-m_1)^2 + \sum_{n \in C_2} (y_n-m_2)^2 \\
V_B &= (m_2-m_1)^2
\end{align}
$$
上記において、$D$次元ベクトルの$\mathbf{x}_n$のベクトル$\mathbf{w}$への正射影の値を$y_n$、$D$次元ベクトルの$\mathbf{m}_1, \mathbf{m}_1$のベクトル$\mathbf{w}$への正射影の値をそれぞれ$m_1, m_2$とする。

これらを元に以下の問いに答えよ。
i) $y_n, m_1$をそれぞれ$\mathbf{x}_n, \mathbf{m}_1, \mathbf{w}$を用いて表せ。
ⅱ) $\displaystyle V_W = \sum_{n \in C_1} (y_n-m_1)^2 + \sum_{n \in C_2} (y_n-m_2)^2$の$y_n, m_1, m_2$を$\mathbf{x}_n, \mathbf{m}_1, \mathbf{m}_2, \mathbf{w}$を用いて書き換えよ。
ⅲ) ⅱ)の式を元に下記を導出せよ。
$$
\begin{align}
V_W = \mathbf{w}^{\mathrm{T}} \left( \sum_{n \in C_1}(\mathbf{x}_n-\mathbf{m}_1)(\mathbf{x}_n-\mathbf{m}_1)^{\mathrm{T}} + \sum_{n \in C_2} (\mathbf{x}_n-\mathbf{m}_2)(\mathbf{x}_n-\mathbf{m}_2)^{\mathrm{T}} \right) \mathbf{w}
\end{align}
$$
iv) 下記を導出せよ。
$$
\begin{align}
V_B = \mathbf{w}^{\mathrm{T}}(\mathbf{m}_2-\mathbf{m}_1)(\mathbf{m}_2-\mathbf{m}_1)^{\mathrm{T}}\mathbf{w}
\end{align}
$$
v) $\displaystyle \sum_{n \in C_1}(\mathbf{x}_n-\mathbf{m}_1)(\mathbf{x}_n-\mathbf{m}_1)^{\mathrm{T}}+\sum_{n \in C_2} (\mathbf{x}_n-\mathbf{m}_2)(\mathbf{x}_n-\mathbf{m}_2)^{\mathrm{T}}$と$(\mathbf{m}_2-\mathbf{m}_1)(\mathbf{m}_2-\mathbf{m}_1)^{\mathrm{T}}$はそれぞれ分散共分散行列であることを説明せよ。

・解答
i)
$y_n, m_1$はそれぞれ下記のようになる。
$$
\large
\begin{align}
y_n &= \mathbf{w}^{\mathrm{T}} \mathbf{x}_n \\
m_1 &= \mathbf{w}^{\mathrm{T}} \mathbf{m}_1
\end{align}
$$

ⅱ)
文字を入れ替えると$V_W$は下記のように表せる。
$$
\large
\begin{align}
V_W &= \sum_{n \in C_1} (y_n-m_1)^2 + \sum_{n \in C_2} (y_n-m_2)^2 \\
&= \sum_{n \in C_1} (\mathbf{w}^{\mathrm{T}}\mathbf{x}_n-\mathbf{w}^{\mathrm{T}}\mathbf{m}_1)^2 + \sum_{n \in C_2} (\mathbf{w}^{\mathrm{T}}\mathbf{x}_n-\mathbf{w}^{\mathrm{T}}\mathbf{m}_2)^2 \\
&= \sum_{n \in C_1} (\mathbf{w}^{\mathrm{T}}(\mathbf{x}_n-\mathbf{m}_1))^2 + \sum_{n \in C_2} (\mathbf{w}^{\mathrm{T}}(\mathbf{x}_n-\mathbf{m}_2))^2
\end{align}
$$

ⅲ)
ⅱ)の結果を元に下記のように導出できる。
$$
\large
\begin{align}
V_W &= \sum_{n \in C_1} (\mathbf{w}^{\mathrm{T}}(\mathbf{x}_n-\mathbf{m}_1))^2 + \sum_{n \in C_2} (\mathbf{w}^{\mathrm{T}}(\mathbf{x}_n-\mathbf{m}_2))^2 \\
&= \sum_{n \in C_1} \mathbf{w}^{\mathrm{T}}(\mathbf{x}_n-\mathbf{m}_1)(\mathbf{x}_n-\mathbf{m}_1)^{\mathrm{T}}\mathbf{w} + \sum{n \in C_2} (\mathbf{x}_n-\mathbf{m}_2)(\mathbf{x}_n-\mathbf{m}_2)^{\mathrm{T}}\mathbf{w} \\
&= \mathbf{w}^{\mathrm{T}} \left( \sum_{n \in C_1}(\mathbf{x}_n-\mathbf{m}_1)(\mathbf{x}_n-\mathbf{m}_1)^{\mathrm{T}}+\sum_{n \in C_2} (\mathbf{x}_n-\mathbf{m}_2)(\mathbf{x}_n-\mathbf{m}_2)^{\mathrm{T}} \right) \mathbf{w}
\end{align}
$$

iv)
i)〜ⅲ)の導出と同様に下記のように導出できる。
$$
\large
\begin{align}
V_B &= (m_2-m_1)^2 \\
&= (\mathbf{w}^{\mathrm{T}} (\mathbf{m}_2-\mathbf{m}_1))^2 \\
&= \mathbf{w}^{\mathrm{T}}(\mathbf{m}_2-\mathbf{m}_1)(\mathbf{m}_2-\mathbf{m}_1)^{\mathrm{T}}\mathbf{w}
\end{align}
$$

v)
分散は「サンプルのベクトルから平均ベクトルを引いた値の二乗和」、共分散は「サンプルのベクトルから平均ベクトルを引いた値の二方向に関しての積の和」であるので、$\displaystyle \sum_{n \in C_1}(\mathbf{x}_n-\mathbf{m}_1)(\mathbf{x}_n-\mathbf{m}_1)^{\mathrm{T}}+\sum_{n \in C_2} (\mathbf{x}_n-\mathbf{m}_2)(\mathbf{x}_n-\mathbf{m}_2)^{\mathrm{T}}$と$(\mathbf{m}_2-\mathbf{m}_1)(\mathbf{m}_2-\mathbf{m}_1)^{\mathrm{T}}$はそれぞれ分散共分散行列である。

・解説
v)で示したように$\displaystyle \sum_{n \in C_1}(\mathbf{x}_n-\mathbf{m}_1)(\mathbf{x}_n-\mathbf{m}_1)^{\mathrm{T}}+\sum_{n \in C_2} (\mathbf{x}_n-\mathbf{m}_2)(\mathbf{x}_n-\mathbf{m}_2)^{\mathrm{T}}$と$(\mathbf{m}_2-\mathbf{m}_1)(\mathbf{m}_2-\mathbf{m}_1)^{\mathrm{T}}$は分散共分散行列です。それぞれを$\mathbf{S}_W, \mathbf{S}_B$とすると、$\mathbf{V}_W, \mathbf{V}_B$は下記のように表すことができることは抑えておくと良いです。
$$
\large
\begin{align}
V_W &= \mathbf{w}^{\mathrm{T}}\mathbf{S}_W\mathbf{w} \\
V_B &= \mathbf{w}^{\mathrm{T}}\mathbf{S}_B\mathbf{w}
\end{align}
$$

フィッシャーの線形判別の導出

・問題
フィッシャーの線形判別では郡内分散$V_W$と群間分散$V_B$を定義してその比の$\displaystyle J(\mathbf{w}) = \frac{V_B}{V_W}$を最大化する$\mathbf{w}$の導出を行う。
最適化にあたっては$J(\mathbf{w})$をベクトル$\mathbf{w}$で微分するが、このときに「ベクトルを用いた微分」と「商の導関数」の理解が必須になる。
「ベクトルを用いた微分」は「PCAの問題」で取り扱ったので、この問題では「商の導関数」の確認から$\mathbf{w}$に関する最適化問題について取り扱う。

関数$f(x), g(x)$を考えた際に$\displaystyle \frac{f(x)}{g(x)}$に関する「商の導関数」の公式は下記のようになる。
$$
\begin{align}
\left( \frac{f(x)}{g(x)} \right)’ = \frac{f'(x)g(x)-g'(x)f(x)}{g(x)^2}
\end{align}
$$
ここまでの内容を元に、下記の問題に答えよ。

i) $\displaystyle h(x) = \frac{1}{g(x)}$を考えた際に、合成関数の微分の考え方に基づいて$h(x)’$を計算せよ。
ⅱ) i)の結果と$f(x), g(x)$に関する積の導関数の公式の$(f(x)g(x))’ = f'(x)g(x) + f(x)g'(x)$を用いて下記の商の導関数の公式を導出せよ。
$$
\begin{align}
\left( \frac{f(x)}{g(x)} \right)’ = \frac{f'(x)g(x)-g'(x)f(x)}{g(x)^2}
\end{align}
$$
ⅲ) 下記のように$\nabla, J(\mathbf{w})$を考えるとき、$\nabla J(\mathbf{w})$を計算せよ。
$$
\begin{align}
\nabla = \frac{\partial}{\partial \mathbf{w}} &= \left(\begin{array}{c} \frac{\partial}{\partial w_1} \\ … \\ \frac{\partial}{\partial w_p} \end{array} \right) \\
J(\mathbf{w}) &= \frac{V_B}{V_W} \\
&= \frac{\mathbf{w}^{\mathrm{T}}\mathbf{S}_B\mathbf{w}}{\mathbf{w}^{\mathrm{T}}\mathbf{S}_W\mathbf{w}}
\end{align}
$$
iv) ⅲ)の結果を利用して$\nabla J(\mathbf{w}) = 0$が成立するための$\mathbf{w}$の条件を求めよ。
v) iv)の結果を解釈せよ。

・解答
i)
合成関数の微分の公式より、下記のように計算できる。
$$
\large
\begin{align}
h(x)’ &= \left( \frac{1}{g(x)} \right)’ \\
&= -\frac{1}{g(x)^2} \cdot g'(x) \\
&= -\frac{g'(x)}{g(x)^2}
\end{align}
$$

ⅱ)
積の導関数の公式とi)の結果より、下記のように導出できる。
$$
\large
\begin{align}
\left( \frac{f(x)}{g(x)} \right)’ &= (f(x)h(x))’ \\
&= f'(x)h(x) + h'(x)f(x) \\
&= \frac{f'(x)}{g(x)} – \frac{g'(x)}{g(x)^2} \\
&= \frac{f'(x)g(x)}{g(x)^2} – \frac{g'(x)f(x)}{g(x)^2} \\
&= \frac{f'(x)g(x) – g'(x)f(x)}{g(x)^2}
\end{align}
$$

ⅲ)
下記のように$\nabla J(\mathbf{w})$は計算することができる。
$$
\large
\begin{align}
\nabla J(\mathbf{w}) &= \nabla \frac{\mathbf{w}^{\mathrm{T}}\mathbf{S}_B\mathbf{w}}{\mathbf{w}^{\mathrm{T}}\mathbf{S}_W\mathbf{w}} \\
&= \frac{\nabla(\mathbf{w}^{\mathrm{T}}\mathbf{S}_B\mathbf{w})(\mathbf{w}^{\mathrm{T}}\mathbf{S}_W\mathbf{w}) – \nabla(\mathbf{w}^{\mathrm{T}}\mathbf{S}_W\mathbf{w})(\mathbf{w}^{\mathrm{T}}\mathbf{S}_B\mathbf{w})}{(\mathbf{w}^{\mathrm{T}}\mathbf{S}_W\mathbf{w})^2} \\
&= \frac{2\mathbf{S}_B\mathbf{w}(\mathbf{w}^{\mathrm{T}}\mathbf{S}_W\mathbf{w}) – 2\mathbf{S}_W\mathbf{w}(\mathbf{w}^{\mathrm{T}}\mathbf{S}_B\mathbf{w})}{(\mathbf{w}^{\mathrm{T}}\mathbf{S}_W\mathbf{w})^2}
\end{align}
$$

iv)
ⅲ)の結果の$(\mathbf{w}^{\mathrm{T}}\mathbf{S}_W\mathbf{w}), (\mathbf{w}^{\mathrm{T}}\mathbf{S}_B\mathbf{w}$)はそれぞれスカラーであることに注意しながら偏微分方程式$\nabla J(\mathbf{w}) = 0$を解くと、下記のようになる。
$$
\large
\begin{align}
\nabla J(\mathbf{w}) &= 0 \\
\frac{2\mathbf{S}_B\mathbf{w}(\mathbf{w}^{\mathrm{T}}\mathbf{S}_W\mathbf{w}) – 2\mathbf{S}_W\mathbf{w}(\mathbf{w}^{\mathrm{T}}\mathbf{S}_B\mathbf{w})}{(\mathbf{w}^{\mathrm{T}}\mathbf{S}_W\mathbf{w})^2} &= 0 \\
2\mathbf{S}_B\mathbf{w}(\mathbf{w}^{\mathrm{T}}\mathbf{S}_W\mathbf{w}) &= 2\mathbf{S}_W\mathbf{w}(\mathbf{w}^{\mathrm{T}}\mathbf{S}_B\mathbf{w}) \\
\mathbf{S}_B\mathbf{w}(\mathbf{w}^{\mathrm{T}}\mathbf{S}_W\mathbf{w}) &= \mathbf{S}_W\mathbf{w}(\mathbf{w}^{\mathrm{T}}\mathbf{S}_B\mathbf{w}) \\
(\mathbf{w}^{\mathrm{T}}\mathbf{S}_W\mathbf{w})\mathbf{S}_B\mathbf{w} &= (\mathbf{w}^{\mathrm{T}}\mathbf{S}_B\mathbf{w})\mathbf{S}_W\mathbf{w} \\
\mathbf{S}_W\mathbf{w} & \propto \mathbf{S}_B\mathbf{w} \\
\mathbf{S}_W\mathbf{w} & \propto (\mathbf{m}_2-\mathbf{m}_1)(\mathbf{m}_2-\mathbf{m}_1)^{\mathrm{T}}\mathbf{w} \\
\mathbf{S}_W\mathbf{w} & \propto (\mathbf{m}_2-\mathbf{m}_1) \\
\mathbf{w} & \propto \mathbf{S}_W^{-1}(\mathbf{m}_2-\mathbf{m}_1)
\end{align}
$$

v)
iv)の結果は、$J(\mathbf{w})$を最大にする$\mathbf{w}$は二つのクラスの平均ベクトルの差に、郡内分散の共分散行列の逆行列の$\mathbf{S}_W^{-1}$を左からかけた方向になるということを意味している。

・解説
ここで取り扱った計算については複雑である一方で、教科書では途中の計算が省略されることが多い内容であるので、なるべく導出の流れがわかりやすいような問題となるように設定を行いました。

フィッシャーの線形判別の具体例

・問題
前述の問題」を前提とし、平均ベクトルの差の$(\mathbf{m}_2-\mathbf{m}_1)$が下記のように得られた場合を元に考える。

$$
\begin{align}
\mathbf{m}_2-\mathbf{m}_1 = \left(\begin{array}{c} -1 \\ 1 \end{array} \right)
\end{align}
$$

このとき、「前述の問題」の結果を用いて、郡内分散の共分散行列$\mathbf{S}_W$が下記のようにそれぞれ与えられる場合の$J(\mathbf{w})$を最大にする$\mathbf{w}$について求めよ。

i)
$$
\begin{align}
\mathbf{S}_W = \left(\begin{array}{cc} 1 & 0 \\ 0 & 1 \end{array} \right)
\end{align}
$$
ⅱ)
$$
\begin{align}
\mathbf{S}_W = \left(\begin{array}{cc} 1 & 0.7 \\ 0.7 & 1 \end{array} \right)
\end{align}
$$
ⅲ)
$$
\begin{align}
\mathbf{S}_W = \left(\begin{array}{cc} 1 & 1 \\ 1 & 1 \end{array} \right)
\end{align}
$$
iv)
$$
\begin{align}
\mathbf{S}_W = \left(\begin{array}{cc} 1 & 0 \\ 0 & 2 \end{array} \right)
\end{align}
$$
v)
$$
\begin{align}
\mathbf{S}_W = \left(\begin{array}{cc} 1 & 0.5 \\ 0.5 & 2 \end{array} \right)
\end{align}
$$

・解答
それぞれ$\mathbf{S}_W$の逆行列の$\mathbf{S}_W^{-1}$を計算し、$\displaystyle \mathbf{m}_2-\mathbf{m}_1 = \left(\begin{array}{c} -1 \\ 1 \end{array} \right)$に左から作用させれば良い。

i)
$$
\large
\begin{align}
\mathbf{w} & \propto \mathbf{S}_W^{-1}(\mathbf{m}_2-\mathbf{m}_1) \\
&= \left(\begin{array}{cc} 1 & 0 \\ 0 & 1 \end{array} \right) \left(\begin{array}{c} -1 \\ 1 \end{array} \right) \\
&= \left(\begin{array}{c} -1 \\ 1 \end{array} \right)
\end{align}
$$

ⅱ)
$$
\large
\begin{align}
\mathbf{w} & \propto \mathbf{S}_W^{-1}(\mathbf{m}_2-\mathbf{m}_1) \\
& \propto \left(\begin{array}{cc} 1 & -0.7 \\ -0.7 & 1 \end{array} \right) \left(\begin{array}{c} -1 \\ 1 \end{array} \right) \\
&= \left(\begin{array}{c} -1.7 \\ 1.7 \end{array} \right)
\end{align}
$$

ⅲ)
$$
\large
\begin{align}
\mathbf{w} & \propto \mathbf{S}_W^{-1}(\mathbf{m}_2-\mathbf{m}_1) \\
& \propto \left(\begin{array}{cc} 1 & -1 \\ -1 & 1 \end{array} \right) \left(\begin{array}{c} -1 \\ 1 \end{array} \right) \\
&= \left(\begin{array}{c} -2 \\ 2 \end{array} \right)
\end{align}
$$

iv)
$$
\large
\begin{align}
\mathbf{w} & \propto \mathbf{S}_W^{-1}(\mathbf{m}_2-\mathbf{m}_1) \\
& \propto \left(\begin{array}{cc} 2 & 0 \\ 0 & 1 \end{array} \right) \left(\begin{array}{c} -1 \\ 1 \end{array} \right) \\
&= \left(\begin{array}{c} -2 \\ 1 \end{array} \right)
\end{align}
$$

v)
$$
\large
\begin{align}
\mathbf{w} & \propto \mathbf{S}_W^{-1}(\mathbf{m}_2-\mathbf{m}_1) \\
& \propto \left(\begin{array}{cc} 2 & -0.5 \\ -0.5 & 1 \end{array} \right) \left(\begin{array}{c} -1 \\ 1 \end{array} \right) \\
&= \left(\begin{array}{c} -2.5 \\ 1.5 \end{array} \right)
\end{align}
$$

・解説
$\displaystyle \mathbf{m}_2-\mathbf{m}_1 = \left(\begin{array}{c} -1 \\ 1 \end{array} \right)$のように定義したことで、i)〜ⅲ)までの結果はどれも同じ向きの結果が得られたことは着目しておくと良いと思います。

参考書籍

・「パターン認識と機械学習(PRML)」

「フィッシャーの線形判別の導出とその理解|問題演習で理解する統計学【10】」への1件の返信

コメントは受け付けていません。