AI/ISLR

Chapter 04. 분류(Classification) - 이론 2

Dev_Kang 2024. 8. 28.

4.4 선형 판별 분석(Linear Discriminant Analysis)

로지스틱 회귀는 로지스틱 함수를 사용하여 두 개의 반응변수 클래스에 대해 $pr(Y=k|X=x)$를 직접 계산하고 예측한다. 통계 용어로 주어진 설명 변수 $X$에 대해 반응 변수 $Y$의 조건부 분포(conditional distribution)을 모델링한다. 

  • 조건부 분포(conditional distribution): $Y$는 이진 반응 변수(예: "Yes" 또는 "No")일 수 있고, $X$는 여러 설명 변수들의 집합일 수 있다. 이때 $X$가 특정한 값일 때 $Y$가 "Yes" 또는 "No"가 될 확률을 설명한다. 

대안적 기법에서는 반응변수 $Y$의 각 클래스에서 설명 변수 $X$의 분포를 모델링하고, 그다음에 베이즈 정리를 사용하여 $Pr(Y=k|X=x)$에 대한 추정치를 얻는다. 이 분포들이 정규분포라고 가정할 경우 모델은 로지스틱 회귀와 형태가 아주 비슷하다. 

  • 조건부 확률(conditional probability)에서 p(A|B)는 다음과 같다. $\frac{P(B \cap A)}{P(B)}$

로지스틱 회귀가 있는데 왜 또 다른 방법이 필요한가?

  • 클래스들이 잘 분리될 때 로지스틱 회귀모델에 대한 모수 추정치는 아주 불안정하다. 선형 판별 분석은 이런 문제가 없다.
  • 만약 n이 작고 각 클래스에서 설명 변수 X의 분포가 근사적으로 정규분포를 따른다면 선형 판별 분석은 로지스틱 회귀모델보다 더 안정적이다.
  • 선형 판별 분석은 반응변수의 클래스 수가 2보다 클 때 일반적으로 사용된다. 

4.4.1 분류를 위한 베이즈 정리의 사용

관측치를 $k\geq2$의 클래스 중 하나로 분류한다고 해보자. 질적인 반응변수 $Y$는 $K$개의 다르고 순서가 없는 값을 가질 수 있다. 

랜덤 하게 선택된 관측치가 k번째 클래스에 속할 확률을 $\pi_k$라고 하자. 이 확률을 전체 확률 또는 사전 확률(prior)이라고 한다. 

 

$f_k(X)=Pr(X=x|Y=k)$는 $k$번째 클래스에 속하는 관측치에 대한 $X$의 밀도 함수(density function)라고 한다. $k$번째 클래스의 관측치가 $X \approx x$일 가능성이 아주 낮으면 $f_k(x)$는 작다. 베이즈 정리가 의미하는 것은 다음과 같다.

$Pr(Y = k | X = x) = \frac{\pi_k f_k(x)}{\sum_{l=1}^K \pi_l f_l(x)}$ (4.10)

 

  • 베이즈 정리: $P(A_1 \mid B) = \frac{P(B \cap A_1)}{P(B)} = \frac{P(B \mid A_1) P(A_1)}{P(B)} = \frac{P(B \mid A_1) P(A_1)}{P(B \mid A_1) P(A_1) + P(B \mid A_2) P(A_2)}$

앞에서 사용했던 표기법에 따라 $p_k(X)=Pr(Y=k|X)$을 사용할 것이다. $p_k(X)$를 직접 계산하는 대신, 단순히 $\pi_k$와 $f_k(X)$의 추정치를 (4.10)에 대입할 수 있다는 것을 시사한다. $Y$의 랜덤표본이 있으면 $\pi_k$ 추정은 쉽다. 즉 $k$번째 클래스에 속하는 훈련 관측치들의 비율을 단순히 계산하면 된다. 그러나 $f_k(X)$추정은 밀도에 대한 어떤 단순한 형태를 가정하지 않으면 어려울 수 있다.

  • 추정이 어려운 이유는 밀도 함수 자체가 데이터의 분포를 매우 세밀하게 반영하는 함수이기 때문이다.

$p_k(x)$는 관측치 $X=x$가 $k$번째 클래스에 속할 사후(poster)확률이다. 이는 주어진 설명 변수 값에 대해 그 관측치가 $k$번째 클래스에 속할 확률을 의미한다. 베이즈 분류기는 $p_k(X)$가 가장 큰 클래스로 분류하며, 이 방법은 모든 분류기 중에서 오차율이 가장 낮다. 따라서, $f_k(X)$를 추정하는 방법을 찾을 수 있으면 베이즈 분류기에 근접하는 분류기를 개발할 수 있다. 

4.4.2 선형 판별 분석( p = 1)

설명 변수가 하나라고 가정한다. (4.10)에 대입하여 $p_k(x)$를 추정할 수 있도록 $f_k(x)$에 대한 추정치를 얻고자 한다. 그다음 $p_k(x)$가 최대가 되는 클래스로 관측치를 분류할 것이다. 

 

