FDA는 linear classifier의 종류로 데이터를 project 시켜 그 분산을 사용하여 적절한 boundary를 찾아내는 방법이다
먼저 데이터를 boundary에 project 시킨 것을 어떻게 나타내는지 알아보자
이렇게 두 벡터가 있을 때 w 벡터에 x 벡터를 투영시킨 위치는 $ w^Tx $로 나타낼 수 있다
두 벡터를 inner product 시킨다면 $ w \cdot x = || w || || x || cos \theta $이고 이 때 $ ||w|| $ 는 1이고 벡터 x를 w에 투영시킨 길이는 $ ||w|| cos\theta $이기 때문이다
이 방법을 사용하여 모든 N개의 데이터를 w 벡터에 투영시켰다고 생각한다면 그 위치들의 평균은 $ \hat{m} = {1 \over N} \sum_{i=1}^N w^Tx_i $이다
모든 데이터의 평균을 $ \hat{\mu} $라고 한다면 $ \hat{m} = w^T\hat{\mu} $라고 표현할 수 있다
$ \begin {matrix} var(W)
&=& {1 \over N} \sum_{i=1}^N ( w^Tx_i - \hat{m} )^2 \\
&=& {1 \over N} \sum_{i=1}^N (w^Tx_i - w^T\hat{\mu} )^2 \\
&=& {1 \over N} \sum_{i=1}^N (w^T(x_i-\hat{\mu})(x_i -\hat{\mu})^Tw \\
&=& w^T [ {1 \over N} \sum_{i=1}^N (x_i-\hat{\mu})(x_i -\hat{\mu})^T]w \\
&=& w^T \sum w \\
\end {matrix} $
이처럼 분산을 표현할 수 있고 이 때 $ \sum $은 convariance matrix를 나타낸다
중간에 $ w^Tx_i - w^T\hat{\mu} $ 가 $ (x_i-\hat{\mu})^Tw $ 로 바뀔 수 있는 것은 두 값이 모두 스칼라 값이기 때문이다
그렇다면 어떻게 분산을 이용하여 linearly seperable한 데이터의 boundary를 찾을 수 있는지 살펴보자
이렇게 두 w벡터에 대해 데이터들을 투영시켰을 때 $ w_1 $벡터가 더 적절하다는 것을 알 수 있다
분산을 사용할 때 고려해본 점이 두가지가 있다
먼저 한 class 내에서 분산이 크고 작은 경우가 있다
이렇게 분산이 작은 경우는 overlap 될 확률이 적어진다고 볼 수 있다
하지만 class 별 분산의 크기만 고려한다면 평균이 비슷한 경우 분산이 작더라도 많이 겹칠수도 있다
따라서 전체 데이터의 분산은 크게, class 별 분산의 크기는 작게 한다면 효율적으로 classifer를 만들어 볼 수 있다
이런 개념을 사용해서 objective function을 $ L(w) = { w^T \sum w \over {N_1 \over N}w^T \sum_1 w + {N_2 \over N}w^T \sum_2 w } $으로 만들어 볼 수 있다
이때 $ N_1 $은 class 1 원소의 개수, $ N_2 $는 class 2 원소의 개수, $ N $은 전체 원소의 개수이다
이를 이용해서 data 개수의 가중치를 적용시켜 줄 수 있다
전체 분산은 크게, class 별 분산은 작게 만들어야 하므로 위 objective function을 작게 maximize 시키는 값이 최적의 값이라고 볼 수 있다
식을 간단하게 만들기 위해 분모를 $ w^T {\sum}_{12} w $라고 쓰고 $ dL(w) \over dw $를 0으로 만들어주는 최적의 w 값을 찾아보자
$$ {dL(w) \over dw} = {1\over (w^T {\sum}_{12} w)^2}{d (w^T \sum w) \over dw} w^T {\sum}_{12} w - {d(w^T {\sum}_{12} w ) \over dw}w^T \sum w $$
이 때 공분산행렬인 $ \sum $은 전치행렬이 원래 행렬과 같기 때문에 $ {d (w^T \sum w) \over dw} = 2\sum w $라고 생각할 수 있다
따라서 최종 derivative는 $ {1\over (w^T {\sum}_{12} w)^2}[{2\sum w} w^T {\sum}_{12} w - {2 {\sum}_{12} w}w^T \sum w ] $ 이다
CSE 4007 : Artifical Intelligence ( Hanyang University )
'AI' 카테고리의 다른 글
[Kaggle] Titanic Competition 타이타닉 생존자 예측하기 (0) | 2021.01.03 |
---|---|
Neural Networks (1) | 2020.10.03 |
Online learning - Perceptron Algorithm (0) | 2020.10.01 |
[Kaggle] Melbourne 집값 예측하기 - 4 Pipelines (0) | 2020.06.15 |
[Kaggle] Melbourne 집값 예측하기 - 3 Categorical Variables (0) | 2020.05.23 |