Discriminant Analysis
각 classes에서의 X의 분포를 개별적으로 모델링하한 후 Bayes 정리를 사용하여 $Pr(Y \mid X)$를 얻습니다.
각 class에 대해 normal (Gaussian) 분포를 사용하고 이는 linear or quadratic discriminant analysis로 이어집니다.
로지스틱 회귀가 아닌 다른 대안을 고려하는 이유
class들이 잘 분리되어 있을 때 로지스틱 회귀로 모수를 추정하는 것은 매우 불안정(unstable)합니다.
n이 작고, 예측 변수 X의 분포가 대략적으로 정규성을 띈다면 LDA는 로지스틱 회귀보다 더 안정성을 가집니다,
LDA는 response classes가 두개 이상일 때 더 자주 사용됩니다.
▶ 선형 판별분석(Linear Discriminant Analysis, LDA)
로지스틱 회귀와 같은 목적을 수행합니다. 데이터를 범주형 변수로 분류합니다.
수익이 날까? 안 날까?
상품을 살까? 안 살까?
고객이 만족할까? 아닐까?
정치 정당 투표 의도 등등
▶ 왜 선형이고? 왜 판별일까?(Why Linear? Why Discriminant?)
LDA는 선형 방정식의 결정을 포함하는데(선형 회귀처럼요) 사례가 속하는 그룹을 예측합니다.
$D = v_{1}X_{1} + v_{2} X_{2} +... + v_{i} X_{i} + a$
D; discriminant function
v: discriminant coefficient or weight for the variable
X: variable
a: constant
▶ LDA의 목적
v는 다른 카테고리들의 평균 사이의 거리를 최대화 시키는 방식으로 결정됩니다.
좋은 예측변수는 큰 v를 갖는 경향이 있습니다(weight).
Different categories를 판별하는 것이 목적입니다,
음식 레시피를 생각합니다. 재료의 비율을 바꾸면(weights) 완성된 요리의 맛도 달라질 수 있습니다.
다른 type의 음식을 만들길 희망합니다.
▶ LDA의 가정
관측치는 무작위 표본입니다(random sample).
독립변수는 정규분포의 형태를 띠고 있습니다.
▶ 베이즈 분류법(Bayes' Classifier)
베이즈 분류법는 최고의 표준법이지만 불행하게도 달성할 수 없습니다.
지금까지 배운 두 가지 방법을 다시 상기합니다.
KNN classifier
Logistic Regression
▶ 베이즈 분류 추정하기
로지스틱 회귀분석에서 k번째 class에서 Y의 확률을 구했습니다.
$p(X) = Pr(Y = k \mid X = x) = \frac {e^{\beta_{0}+\beta_{1} X}}{1 + e^{\beta_{0}+\beta_{1} X}}$
하지만 베이즈 이론은
$p(X) = Pr(Y = k \mid X = x) = \frac {\pi_{k} f_{k}(x)}{\sum^{K}_{l = 1}\pi_{l} f_{l}(x)}$
$\pi_{k}$ : Probability of coming from class k (prior probability)
$f_{k}(x)$ : Density function for X given that X is an observation from class k
▶ $\pi_{k}$와 $f_{k}(x)$ 추정하기
$\pi_{k}$와 $f_{k}(x)$를 $p(X)$ 계산하기 위해 추정합니다.
$f_{k}(x)$의 가장 흔한 모델은 Normal Density입니다.
$f_{k}(x) = \frac {1}{\sqrt {2\pi}\sigma_{k}}exp(-\frac {1}{2\sigma_{k}^{2}}(x - \mu_{k})^{2}$
위 식을 사용하여 $p(X)$를 계산하기 위한 세 개의 추정이 필요합니다.
$\mu_{k}$ $\sigma_{k}^{2}$ $\pi_{k}$
▶ 추정을 위해 Training Data set 사용하기
평균 $\mu_{k}$는 k번째 class의 모든 training 관측치 평균으로 추정할 수 있습니다.
분산 $\sigma_{k}^{2}$는 모든 k classes의 분산의 가중 평균으로 추정할 수 있습니다.
$\pi_{k}$는 k번 째 class에 속하는 training 관측치의 비율로 추정할 수 있습니다.
$\hat {\mu_{k}} = \frac {1}{n_{k}}\sum_{i:y_{i}=k} x_{i}$
$\hat {\sigma^{2}} = \frac {1}{n - K}\sum^{K}_{k=1}\sum_{i: y_{i}=k}(x_{i} - \hat {\mu_{k}})^{2}$
$\hat {\pi_{k}} = n_{k}/n$
▶ 예측 변수가 하나일 때 (p = 1) 간단한 예제
하나의 예측 변수만 있다고 가정합니다. (p = 1)
두 개의 정규 밀도 함수 $f_{1}(x)$과 $f_{2}(x)$가 있고 두 개의 구별된 classes를 나타냅니다.
두 밀도 함수가 겹치기 때문에 알려지지 않은 클래스를 가진 관측치가 속하는 클래스에 대해 약간의 불확실성이 있습니다.
dashed vertical line은 베이즈 결정 경계선입니다.
▶ LDA에 적용하기
LDA는 각 클래스가 동일한 분산을 가진 정규 분포를 따른다고 가정합니다,
평균과 분산은 추정된 값을 이용합니다.
$p_{k}$를 계산하기 위해 베이즈 이론은 사용됩니다. 관찰된 결과는 모든 k의 확률 사이에서 최대 확률로 class에 할당됩니다.
두 개의 클래스로부터 각각 20개의 관찰 값이 있습니다.
dashed vertical line은 베이즈의 결정 경계입니다.
solid vertical line은 LDA 결정 경계입니다.
Bayes' error rate: 10.6%
LDA error rate: 11.1%
LDA가 성능이 꽤 우수합니다!
▶ p > 1인 경우 예시
X가 다차원(p > 1)인 경우, 다변량 정규 밀도를 사용하여 밀도 함수 $f(x)$를 모델링한 경우를 제외하고 정확히 동일한 접근 방식을 사용합니다.
두 개의 예측 변수를 가집니다. (p = 2)
세 개의 class가 있습니다.
각 클래스로부터 20개의 관측값이 생성되었습니다.
실선은 베이즈의 경계고 점선은 LDA의 경계입니다.
▶Default Data에 LDA 적용하기
LDA는 10000개의 예측치 중에서 252 + 23개를 잘못 분류합니다.
(2.75% misclassification error rate)
그러나 LDA defaulters의 252/333 = 75.5%를 잘못 예측합니다.
default를 예측하는데 임계값으로 0.5를 사용하면 안 될 것 같나요?
▶ 임계값으로 0.2를 설정
전체적으로 잘 못 분류한 숫자는 235+138 = 373입니다.
(3.73% misclassification error rate)
그러나 defaulters의 138/333 = 41.4%로 잘못 예측합니다.
다른 임계값과 함께 error rate를 조사할 수 있습니다.
▶ Default Threshold Values vs Error Rates
검은색 실선: 전체 error rate
파란색 대시선: Fraction of defaulters missed
오렌지 점선: non defaulters incorrectly classified
▶ 이차 판별분석(Quadratic Discriminant Analysis, QDA)
LDA는 모든 클래스가 동일 분산/공분산을 가진다고 가정합니다.
그러나 LDA는 사실이 가정과 많이 다를 때 성능이 저하됩니다.
QDA는 각 클래스에 대해 별도의 분산/공분산을 추정한다는 점을 제외하고 LDA와 동일하게 작동합니다.
▶ LDA or QDA 어떤 게 더 좋나요?
QDA는 classes 사이에서 다른 분산 값을 따르기 때문에 경계 역시 quadratic이다.
LDA or QDA 어떤 것이 더 좋은 접근 일까?
QDA는 클래스 간의 분산이 매우 다르며 분산을 정확하게 추정할 수 있는 충분한 관측치가 있을 때 가장 잘 작동합니다.
LDA는 클래스 간의 분산이 유사하거나 분산을 정확하게 추정할 수 있는 데이터가 충분하지 않을 때 가장 잘 작동합니다.
▶ LDA와 QDA 비교
Black dotted: LDA boundary
Purple dashed: Bayes’ boundary
Green solid: QDA boundary
Left: variances of the classes are equal (LDA is better fit)
Right: variances of the classes are not equal (QDA is better fit)
▶ 분류 방법들 비교하기
KNN
Logistic Regression
LDA
QDA
▶ Logistic Regression vs. LDA
유사성
로지스틱 회귀 분석 및 LDA 모두 선형 경계를 생성합니다.
차이점
LDA는 관측치가 각 class의 공통 분산을 갖는 정규 분포에서 도출된다고 가정하는 반면,
로지스틱 회귀 분석은 이러한 가정을 가지고 있지 않습니다.
정규성 유지의 가정이 유지된다면 LDA는 로지스틱 회귀보다 더 효과적입니다.
그렇지 않으면 로지스틱 회귀가 LDA보다 성능이 더 뛰어납니다.
▶ KNN vs. (LDA and Logistic Regression)
KNN은 완전히 다른 접근법을 취합니다.
KNN은 완전히 비모수적입니다. 결정 경계의 모양에 대해 어떠한 가정도 있지 않습니다.
KNN의 장점
결정 경계가 매우 non-linear 할 때 KNN이 더 좋은 성능을 기대할 수 있습니다.
KNN의 단점
어떤 예측 변수가 중요한지 말해주지 않습니다(coefficients 표가 없습니다).
▶ QDA vs. (LDA, Logistic Regression, and KNN)
QDA는 비모수 KNN 방식과 선형 LDA와 로지스틱 회귀의 절충안입니다.
만약 true decision boundary가
Linear: LDA and Logistic outperforms
Moderately Non-linear: QDA outperforms
More complicated: KNN is superior
'ISLR' 카테고리의 다른 글
Ch05 Resampling Methods - Leave-One-Out Cross Validation(LOOCV) (0) | 2019.09.27 |
---|---|
Ch05 Resampling Methods - The Validation Set (0) | 2019.09.26 |
Ch04 분류분석(2) (0) | 2019.09.24 |
Ch04 분류분석(1) (0) | 2019.09.23 |
Chap3 회귀분석(3) (0) | 2019.09.20 |
댓글