$f_k(x)$가 정규분포 즉, 가우스분포라고 해보자. 1차원의 경우 정규밀도함수의 형태는 다음과 같다. 

$f_k(x) = \frac{1}{\sqrt{2\pi\sigma_k}} \exp\left(-\frac{1}{2\sigma_k^2}(x - \mu_k)^2\right)$ (4.11)

여기서 $\mu_k$와 $\sigma_k^2$는 $k$번째 클래스의 평균과 분산이다. 즉, 모든 클래스에 대한 공통의 분산이 있다고 하고, 편의상 그 값을 $\sigma^2$라고 한다. (4.11)을 (4.10)에 대입하면 다음을 얻는다. 

$ p_k(x) = \frac{\pi_k \frac{1}{\sqrt{2\pi\sigma}} \exp\left(-\frac{1}{2\sigma^2}(x - \mu_k)^2\right)}{\sum_{l=1}^{K} \pi_l \frac{1}{\sqrt{2\pi\sigma}} \exp\left(-\frac{1}{2\sigma^2}(x - \mu_l)^2\right)}
$ (4.12)

 

베이즈 분류기는 (4.12)가 최대가 되는 클래스에 관측치 $X=x$를 할당한다. (4.12)의 로그를 취하고 항들을 정리하면 (4.13)이 얻어지며, 베이즈 분류기는 이 식을 최대화하는 클래스로 관측치를 할당하는 것과 동일하다. 

$\delta_k(x) = x \cdot \frac{\mu_k}{\sigma^2} - \frac{\mu_k^2}{2\sigma^2} + \log(\pi_k)$ (4.13)

 

예를 들어, $K=2$이고, $\pi_1=\pi_2$이면, 베이즈 분류기는 $2x (\mu_1 - \mu_2) > \mu_1^2 - \mu_2^2$인 경우 관측치를 클래스 1에 할당하고 그렇지 않으면 클래스 2에 할당한다. 베이즈 결정경계는 다음과 같다. 

$x = \frac{\mu_1^2 - \mu_2^2}{2(\mu_1 - \mu_2)} =\frac{(\mu_1 - \mu_2)(\mu_1 + \mu_2)}{2(\mu_1 - \mu_2)}=\frac{\mu_1+ \mu_2}{2}$ (4.14)

그림 4.4: 왼쪽: 2차원 정규밀도 함수. 수직 파선은 베이즈 결정경계를 나타낸다. 오른쪽: 두 클래스에서 20개의 관측치를 각각 추출하여 히스토그램으로 나타낸 것.

그림 4.4 왼쪽 패널에서는 두 개의 정규밀도함수 $f_1(x)$와 $f_2(x)$는 두 개의 클래스를 나타낸다. 두 밀도함수의 평균과 분산은 $\mu_1=-1.25, \mu_2=1.25, \sigma_1^2=\sigma_2^2=1$이다.

 

두 밀도함수가 겹쳐져 있어 주어진 $X=x$에 대해 관측치가 어느 클래스에 속하는지 불확실한 부분이 존재한다. 만약 관측치가 두 클래스에 속할 가능성이 동일하다고 가정한다면, 즉 $\pi_1=\pi_2=0.5$이면 베이즈 분류기는 $x<0$인 경우($x=0$은 두 클래스의 경계점이다.) 관측치를 클래스 1에 할당하고 그렇지 않으면 클래스 2에 할당한다는 것을 (4.14)를 살펴보면 알 수 있다. 

 

이 경우에는 $X$가 각 클래스 내의 가우스 분포로부터 나왔고 관련된 파라미터를 모두 알고 있기 때문에 베이즈 분류기를 계산할 수 있다. $X$가 실제로 각 클래스 내의 가우스 분포를 따른다고 가정하더라도, 파라미터들을 추정해야 한다. LDA 방법은 $\pi_k, \mu_k, \sigma^2$에 대한 추정 값을 (4.13)에 대입하여 베이즈 분류기를 근사한다.  

 

$\hat{\mu}_k = \frac{1}{n_k} \sum_{i:y_i=k} x_i$

$\hat{\sigma}^2 = \frac{1}{n - K} \sum_{k=1}^{K} \sum_{i:y_i=k} (x_i - \hat{\mu}_k)^2$ (4.15)

 

여기서 $n$은 총 훈련 관측치의 개수, $n_k$는 $k$번째 클래스의 훈련 관측치 수이다. $\mu_k$에 대한 추정치는 단순히 $k$번째 클래스 내 모든 훈련 관측치들의 평균이고, $\hat\sigma^2$은 $k$개 클래스 각각에 대한 표본 분산의 가중 평균으로 볼 수 있다. 표본 분산의 가중 평균으로 보는 이유는 각 클래스에 속한 데이터의 개수에 따라 그 클래스의 분산에 가중치를 부여하기 때문이다. 어떤 때는 클래스의 소속확률(membership probability) $\pi_1, \dots, \pi_k$를 알수도 있는데, 이런 경우에는 이 값들을 직접 사용할 수 있다. 

 

