Linear Discriminant Analaysis(LDA, 선형판별분석)
LDA는 주로 데이터 분포를 학습하여 새로운 데이터의 클래스를 예측하는 것과 데이터의 차원을 축소하는 두 가지 목적을 위해 사용됩니다
핵심 아이디어는 각 클래스 간의 분산을 최대화하면서, 클래스 내의 분산을 최소화하는 방향으로 데이터를 변환하는 것입니다
LDA의 기본가정
1. Density Function이 Gaussian Distribution을 따른다
$${\large f_k(x) = \frac{1}{\sqrt{2\pi} \sigma_k} e^{-\frac{1}{2} (\frac{x - \mu_k}{\sigma_k})^2}}$$
2. 각 클래스의 분산은 동일하다
$${\large \sigma_k = \sigma} \; for\;all\;k$$
이 때, 베이즈 정리에 따라 데이터 $x$가 주어졌을 때, 이 $x$가 클래스 $k$일 확률은 아래와 같다
$${\large p_k(x) = \frac{{\pi_k \frac{1}{\sqrt{2\pi} \sigma} e^{-\frac{1}{2}(\frac{x - \mu_k}{\sigma})^2}}} {{\sum \limits_{l=1}^{K} \pi_l \frac{1}{\sqrt{2\pi} \sigma} e^{-\frac{1}{2} (\frac{x - \mu_l}{\sigma})^2}} } ,\quad \pi_k = P(X=x | Y=k) }$$
그럼 이제 분류를 위한 판별함수(Discriminant function)을 정의해야합니다
판별함수(Discriminant function)
판별함수($\delta_k(x)$)는 아래의 과정을 거쳐 도출되게 됩니다
$$\delta_k(x) = x \cdot \frac{\mu_k}{\sigma^2} - \frac{{\mu_k}^2}{2 \sigma^2} + \log(\pi_k) $$
이 때, $\hat{\pi}_k,\; \hat{\mu}_k,\; \hat{\sigma}^2$은 데이터 표본을 통해 추정하여 사용합니다
- $\hat{\pi}_k = \frac{n_k}{n}$
- $\hat{\mu}_k = \frac{1}{n_k} \sum_{i:y_i=k} x_i$
- $\hat{\sigma}^2 = \frac{1}{n-K} \sum \limits_{k=1}^{K} \sum_{i:y_i=k} (x_i - \hat{\mu}_k)^2$
따라서 판별함수($\hat{\delta}_k(x)$)는 다음과 같이 정리됩니다
$$\hat{\delta}_k(x) = x \cdot \frac{\hat{\mu}_k}{\hat{\sigma}^2} - \frac{{\hat{\mu}_k}^2}{2 \hat{\sigma}^2} + \log(\hat{\pi}_k) $$
그럼 이제 판별함수가 가장 큰 값을 가지는 클래스 k를 찾을 수 있습니다
$$\arg\underset{1\le k \le K}{\max} x \cdot \frac{\hat{\mu}_k}{\hat{\sigma}^2} - \frac{{\hat{\mu}_k}^2}{2 \hat{\sigma}^2} + \log(\hat{\pi}_k) $$
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 |