혹은 linear discriminant analysis라고 함.
만일, 두개의 class의 average가 같다면? → average 방법으로 classify 하기 힘듦.
또한, mean 외의 covariance도 중요함.
⇒ covariance를 고려하자.
FDA : variance in the projected 1-dim space.
각각의 datum x i {\bf x}_i x i 를 unit vector w {\bf w} w 에 사영하면, 사영된 벡터의 길이 w T x i {\bf w}^T {\bf x}_i w T x i 를 구할 수 있었다.
⇒ 결국 w {\bf w} w 라는 직선 위에 있게 됨.
v a r ( w ) = 1 N ∑ i = 1 N ( w T x i − m ^ ) 2 {\rm var}({\bf w}) = \frac{1}{N} \sum _{i = 1}^N ({\bf w}^T {\bf x}_i - \hat{m})^2 var ( w ) = N 1 i = 1 ∑ N ( w T x i − m ^ ) 2
where m ^ = ∑ w T x i / N \hat{m} = \sum {\bf w}^T {\bf x}_i / N m ^ = ∑ w T x i / N
여기서, 원래의 vector들의 mean을 μ ^ \hat{\boldsymbol\mu} μ ^ 라고 하자. 즉,
μ ^ = 1 N ∑ x i \hat{\boldsymbol\mu} = \frac{1}{N}\sum {\bf x}_i μ ^ = N 1 ∑ x i
이면, m ^ \hat{m} m ^ 은 다음과 같다.
m ^ = w T μ ^ \hat{m} = {\bf w}^T \hat{\boldsymbol\mu} m ^ = w T μ ^
따라서,
v a r ( w ) = 1 N ∑ i = 1 N ( w T x i − m ^ ) 2 = 1 N ∑ i = 1 N ( w T x i − w T μ ^ ) 2 = 1 N ∑ i = 1 N w T ( x i − μ ^ ) ( x i − μ ^ ) T w = w T [ 1 N ∑ i = 1 N ( x i − μ ^ ) ( x i − μ ^ ) T ] ⏟ this is covariance matrix of original vectors. w = w T Σ w \begin{align*}
{\rm var}({\bf w}) &= \frac{1}{N} \sum _{i = 1}^N ({\bf w}^T {\bf x}_i - \hat{m})^2
\\
&= \frac{1}{N} \sum _{i = 1}^N ({\bf w}^T {\bf x}_i - {\bf w}^T \hat{\boldsymbol\mu})^2 \\
&= \frac{1}{N} \sum _{i = 1}^N {\bf w}^T({\bf x}_i - \hat{\boldsymbol\mu})({\bf x}_i - \hat{\boldsymbol\mu})^T{\bf w} \\
&= {\bf w}^T \underbrace{\left[\frac{1}{N} \sum _{i = 1}^N ({\bf x}_i - \hat{\boldsymbol\mu})({\bf x}_i - \hat{\boldsymbol\mu})^T\right]}_{\text{this is covariance matrix of original vectors.}} {\bf w} \\ \\
&= {\bf w}^T \Sigma {\bf w}
\end{align*} var ( w ) = N 1 i = 1 ∑ N ( w T x i − m ^ ) 2 = N 1 i = 1 ∑ N ( w T x i − w T μ ^ ) 2 = N 1 i = 1 ∑ N w T ( x i − μ ^ ) ( x i − μ ^ ) T w = w T this is covariance matrix of original vectors. [ N 1 i = 1 ∑ N ( x i − μ ^ ) ( x i − μ ^ ) T ] w = w T Σ w
여기서 Σ ∈ R D × D \Sigma \in \R^{D \times D} Σ ∈ R D × D 는 공분산행렬을 의미한다.
좌측 그림은, 각 class의 분산이 겹치기 때문에 좋지 못한 classification이지만, 우측의 그림은 서로의 분산이 겹치지 않기에 좋은 classification이다.
Data를 { x i , y i } \{ {\bf x}_i, y_i \} { x i , y i } 라고 하는 것은 익숙하다. 여기서, y i ∈ { 1 , 2 } y_i \in \{1,2 \} y i ∈ { 1 , 2 } 이다.
∣ { i ∣ y i = 1 } ∣ = N 1 |\{ i ~|~ y_i = 1 \}| = N_1 ∣ { i ∣ y i = 1 } ∣ = N 1 이라 하고, ∣ { i ∣ y i = 2 } ∣ = N 2 |\{ i ~|~ y_i = 2 \}| = N_2 ∣ { i ∣ y i = 2 } ∣ = N 2 라 하자. 즉, N = N 1 + N 2 N = N_1 + N_2 N = N 1 + N 2 이다.
비슷하게, class 1의 평균을 μ ^ 1 \hat{\boldsymbol\mu}_1 μ ^ 1 , 공분산을 Σ 1 \Sigma_1 Σ 1 이라 하고, class 2도 비슷하게 진행하자.
즉,
Σ 1 = 1 N 1 ∑ { i ∣ y i = 1 } ( x i − μ ^ 1 ) ( x i − μ ^ 1 ) T \Sigma_1 = \frac{1}{N_1} \sum_{\{i ~|~ y_i = 1 \}} ({\bf x}_i - \hat{\boldsymbol\mu}_1)({\bf x}_i - \hat{\boldsymbol\mu}_1)^T Σ 1 = N 1 1 { i ∣ y i = 1 } ∑ ( x i − μ ^ 1 ) ( x i − μ ^ 1 ) T
따라서, 각 class의 공분산을 최소화 해야 하는 동시에, 각 class의 중심(μ ^ 1 , μ ^ 2 \hat{\boldsymbol\mu}_1, \hat{\boldsymbol\mu}_2 μ ^ 1 , μ ^ 2 ) 가 멀어져야 하므로 전체의 분산을 최대화 해야 한다.
그러므로, L ( w ) L({\bf w}) L ( w ) 를 최대로 하기 위해 식을 구성하면 다음과 같다.
L ( w ) = w T Σ w ( N 1 N ) w T Σ 1 w + ( N 2 N ) w T Σ 2 w L({\bf w}) = \frac{{\bf w}^T \Sigma {\bf w}}{\left(\dfrac{N_1}{N}\right) {\bf w}^T \Sigma_1 {\bf w} + \left(\dfrac{N_2}{N} \right){\bf w}^T \Sigma_2 {\bf w}} L ( w ) = ( N N 1 ) w T Σ 1 w + ( N N 2 ) w T Σ 2 w w T Σ w
당연히, 이는 scalar value를 가진다.
다음과 같이 깔끔한 notation을 정의하자.
Σ 12 = ( N 1 N ) Σ 1 + ( N 2 N ) Σ 2 \Sigma_{12} = \left(\dfrac{N_1}{N}\right) \Sigma_1 + \left(\dfrac{N_2}{N} \right) \Sigma_2 Σ 12 = ( N N 1 ) Σ 1 + ( N N 2 ) Σ 2
그러면,
L ( w ) = w T Σ w w T Σ 12 w L({\bf w}) = \frac{{\bf w}^T \Sigma {\bf w}}{{\bf w}^T \Sigma_{12} {\bf w}} L ( w ) = w T Σ 12 w w T Σ w
d L d w = 2 ( w T Σ w ) 2 ( Σ w w T Σ 12 w − Σ 12 w w T Σ w ) = 0 \frac{{\rm d}L}{{\rm d}{\bf w}} = \frac{2}{({\bf w}^T \Sigma {\bf w})^2} ( \Sigma {\bf w} {\bf w} ^T \Sigma_{12} {\bf w} - \Sigma_{12} {\bf w} {\bf w}^T \Sigma {\bf w} ) = 0 d w d L = ( w T Σ w ) 2 2 ( Σ w w T Σ 12 w − Σ 12 w w T Σ w ) = 0
즉,
Σ w w T Σ 12 w − Σ 12 w w T Σ w = 0 \Sigma {\bf w} {\bf w} ^T \Sigma_{12} {\bf w} - \Sigma_{12} {\bf w} {\bf w}^T \Sigma {\bf w} = 0 Σ w w T Σ 12 w − Σ 12 w w T Σ w = 0
Σ w − w T Σ w w T Σ 12 w Σ 12 w = 0 \Sigma {\bf w} - \frac{{\bf w}^T \Sigma {\bf w}}{{\bf w}^T \Sigma_{12} {\bf w}} \Sigma_{12} {\bf w} = 0 Σ w − w T Σ 12 w w T Σ w Σ 12 w = 0
⇒ Generalized Eigenvector Problem
따라서, Σ w = λ Σ 12 w \Sigma {\bf w} = \lambda \Sigma_{12} {\bf w} Σ w = λ Σ 12 w 를 만족하는 eigenvalue와 eigenvector를 찾으면 된다.
(여기서 λ = L ( w ) \lambda = L({\bf w}) λ = L ( w ) 임을 확인할 수 있다. 따라서, max인 eigenvalue를 선택해야함.)