추가 정보도 없는 경우 LDA는 $k$번째 클래스에 속하는 훈련 관측치들의 비율을 사용하여 $\pi_k$를 추정한다. 

$\hat{\pi}_k = \frac{n_k}{n}$ (4.16)

 

LDA 분류기는 (4.15)와 (4.16)의 추정값을 (4.13)에 대입하여 다음 식이 최대가 되는 클래스에 관측치 $X=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)$ (4.17)

분류기 이름에 선형이란 말이 있는 것은 (4.17)의 판별함수 $\hat{\delta}_k(x)$가 $x$의 선형함수이기 때문이다. 

 

그림 4.4의 오른쪽 패널은 각 클래스에서 랜덤 추출한 20개 관측치의 히스토그램을 나타낸다. 검은색 실선으로 표시된 LDA 결정경계는 관측치가 최대가 되는 클래스로 할당한 결과로 계산된다. 선의 왼쪽에 있는 점들은 녹색 클래스에, 오른쪽에 있는 점들은 보라색 클래스에 할당된다. $n_1=n_2=20$이므로 $\hat\pi_1=\hat\pi_2$이다. 이로 인해 결정경계는 두 클래스의 표본 평균 사이의 중간 지점인 $\frac{\hat{\mu}_1 + \hat{\mu}_2}{2}$애 해당한다. 

 

LDA 결정경계는 베이즈 결정경계보다 약간 왼쪽에 위치한다.  베이즈 오차율은 10.6%, LDA 오차율은 11.1%이다. 즉, LDA 분류기의 오차율은 최적 오차율보다 단지 $0.5%$ 더 높을 뿐이다. 이는 LDA가 이 데이터셋에 대해 매우 효과적으로 동작한다는 것을 보여준다. 

 

다시 정리하면, LDA 분류기는 각 클래스 내의 관측치들이 클래스별 평균 벡터와 클래스 공통의 분산 $\sigma^2$을 갖는 정규분포를 따른다는 가정 하에, 이 파라미터들의 추정값을 베이즈 분류기를 근사한다.

4.4.3 선형 판별 분석( p > 1)

LDA 분류기를 다중 설명 변수의 경우로 확장해보자. 이를 위해 $X=(X_1, x_2, \dots, X_p)$는 특정 클래스의 평균 벡터와 공통 공분산 행렬을 가지는 다변량 가우스 분포를 가정한다. 다변량 가우스 분포는 각 설명 변수가 1차원 정규 분포를 따르며, 이들 변수 간의 상관관계를 고려한 다차원 정규 분포로 가정한다.

그림 4.5: p=2인 두 개의 다변량 가우스밀도 함수. 왼쪽: 두 설명변수는 상관관계가 없다. 오른쪽 설명변수는 0.7의 상관계수를 갖는다.

특정 지점에서 표면의 높이는 $X_1$과 $X_2$가 특정 값에 가까운 범위에 있을 확률을 나타낸다. 양쪽 패널에서 표면을 $X_1$축 또는 $X_2$축을 따라 자르면, 잘린 면은 1차원 정규분포의 형태를 가진다.

 

그림 4.5의 왼쪽 패널은 $Var(X_1)=Var(X_2)$이고 $Cor(X_1, X_2)=0$인 예를 보여준다. 이 표면은 종모양이다. 하지만 설명 변수들 사이에 상관성이 있거나 동일하지 않은 분산을 가지면 경우, 오른쪽 패널처럼 종 모양이 왜곡될 것이다. 종의 바닥(base)는 원형이 아니라 타원형이다. 

 

p차원 랜덤변수 X는 다변량 가우스 분포를 나타내기 위해 $X \sim N(\mu, \Sigma)
$라고 쓴다. 여기서 $E(X)=\mu$는 $X$의 평균이고 $Cov(X)=\sigma$는 $X$의 $p*p$ 공분산 행렬이다. 다변량 가우스 밀도 함수는 다음과 같이 정의된다. 

  • 공분산(covariance): $\text{Cov}(X, Y) = \frac{1}{n-1} \sum_{i=1}^{n} (X_i - \mu_X)(Y_i - \mu_Y)$
  • $|\sigma|$: 공분산 행렬의 행렬식을 나타낸다. 
  • exp()안에 있는 내용은 Mahalanobis 거리라고 불리며, 공분산 구조를 고려한 거리이다. 

$f(x) = \frac{1}{(2\pi)^{p/2} |\Sigma|^{1/2}} \exp\left(-\frac{1}{2}(x - \mu)^\top \Sigma^{-1} (x - \mu)\right)
$ (4.18)

 

$p > 1$개 설명 변수의 경우, LDA 분류기는 k번째 클래스의 관측치들이 다변량 가우스 분포 $N(\mu_k,\Sigma)$을 따른다고 가정한다. 여기서 $\mu_k$는 특정 클래스의 평균 벡터이고 $\Sigma$는 K개 클래스 모두에 공통인 공분산행렬이다. K번째 클래스에 대한 밀도 함수 $f_k(X=x)$를 (4.10)에 대입하여 정리하면, 베이즈 분류기는 관측치 $X=x$로, 다음 식이 최대가 되는 클래스에 할당한다. 이것은 (4.13)의 벡터/행렬 버전이다.

