[Data Analysis 개념] LDA와 QDA의 이해

2020. 7. 9. 16:58ML in Python/Knowledge

 

 LDA는 간단하게 말해서 집단간의 분산대비 평균의 차이는 최대로 하는 Dicision Boundary를 찾아내는 방법이다.

그리고, QDA를 알기 위해서는 LDA에 대해서 먼저 알아볼 필요가 있다. 

 

LDA의 직관적 이해

다음 그림을 먼저 봐보자.

 위에 나타난 1,2,3 데이터를 잘 구분하기 위해서 어떤 선을 그어야 하는가? 여러 방법이 있지만, 그 중 하나가 바로 LDA이다. LDA는 기본적으로 두 가지 가정을 한다. 

1. 각 집단은 정규분포형태의 확률분포를 갖는다

2. 각 집단은 비슷한 형태의 공분산 구조를 갖는다

위의 1,2,3을 나눈 방법

 이 두 가지 가정하에서 LDA를 보통 적용한다. 위의 선은 가상으로 각 집단들을 나눈 Decision Boundary를 나타낸 것이다.


 LDA는 분산대비 평균의 차이를 최대화하는 직선을 찾는 것이라고 맨 앞에서 말했다.

아래 그림은 평균의 차이를 최대화하는 축(mu1 - mu2)을 기준으로 정사영하는 점선을 그었다. 

 이 점선 또한 분류를 하는 기준으로 잘 작용할 수 있을 것이다. 평균의 차이를 가장 큰 축을 찾고 나누기에 "정확도"측면은 만족할 수 도 있을 것이다. 하지만, 데이터의 분산이 고려되지 않아, 각 집단의 분포의 중심에서 떨어진 값들의 분류가 잘못될 가능성이 높다. 그렇기에 "분산"을 고려하는 것이다.  

 평균의 차이를 최대화하는 축에 정사영을 내린 경우

 

그렇기에 분산대비 평균의 차이를 최대화하는 축을 찾는 것이다. 그래야 각 집단의 분포에서 중심에서 떨어진 데이터들 또한 최대한 겹치는 부분을 없애서 올바른 분류를 진행할 수 있을 것이다.

 

LDA의 수학적 이해

 

- Y가 K개의 범주를 가질 때, k = 1,...,K 라고 하자.

- y = k일때 공분산구조

를가지는 p개의 정규분포 변수의 분포는 아래와 같다.

 

 

1. 

이변량 정규분포

 

2. 위의 이변량 정규분포를 로그취하면

이변량 정규분포의 로그변환

 위의 함수처럼 간단해진다.

 

3.

 k가 나타날 확률(사전확률)을 도입하여

 

4.

 x란 자료가 주어졌을 때, mu_k 이면서, sigma_k일 확률에다가, 사전확률 pi_k을 곱하여 곱사건 확률로 위와같은 표기가 된다.

 

5. k번째 범주의 사전확률을 고려하면 k번째 범주의 로그변환의 형태는, 다음과 같은 형태로 표기할 수 있다.

 

6. 아래의 조건 아래에서 공통 공분산 구조, sigma_k = sigma_l = Sigma라고 가정(각 집단이 비슷한 공분산을 갖는다고 가정하였기 때문)하에

 

7. LDA에서는 k번째 범주의 확률과 l번째 범주의 확률을 빼면 

                                                                          -

 

8. 이 연산을 통해 나타난 아래 식이 바로 LDA의 Dicision Boundary이다. 

- pi_k 는 k 그룹의 출현비율

- mu_k는 k그룹의 표본평균

- Sigma(공통 공분산)은 k 그룹의 표본분산을 전체그룹에 풀링한 분산으로 활용하여 구체적인 수치를 구할 수 있다.

결과적으로, 위의 식이 LDA의 각 집단을 나누는 초평면이 되었는데, 이때 식은 X에 대한 일차식으로 정리된다. 그리고 위의 식은 

 

9. 아래와 같으며, 아래 결과처럼 위의 식을 통해 범주를 추정할 수 있게 된다. 

그렇기에 위의 식이 양수의 결과를 가지면 k, 음수의 결과를 가지면 l로 분류하는 결과를 도출한다.

 

※ 결론

 이 식에서, k와 관계없는 공통 공분산 구조 Sigma를 가짐으로서, 평균이커지면 커질수록 (mu_k - mu_l), 분산이 작아질수록(Sigma^-1) X^T에 곱해진 값이 커지게 되기 때문에, 분산대비 평균의 차이가 최대가 되는 점을 찾는다고 해석할 수 있다. 그리고 위의 식이 LDA의 Decision Boundary(초평면)이라는 것을 알아보았다.

 

LDA의 사영

 

 다시 돌아가서, 이제 LDA의 목표 "분산을 최소화 하면서 평균의 차이를 최대화하는 사영 "을 찾는 것을 위해, 데이터의 분포(파란색, 노랜색)들을 사영을 시켜서 사영된 지점에서 평균과 분산의 차이를 표현해야 한다.

1. 사영을 시킬 대상이 될 벡터를 a라고 가정하자.

2. 이때, 사영이 되는 자료는

3. 사영된 평균은

4. 사영된 표본분산은

으로 나타내어진다. 

 

5. 이제 목표인 분산을 최소화하면서 평균을 최대화하는 사영을 찾는 것이다. 

