Linear Discriminant Analaysis(LDA, 선형판별분석)
LDA는 주로 데이터 분포를 학습하여 새로운 데이터의 클래스를 예측하는 것과 데이터의 차원을 축소하는 두 가지 목적을 위해 사용됩니다
핵심 아이디어는 각 클래스 간의 분산을 최대화하면서, 클래스 내의 분산을 최소화하는 방향으로 데이터를 변환하는 것입니다
LDA의 기본가정
1. Density Function이 Gaussian Distribution을 따른다
fk(x)=1√2πσke−12(x−μkσk)2
2. 각 클래스의 분산은 동일하다
σk=σforallk
이 때, 베이즈 정리에 따라 데이터 x가 주어졌을 때, 이 x가 클래스 k일 확률은 아래와 같다
pk(x)=πk1√2πσe−12(x−μkσ)2K∑l=1πl1√2πσe−12(x−μlσ)2,πk=P(X=x|Y=k)
그럼 이제 분류를 위한 판별함수(Discriminant function)을 정의해야합니다
판별함수(Discriminant function)
판별함수(δk(x))는 아래의 과정을 거쳐 도출되게 됩니다

δk(x)=x⋅μkσ2−μk22σ2+log(πk)
이 때, ˆπk,ˆμk,ˆσ2은 데이터 표본을 통해 추정하여 사용합니다
- ˆπk=nkn
- ˆμk=1nk∑i:yi=kxi
- ˆσ2=1n−KK∑k=1∑i:yi=k(xi−ˆμk)2
따라서 판별함수(ˆδk(x))는 다음과 같이 정리됩니다
ˆδk(x)=x⋅ˆμkˆσ2−ˆμk22ˆσ2+log(ˆπk)
그럼 이제 판별함수가 가장 큰 값을 가지는 클래스 k를 찾을 수 있습니다
argmax
Feature가 여러개인 LDA
LDA의 기본가정의 수정
1. Density Function이 Multivariate Gaussian Distribution을 따른다
{\large f_k(x) = \frac{1}{\sqrt{2\pi}^{\frac{p}{2}} |\Sigma_k|^{\frac{1}{2}}} e^{-\frac{1}{2} (x - \mu_k)^T \Sigma_k^{-1}(x-\mu_k)}}
2. 각 클래스의 공분산은 동일하다
{\large \Sigma_k = \Sigma} \; for\;all\;k
판별함수는 아래와 같습니다
\begin{aligned} \delta_k(x) &= x^T \Sigma^{-1} \mu_k - \frac{1}{2} {\mu_k}^T \Sigma^{-1} \mu_k + \log(\pi_k)\\ &= c_{k0} + c_{k1} x_1 + c_{k2} x_2 + \cdots + c_{kp}x_p \end{aligned}
여기서 상수항 c_{k0} = - \frac{1}{2} {\mu_k}^T \Sigma^{-1} \mu_k + \log(\pi_k) 이고 나머지 항은 x^T \Sigma^{-1} \mu_k를 전개한 것입니다
Quadratic Discriminant Analysis(QDA)
비선형 결정 경계를 위해서는 QDA를 사용해야 합니다
LDA의 두번째 가정(분산이 동일)을 없애고, 각 class는 각자의 Covariance Matrix를 갖는다는 가정을 합니다
{\large f_k(x) = \frac{1}{\sqrt{2\pi}^{\frac{p}{2}} |\Sigma_k|^{\frac{1}{2}}} e^{-\frac{1}{2} (x - \mu_k)^T \Sigma_K^{-1} (x-\mu_k)}}
판별함수는 아래와 같습니다
\begin{aligned} \delta_k(x) &= -\frac{1}{2} (x-\mu_k)^T \Sigma^{-1} (x-\mu_k) - \frac{1}{2}\log|\Sigma_k| + \log(\pi_k)\\ &= -\frac{1}{2} x^T \Sigma_k^{-1} x + x^T \Sigma_k^{-1} \mu_k - \frac{1}{2} \mu_k^T \Sigma_k^{-1} \mu_k - \frac{1}{2}\log|\Sigma_k| + \log(\pi_k) \end{aligned}
'ML > Classification' 카테고리의 다른 글
[ML][Classification] Support Vector Machine(SVM, SVD) (0) | 2024.06.18 |
---|---|
[ML][Classification]Logistic Regression(로지스틱 회귀) (0) | 2024.06.07 |
[ML][Classification] 분류 성능 평가 방법(Accuracy, Precision, Recall, F1-score, ROC, AUC) (0) | 2024.06.05 |