$\delta_k(x) = x^\top \Sigma^{-1} \mu_k - \frac{1}{2} \mu_k^\top \Sigma^{-1} \mu_k + \log \pi_k
$ (4.19)

그림 4.6: 세 개의 클래스를 가진 예. 각 클래스의 관측치들은 클래스 특정 평균벡터와 공통의 공분산 행렬을 갖는 p=2인 다변량가우스분포로부터 선택된다.

 

그림 4.6의 왼쪽 패널에 한 예가 표현되어 있다. 세 개의 크기가 같은 가우스 클래스는 클래스 특정 평균 벡터와 공통의 공분산 행렬을 가진다. 세 개의 타원은 세 클래스 각각에 대한 확률의 $95$%를 포함하는 영역을 나타낸다. 파선은 베이즈 결정경계이다. 이 경계들은 $\delta_k(x) = \delta_l(x)$인, 즉 $k\neq l$에 대해 다음 식을 만족하는, $x$ 값의 집합을 나타낸다.

$x^\top \Sigma^{-1} \mu_k - \frac{1}{2} \mu_k^\top \Sigma^{-1} \mu_k = x^\top \Sigma^{-1} \mu_l - \frac{1}{2} \mu_l^\top \Sigma^{-1} \mu_l$ (4.20)

 

세 쌍의 클래스가 있으므로 베이즈 결정경계를 나타내는 선이 세 개 있다. 이 경계선들은 설명 변수 공간을 세 개의 영역으로 나눈다. 베이즈 분류기는 관측치가 위치한 영역에 따라 그 관측치를 분류할 것이다.  여기서도 파라미터 $\mu_k,\pi_k,\sigma$를 추정해야 한다. 추정식은 (4.15)에 주어진 1차원의 경우에 사용된 것과 유사하다. 새로운 관측치 $X=x$를 할당하기 위해 LDA는 이 추정치들을 (4.19)에 대입하여 최댓값이 되는 클래스로 분류한다.  

 

그림 4.6의 오른쪽 패널은 세 개의 각 클래스 속하는 $20$개의 관측치를 나타내고 LDA 결정경계는 검은색 실선으로 나타낸다. 전반적으로 LDA 결정경계는 파선으로 나타낸 베이즈 결정경계에 상당히 가깝다. 두 개의 검정 오차율은 0.0770, 0.0746이다. LDA가 잘 동작하는 것을 나타낸다. 

 

Default자료에서 LDA를 수행하여 신용카드 대금과 학생인지의 여부에 기초로 하여 어떤 사람이 연체를 할 것인지 예측할 수 있다. $10,000$개의 훈련 표본에 LDA 모델을 적용하여 얻은 훈련 오차율은 $2.75$%이다. 이 오차율은 낮아 보이지만 두 가지 주목해야 한다.

  • 첫째, 훈련 오차율은 검정 오차율보다 낮을 것이다. 이 분류기를 훈련셋에 속하지 않는 사람들의 연체를 예측하는 데 사용한다면 결과가 더 나빠진다고 예상할 수 있다. 표본 수 대비 파라미터 $p$의 비율이 높을수록 이러한 과적합의 영향이 더 커진다고 예상할 수 있다. 여기서 사용하는 데이터의 경우 $p=2, n=10,000$이기 때문에 문제는 없다. 
  • 둘째, 훈련 표본에 속한 사람들 중 연체자는 단지 $3.33$%이므로 카드대금과 학생인지 여부에 관계 없이 사람들이 항상 연체할 것이라고 예측해도 오차율은 3.33%일 것이다. 쓸모없는 영분류기(null classifier)도 오차율은 LDA의 훈련셋 오차율보다 단지 조금밖에 높지 않을 것이다. 

연체하는 사람을 비연체자 범주에 잘못할당하거나 연체하지 않은 사람을 연체자 범주에 잘못할당할 수 있다. 이 두 유형의 오류 중 어느 것이 발생되는지 결정하는 데 관심이 있다. 표 4.4에 보여준 Default 자료에 대한 혼동행렬(confusion matrix)은 이러한 정보를 나타내는 편리한 방법이다. LDA는 총 $104$명이 연체할 것이라고 예측하였다. $81$명은 실제로 연체를 하였다. 따라서 연체하지 않은 $9,667$명 중 $23$명만이 잘못 분류되었다. 이 결과는 매우 낮은 오차율처럼 보인다. 하지만 연체한 $333$명 중 $252$명을 LDA는 올바르게 분류하지 못했다. 그러므로, 전체 오류율은 낮지만 연체한 사람들 중의 오류율을 아주 높다. 

  실제 연체 상태
No Yes Total
예측한 
연체 상태
No 9,644 252 9,896
Yes 23 81 104
Total 9,667 333 10,000

 

표 4.4: Default 자료의 10,000개 훈련 관측치에 대해 LDA 예측과 실제 연체 상태를 비교한 혼동 행렬

 