6. 그리고 아래의 식으로도 표현이 가능해진다.

여기서 B,W는 각각

와 동일하다. 

7. argmax의 극대점을 찾기 위해, argmax식을 미분을 해서 0이 되는 지점을 찾아 해를 구한다면, 

8. 

로 정리가 되고 W matrix를 넘겨주면

좌측항은 W^{-1}*B - 매트릭스에 벡터 a를 곱한 형태이고, 우측항은 스칼라에 벡터 a를 곱한 형태이다.

Eigen Vector / Eigen Value

 

1. 앞에서 사영을 한 결과물들을 살펴보면 .

는 symmetric한 형태이다. 그리고 W^{-1}, 즉 역행렬이 존재한다면, 

좌측항의 제대로된 분산 매트릭스가 존재하고

 

2. 고로 eigen vector와 eigen value값을 아래와 같이 찾을 수 있게 된다.

 

  projection을 통해 찾아낸 A 매트릭스의 형태는 아래와 같으며

  eigen value(고유값) lambda는 아래와 같고,

  eigen vector(고유벡터)는 아래와 같다.

 

※ 결론

이상, 사영(projection)을 통해 얻어낸 해가 왜 eigen value와 eigen vector가 되는지 까지 알아보았다. 

LDA의 사영과 eigen vector/value와의 관계

 

1. 위의 eigen vector/value의 lambda값을 기존 식에 대입해주면 아래와 같은 표현이 가능하다.

2. 그리고 사영에서 치환해준 B를 다시 되돌리면 아래와 같은 표현이 가능하다. 

3. 

 라는 스칼라를 k로 변환하여 

 위와 같은 식으로 축약한다. 

4. 결과적으로, a는 아래의 식으로 나타난다.

5. 맨 앞의 스칼라부분은 길이에 해당하기에, vector의 방향성만 생각하면 아래와 같이 표현할 수 있다.

6. LDA는 공통 공분산 구조를 가지고 있다는 가정하에 시작했으므로, W를 Sigma라고 가정하고 대체한다면

eigen vector a가 구해진다. 

 

7. 아래 식은 LDA의 Decision Boundary를 찾은 식인데

이 a는 다시 x^T에 곱해진 법선(특정 평면에 수직인)vector가 된다. 

8. 결론적으로,

 

 위의 확률모델로 찾아냈던 Decision Boundary(초평면)는 Y= ax-ab꼴이기에 

 법선vector에 해당하는게 붉은색으로 표기된 부분이고, 지나는 점이 바로 파란색으로 표기된 부분이다.

 즉, 기울기가 a(붉은색 부분)이고 b(파란색 부분)점을 지나는 직선이라는 것이다.

 

이상 LDA에 대한 수학적 이해를 마쳤다. 

 

※ LDA요약

1. LDA의 Decision Boundary(초평면)는 분산대비 평균의 차이를 극대화하는 Boundary이다

2. LDA의 가정은 각 집단이 정규분포를 띄는 확률분포를 가지고, 각 집단은 비슷한 형태의 공분산 구조를 가진다고 하였다.

 

LDA의 장점은

1. 나이브 베이즈 모델과 달리, 설명변수간의 공분산 구조를 반영한다

2. 그리고 가정이 위배되더라도 비교적 탄탄한 모델이라는 것이다.

 

하지만, 단점은

1. 샘플수가 설명변수보다 많아야만 하고

2. 정규분포가정을 크게 벗어날 경우 설명력이 떨어지고

3. 공분산 구조가 크게 다른경우를 반영하지 못한다.

 

QDA의 이해

 QDA는 LDA에서 크게 다르지 않다. QDA는 사실 LDA에서 공통 공분산구조에 대한 가정을 제외시킨 것이다. 

즉, 공분산 구조가 다른 경우 사용하는 Discriminant Analysis이다.

 

아래 식은 공통 공분산 구조Sigma가 개별 공분산으로 변형된다는 차이만 존재한다. 이것이 QDA이다.  

즉, X에 대한 Quadratic Form으로 2차식 형태인 것이다. 

 

 

LDA와 QDA의 비교

 

위의 그림을 보면 

첫 번째 그림은 LDA

두 번째 그림은 Cross product term들, 즉 임의로 변수를 넣은 LDA이다. 즉 2차를 고려할 수 있도록 만드는 것이다.

세 번째 그림은 QDA이다.

 첫 번째 그림과 2,3 그림의 차이는 확연하나 2,3은 상대적으로 비슷한 것처럼 보인다. 이 차이는 LDA와 QDA의 공분산 구조의 차이를 반영했는지, 아니면 공통적인 공분산 구조를 가정했는지가 차이점이다. 

 QDA를 사용할지 말지 정하는 기준은 y의 범주별 공분산 구조가 확연히 다를때 사용한다. 하지만 설명변수가 많아질 수록 공통 공분산 구조를 사용하지 못하기에 그만큼 추정하는 모수가 많아진다는 것이다. 즉, 샘플이 더욱 많이 필요해지고, LDA에 비해 상대적으로 속도 또한 저하될 가능성이 있다. 

 그렇기에 경우에 따른 사용이 필요하고 항상 QDA가 LDA보다 좋은 모델이라고 말할 수 없다.