클래스별 성능은 의학과 생물학 분야에서도 중요한데, 이들 분야는 민감도(sensitivity)와 특이도(specificity)란 항이 분류기 또는 선별시험(screening test)의 성능을 특징짓는다. 이 예의 경우 민감도는 식별되는 실제 연체자의 비율이며 $24.3$%이다. 특이도는 올바르게 식별되는 비연체자의 비율이며 $(1-23/9,667)*100=99.8$%이다.

 

LDA는 왜 그렇게 낮은 민감도를 가지는가? LDA는 모든 분류기 중에서 총 오류율이 가장 낮은 베이즈 분류기에 근접하고자 한다. 베이즈 분류기는 오류가 어느 클래스에서 발생하는지 관계없이 잘못 분류되는 관측치의 총수가 가장 낮을 것이다. 일부 오류는 비연체자를 연체자 클래스로 잘못 할당한 결과이고, 나머지는, 연체자를 비연체자 클래스로 잘못 할당한 결과일 것이다.  LDA를 수정하여 더 적합한 분류기를 살펴볼 것이다. 

 

베이즈 분류기는 관측치를 사후확률 $p_k(X)$이 최대가 되는 클래스에 할당한다. 클래스의 수가 2인 예제의 경우, 다음 식이 만족하면 관측치를 연체 클래스에 할당하는 것이다. 

$Pr(default=Yes|X=x) > 0.5$ (4.21)

 

따라서, 베이즈 분류기와 확장 LDA는 연체의 사후확률 임계치를 $50$%로 사용하여 관측치를 연체 클래스에 할당한다. 하지만 연체하는 사람에 대해 연체 상태를 잘못 예측하는 우려가 있다면, 임계치를 낮추는 것을 고려할 수 있다. 예를 들어, 사후확률이 20%를 초과하는 사람은 모두 연체 클레스로 분류할 수 있다. 

$Pr(default=Yes|X=x) > 0.2$ (4.22)

  실제 연체 상태
No Yes Total
예측한 
연체 상태
No 9,432 138 9,570
Yes 235 195 430
Total 9,667 333 10,000

표 4.5: Default 자료의 10,000개 훈련 관측치에 대해 LDA 예측과 실제 연체 상태를 비교한 혼동 행렬. 여기서는 사후연체확률이 20%를 초과하는 경우 연체로 간주하는 수정된 임계값을 사용한다. 

 

이제 LDA는 $430$명 연체할 것이라고 예측한다. LDA는 연체자 $333$명 중 $195$명, 즉 $58.6$%을 올바르게 예측한다. 하지만 연체하지 않은 $235$명이 잘못 분류되는 결과가 발생한다. 그 결과 전체 오류율은 $3.73$%로 약간 증가한다. 신용카드 회사는 전체 오류율이 증가하더라도 연체자를 더 정확하게 식별할 수 있으면 그것이 더 나을 것이다. 

그림 4.7: Default 자료에서 분류에 사용되는 사후확률에 대한 임계치의 함수로 나타낸 오류율.

그림 4.7은 연체의 사후확률에 대한 임계치를 변경하는 데 따른 trade-off를 보여준다. 다양한 오류율을 임계치의 함수로 나타낸다. 임계치 $0.5$를 사용하면 검은색 실선으로 나타난 것처럼 전체 오류율이 최소화된다. 이 결과는 예상된 것으로, 베이즈 분류기가 임계치 $0.5$를 사용하며 전체 오류율이 가장 낮다고 알려져 있기 때문이다. 그러나 연체자 중에서의 오류율은 상당히 높다.(파란색 파선) 임계치가 감소함에 따라 연체자 중에서의 오류율은 지속적으로 감소하지만, 비연체자 중의 오류율은 증가한다. 어떤 결정이 더 나은지에 대한 판단은 도메인 지식(domain knowledge)을 기반으로 이루어져야 한다. 

  • trade-off: 하나의 선택이나 결정이 이익과 손실을 동시에 수반하는 상황을 말한다. 

 

그림 4.8: Default 자료에 대한 LDA 분류기의 ROC 곡선.

ROC 곡선은 모든 가능한 임계치에 대해 2가지 유형의 오류(True Positive, False Positive)를 동시에 나타내는 잘 알려진 그래프이다. 그림 4.8은 훈련 데이터에 대한 LDA 분류기의 ROC 곡선이다. 모든 임계치에 대한 요약된 분류기의 전체적 성능은 ROC 곡선 아래의 면적(AUC=Area Under the Curve)에 의해 주어진다. 이상적인 ROC 곡선은 왼쪽 맨 위 모서리에 걸려 있을 것이고, AUC가 클수록 더 좋은 분류기이다. 이 예의 경우 AUC는 $0.95$로 가능한 최대값에 상당히 가깝다. 

 

무작위로 어느 한쪽을 선택하는 분류기는 AUC가 $0.5$일 것이다. (검증셋에 대해 평가할 경우) ROC 곡선은 모든 가능한 임계치를 고려하므로 다른 분류기들을 비교할 때 유용하다. 

  예측된 클래스
- 또는 Null + 또는 Non-null Total
실제
클래스
- 또는 Null 참 부정(True Neg) (TN) 거짓 긍정(False Pos) (FP) N
+ 또는 Non-null 거짓 부정(False Neg) (FN) 참 긍정(True Pos) (TP) P
Total N* P*  

표 4.6: 모집단에 분류기 또는 진담검정을 적용할 때 얻을 수 있는 결과

  • TP(True Positive): : 한 환자는 실제로 암에 걸렸고, 모델도 암에 걸렸다고 정확히 예측했다.
  • TN(True Negative): 한 환자는 실제로 암에 걸리지 않았고, 모델도 암에 걸리지 않았다고 예측했다.
  • FP(False Positive): 한 환자는 실제로 암에 걸리지 않았지만, 모델은 암에 걸렸다고 잘못 예측했다.
  • FN(False Negative): 한 환자는 실제로 암에 걸렸고, 모델은 이 환자가 암에 걸리지 않았다고 예측했다.

분류기의 임계치를 바꾸는 것은 참 긍정률과 거짓 긍정률을 변경한다. 참 긍정률은 민감도이고 거짓 긍정률은 1에서 분류기의 특이도를 뺀 것이다. 표 4.6은 분류기를 모집단에 적용할 때 얻을 수 있는 결과이다. 역학 분야라면 '+'는 검출하고자 하는 질병, '-'는 무병 상태를 나타내는 것으로 생각할 수 있다. 가설검정에서는 '-'는 귀무가설, '+'는 대립가설로 생각할 수 있다. Default 자료에서는 '+'는 연체자, '-'는 비연체자를 말한다. 

 

참 긍정률(TPR)의 분모는 Actual Positives(P)이고, 거짓 긍정률(FTR)의 분모는 Actual Negatives(N)이다. 긍정 예측값(PPV)의 분모는 TP+FP이고, 부정 예측값(NPV)의 분모는 TN+FN이다. 

4.4.4 이차 선형 판별 분석

LDA는 각 클래스의 관측치들이 다변량 가우스 분포에서 나왔다고 가정한다. 이차 판별 분석(Quadratic Discriminant Analysis)은 또 다른 접근법을 제공한다. LDA처럼 QDA 분류기는 각 클래스의 관측치들이 가우스 분포를 따른다고 가정하고, 파라미터들에 대한 추정치를 베이즈 정리에 대입하여 예측을 수행한다. 하지만, LDA와 달리 QDA는 각 클래스가 고유의 공분산 행렬을 갖는다고 가정한다. 즉, k번째 클래스의 관측치는 $X \sim N(\mu_k,\Sigma_k)$형태라고 가정한다. 이러한 가정하에서 베이즈 분류기는 관측치 $X=x$를 다음 식이 최대가 되는 클래스에 할당한다.

$\begin{align*}
\delta_k(x) &= -\frac{1}{2}(x - \mu_k)^T \Sigma_k^{-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 \\
            &\quad - \frac{1}{2} \log |\Sigma_k| + \log \pi_k
\end{align*}
$ (4.23)

 

따라서 QDA 분류기는 파라미터에 대한 추정치를 (4.23)에 대입한 다음 이 식이 최대가 되는 클래스에 관측치를 할당한다. (4.19)와 달리 $x$는 이차 함수처럼 보인다. QDA 이름은 여기서 비롯되었다. 

 

K개의 클래스들이 공통의 공분산 행렬을 가지는지에 대한 가정이 중요한 이유는 편향-분산(bias-variance) 절충에서 찾을 수 있다. 설명 변수가 $p$개일 때, 하나의 공분산행렬을 추정하는 데는 $p(p+1)/2$개의 파라미터에 대한 추정이 필요하다. QDA는 각 클래스마다 추정해야 하므로 $Kp(p+1)/2$개의 파라미터에 대한 추정이 필요하다. K개의 클래스들이 공통의 공분산행렬을 갖는다고 가정할 경우 LDA 모델은 x에 대해 선형이 되고, 이는 추정해야 하는 것이 $K_p$개의 선형계수($K$: 클래스의 개수, $p$: 특징의 개수)라는 것을 의미한다. LDA는 QDA보다 유연성이 훨씬 떨어지지만 낮은 분산을 가지며, 예측 성능이 개선될 수도 있다.

  • 낮은 분산을 가지는 이유: QDA는 유연성이 높기 때문에, 훈련 데이터에 과도하게 맞추려는 경향이 있고 이로 인해 높은 분산을 초래할 수 있다. 하지만 LDA는 덜 유연하기 때문에, 모델이 훈련 데이터에 과적합되는 경향이 적다. 
  • 예측 성능이 개선되는 이유: LDA의 경우 선형적일 때 예측 성능이 개선될 수 있다. 

하지만 여기에는 trade-off가 있다. 만약 $K$개의 클래스들이 공통의 공분산행렬을 갖는다는 LDA의 높은 편향 때문에 문제가 있을 수 있다. 훈련 관측치의 수가 비교적 작아 분산을 줄이는 것이 중요하다면 QDA가 더 나을 수 있다. 반대로 훈련셋이 아주 크거나 분류기의 분산이 주요 우려사항이 아니거나 $K$개의 클래스들이 공통의 공분산행렬을 갖는다는 가정이 맞지않으면 QDA 사용하는 것이 권장된다. 

  • 훈련 데이터 수와 분산: 분산은 훈련 데이터의 작은 변화에 어느 정도 민감하게 반응하는지를 나타낸다. 훈련 데이터의 수가 적을 때는 모델의 분산이 높아질 위험이 있을 수 있으므로, 이런 경우 유연한 모델을 선택하는 것이 유리할 수 있다. 

그림 4.9: $\Sigma_1=\Sigma_2$인 2-클래스 문제에 대한 베이즈(보라색 파선), LDA(검은색 점선), QDA(녹색 실선)

 

그림 4.9는 LDA와 QDA의 성능을 보여준다. 왼쪽 패널에서 가우스 분포를 따르는 두 개의 클래스는 상관계수가 $0.7$로 공통이다. 베이즈 결정경계는 선형이고 LDA 결정경계에 의해 정확하게 근사된다. QDA 결과가 나쁜 이유는 편향의 감소는 없고 분산이 더 높기 때문이다.

이와 달리, 오른쪽 패널에서 오렌지색 클래스는 상관계수가 $0.7$이고 파란색 클래스 내 변수들의 상관계수는 $-0.7$이다. 베이즈 결정경계는 이차 형태로 QDA가 더 정확하게 근사한다. 


4.5 분류 방법의 비교

로지스틱 회귀와 LDA는 비록 동기는 다르지만, 밀접하게 연관되어 있다. 설명 변수의 수가 $p = 1$인 2-클래스 환경에서 $p_1(x)$와 $p_2(x)=1-p_1(x)$는 관측치 $X=x$가 클래스 $1$과 $2$에 각각 속하는 확률이라고 하자. LDA 관점에서는 (4.12)와 (4.13)으로부터 알 수 있듯이, 로그공산은 다음과 같이 주어진다. 

$log(\frac{p_1(x)}{1-p_1(x)})=log(\frac{p_1(x)}{p_2(x)})=C_0+C_1x$ (4.24)

 

여기서 $C_0$와 $C_1$은 $\mu_1,\mu_2$, 그리고 $\sigma^2$의 함수이다. (4.4)로부터 로지스틱 회귀는 다음과 같이 표현된다는 것을 알고 있다.

$log(\frac{p_1}{1-p_1})=\beta_0+\beta_1x$(4.25)

 

(4.24)와 (4.25) 둘 다 $x$의 선형함수이다. 그러므로 로지스틱 회귀와 LDA는 선형의 결정 경계를 만든다. 두 기법 사이의 유일한 차이점은 $\beta_0$과 $\beta_1$은 최대 가능도를 사용하여 추정되는 반면 $c_0$과 $c_1$은 정규분포로부터 추정된 평균과 분산을 사용하여 계산된다는 점이다. $p>1$인 다차원 데이터에 대해서도 성립한다.

 

로지스틱 회귀와 LDA는 단지 적합 절차만 다르므로, 두 기법의 결과는 유사할 것이라고 예상할 수도 있지만, 이는 항상 옳은 것은 아니다. LDA는 관측치들이 각 클래스에 공통인 공분산 행렬을 갖는 가우스 분포를 따른다고 가정한다. 이 가정이 근사적으로 성립하면, LDA는 로지스틱 회귀보다 더  나은 결과를 제공할 수도 있다. 그러나 가우스 가정이 만족되지 않으면, 로지스틱 회귀가 더 좋은 성능을 낼 수 있다.

 

KNN은 관측치 $X=x$에 대해 예측하기 위해, $x$에 가장 가까운 $k$개의 훈련 관측치가 식별된다. 그런 다음 $x$는 이 관측치들이 속하는 클래스에 할당된다. 따라서 KNN은 완전히 비모수적 방법이다. 즉, 결정 경계의 형태에 대해 어떠한 가정도 하지 않는다. 그러므로 이 기법은 결정 경계가 상당히 비선형적인 경우, LDA와 로지스틱 회귀보다 우수 할 수 있다. 그러나 KNN은 어느 설명 변수가 중요한지 알 수 없다. 

 

마지막으로, QDA는 비모수적 방법인 KNN과 선형의 LDA 및 로지스틱 회귀 사이에서 절충한 것이다. QDA는 이차 결정경계를 가정하므로 선형 방법들보다 더 넓은 범위의 문제들을 정확하게 모델링할 수 있다. QDA는 KNN 만큼 유연하지 않지만 결정경계의 형태에 대해 몇 가지 가정을 하기 때문에 훈련 관측치의 수가 제한적인 경우에 KNN보다 더 나은 성능을 낼 수 있다. 

 

이 4가지 분류기법의 성능을 보여주기 위해 6가지 다른 시나리오의 데이터를 사용한다. 이 시나리오들 중 3개는 베이즈 결정경계가 선형이고 나머지는 비선형이다. 각 시나리오에 대해 100개의 훈련 데이터셋을 생성하였다. 각 훈련셋에 대해 4가지 분류기법을 적합하고 검정셋에 대해 검정오차율을 계산하였다.

 

KNN 방법은 이웃의 수 $K$를 선택해야 한다. 여기서 사용된 6가지 시나리오는 아래와 같고 설명 변수의 수는 $p=2$이다. 

그림 4.10: 각 선형 시나리오에 대한 검정오차율의 박스도표

Scenario 1: 두 클래스 각각에 20개의 훈련 관측치가 있다. 각 클래스의 관측치들은 클래스별로 평균이 다른 상관관계가 없는 정규 확률 변수이다. 이 설정은 LDA 가정을 만족하므로 LDA의 성능이 가장 좋다. KNN은 편향이 감소함에도 분산으로 인해 성능이 좋지 않다. QDA도 LDA보다 성능이 나쁜데, 그 이유는 필요이상으로 유연한 분류기를 적합했기 때문이다. 로지스틱 회귀는 선형결정경계를 가정하므로 LDA보다 약간 나쁘지만 거의 비슷하다. 

 

Scenario 2: 각 클래스에서 두 설명 변수 사이의 상관계수가 -0.5라는 것을 제외하면, 시나리오 1과 같다. 상대적 성능이 이전 시나리오와 비교해 거의 변화가 없다는 것을 나타낸다. 

 

Scenario 3: 각 클래스마다 50개의 관측치에서 $X_1$과 $X_2$를 t-분포로 생성한다. t-분포는 정규 분포와 유사한 형태를 가지지만, 평균으로부터 멀리 떨어진 점이 더 많이 발생하는 경향이 있다. 결정 경계는 여전히 선형이기 때문에 로지스틱 회귀 방식이 적절하다. 정규 분포에서 나온 것이 아니기 때문에 LDA의 가정을 위반한다. 이로 인해 로지스틱 회귀가 LDA를 능가하며, 두 방법 모두 다른 기법들보다 우수하다는 것을 보여준다. 

그림 4.11: 각 비선형 시나리오에 대한 검정오차율의 박스도표.

Scenario 4: 데이터는 정규 분포로 생성되며, 첫 번째 클래스는 설명 변수 간의 상관계수가 0.5이고 두 번째 클래스는 설명 변수 간의 상관계수가 -0.5이다. 이 설정은 QDA 가정에 해당하며, 이차 결정 경계가 만들어진다. 

 

Scenario 5: 각 클래스의 관측치들은 서로 상관관계가 없는 설명 변수를 갖는 정규 분포로부터 생성된다. 하지만 반응변수는 $X_1^2, X_2^2$ 그리고 $X_1*X_2$를 설명 변수로 사용하는 로지스틱 함수로부터 추출된다. 그 결과, 결정 경계는 $2$차이다. QDA의 성능이 가장 좋고, 그 다음이 KNN-CV로 QDA보다는 못하지만 거의 비슷한 성능을 낸다. 선형 방법들은 성능이 좋지 않다. 

 

Scenario 6: 반응 변수가 더 복잡한 비선형 함수로부터 추출된다는 것을 제외하면 시나리오 5와 같다. 결과적으로 QDA의 이차 결정 경계도 데이터를 적절하게 모델링할 수 없다. 오른쪽 패널은 QDA가 선형 방법들보다 약간 더 나은 결과를 주고, 훨씬 더 유연한 KNN-CV 방법이 최상의 결과를 준다는 것을 보여준다. 그러나 $K=1$인 KNN은 최악의 결과를 준다. 데이터가 복잡한 비선형 상관관계를 가져도 비모수적 방법은 평활 수준이 적절하게 선택되지 않을 경우 여전히 나쁜 결과를 초래할 수 있다.

 

결정 경계가 실제로 선형일 때, LDA와 로지스틱 회귀 기법이 좋은 성능을 내는 경향이 있다. 경계가 적당히 비선형적일 때 QDA가 더 좋은 결과를 낼 수 있다. 훨씬 더 복잡한 비선형 결정 경계의 경우, KNN과 같은 비모수적 기법이 더 나을 수 있다. 비모수적 기법의 경우, 평활 수준을 주의 깊게 살펴봐야 한다. 

 

마지막으로, 3장의 선형 회귀 분석에서 비선형 상관관계는 설명 변수를 변환하여 회귀를 수행함으로써 수용할 수 있다. 이는 분류에서도 적용할 수 있다. $X^2, X^3, X^4$를 설명 변수로 포함하여 보다 유연한 버전의 로지스틱 회귀를 만들 수 있다. 추가된 유연성으로 인한 분산의 증가가 편향 감소에 의해 상쇄되는지에 따라 로지스틱 회귀의 성능이 향상 될 수도 있고, 그렇지 않을 수도 있다. LDA에 이차항과 교차곱을 추가하는 경우, 파라미터 추정치들은 다르겠지만 모델 형태는 QDA 모델과 같아질 것이다. 

댓글