Posts List

[Data Mining] 8. Classification - 판별분석

판별분석(Discriminant Analysis)

[판별분석 - LDA(Linear Discriminant Analysis)의 원리 도식]

판별분석(Discriminant analysis)은 범주를 가장 잘 분류하는 변수들로 구성된 함수(변수의 조합)를 도출하는 것이며, 분류 규칙을 찾는 또 다른 방법이며, 일종의 분류 모형 중 하나이다.

판별분석의 종류는 아래와 같으며, 이번 챕터에서 그 원리를 자세히 알아보도록 하자. 

  • 피셔(Fisher) 방법 : 변수의 분포에 대한 가정이나 사전확률, 비용이 필요없다.
  • 의사결정이론 : 변수의 분포에 대해 주로 다변량 전규분포를 사용

- 선형판별분석(LDA) : 정규분포의 분산-공분산이 범주에 관계없이 동일

- 이차판별분석(QDA) : 정규분포의 분산-공분산이 범주별로 다름

※ 독립/종속변수를 이용해서 새로운 변수를 도출하는 PLS와 헷갈릴 수도 있다.
PLS는 y와 상관관계가 높을 것이라고 예상되는 변수를 도출하는 반면에 판별분석은 y를 예측할 수 있는 함수(모형)을 만드는 것이 목적이다.


1. 피셔(Fisher)방법

피셔 방법은 각 독립변수들의 선형조합으로 새로운 변수 Z (ex. Z = w1X1 + w2X2) 를 만든다. 이때 Z는 score로써 역할을 하는데, 추론된 Z를 바탕으로 분류 규칙을 만드는 것이 피셔 방법이다. (ex. if Z α → y = 1, else → y = 0)

두개 범주(0 vs. 1)를 가지는 비교적 쉬운 문제를 생각하면서 몇 가지 notation을 정의하자.

  • E[X1|범주1] = μ1(1)  : 범주가 1일때 X1의 기대값
  • E[X2|범주1] = μ2(1)  : 범주가 1일때 X2의 기대값
  • E[X1|범주2] = μ1(2)  : 범주가 2일때 X1의 기대값 
  • E[X2|범주2] = μ2(2)  : 범주가 2일때 X3의 기대값

  • Var[X1|범주1] = Var[X1|범주2] = σ12 

  • Var[X2|범주1] = Var[X2|범주2] = σ22 

※ 위첨자는 범주, 아래첨자는 변수를 의미한다. 

※ 범주가 달라도 같은 변수의 분산은 동일하다 가정하다. 

 ex) 고양이와 강아지(범주)는 눈, 코, 입 위치의 분산은 같다. (제 위치에 있다고 가정)

      다만, 강아지와 고양이의 눈의 크기, 눈썹의 길이(변수)의 분산은 다르다. 

다시 원래문제로 돌아와서, 결국 피셔방법은 w1, w2를 최적화해서 범주를 구분는데 기여할 score 함수 Z를 찾아야 한다. 그리고 피셔방법의 w1, w2최적화 아이디어는 바로 아래와 같다.

피셔함수의 핵심 아이디어는 z의 범주간 평균 차이를 최대화 하는 것이다. (분산으로 나눈 것은 표준화의 개념) 즉, 1일때의 score, 2일때의 score차이를 가장 크게 하는 w1, w2를 구하는 것이다. 위 식에서 μ와 σ2은 표본으로부터 충분히 추정할 수 있기 때문에 위 공싱을 이용해서  w1, w2를 도출하는 것은 크게 어렵지 않다.
※ 여기서  w1, w최적값을 도출하는 증명은 다루지 않는다.

그런데 재미있는 것은 이렇게 구한 Z함수는 두 개의 분류를 구분하는 직선으로 표현되는 것이다. 그렇기 때문에 Z를 기준(score)으로 Z보다 크면 y=0, Z보다 작으면 y=1과 같이 범주를 예측할 수 있다.


실제로 위와 같은 데이터가 있다고 가정하면, 데이터로부터 범주가 1일때 X1, X2의 평균, 범주가 2일때 X1, X2의 평균을 구할 수 있다. 마찬가지로 분산도 아래와 같이 표본으로부터 구할 수 있다.

행렬이 나와서 당황스럽긴 하지만 S1은 범주가 1 혹은 2일때 X1의 분산, S2는 X2의 분산이다. 그리고 (0, 1) (1, 0)에 위치한 값은 범주 1일 경우와 2일 경우에 변수가 갖는 공분산이다. (합동 표본 분산행렬)
다중회귀챕터의 모형 검정에서도 본적이 있는 행렬식이다.

각 변수의 평균과 분산을 모두 구했으면 앞서 도출한 식으로  w1, w2를 계산해서 score 함수 Z를 아래와 같이 구할 수 있다.

정리하자면 피셔방법은 표준화된 Z라는 score function을 정의하고, 그 함수를 기준으로 분류를 예측하는 방법이다.


2. 의사결정론에 의한 분류 규칙 

실제로 피셔방법은 잘 쓰이지 않는다. 아무래도 선형함수로 분류를 하려다보니 성능이 다소 아쉬웠을 것이다. 실제로 많이 쓰는 방법은 의사결정론에 의한 분류이다. 

범주1과 범주2가 확률밀도함수f1(x), f2(x)를 갖는다고 했을때 분포를 그려보자. 만약 그 두 분포가 겹쳐져 있지 않으면 문제가 없다. (중간쯤에 cutoff value를 두면 100% 나눌 수 있다.) 다만 겹친다면 적당한 C를 결정해야하는데, C를 결정했다는건 어느정도 판정에 오류를 감안한단 뜻이다. 

오분류 총확률(TPM, total probability of misclassification)은 TPM = FP + FN 으로 표현할 수 있는데, cutoff value C를 이용해 아래와 같이 정의할 수 있다. 의사결정론에 의한 분류규칙은 아래 TPM함수를 최소화 하는 경계치 C를 구하는 것이 목표로 한다.

  • FN(범주2를 1로 오분류할 확률) x (π2) = f2(x)를 C이하로 적분 x 범주2에 속할 사전확률
  • FP(범주1을 2로 오분류할 확률) x (π1) = f1(x)를 C이상으로 적분 x 범주1에 속할 사전확률

※ 위 해석은 가정한 분포 그래프와 conditional 확률 개념을 알고 있으면 쉽게 이해할 수 있다.

TPM을 최소로 하는 C를 찾기위해 위 식의 양변을 미분하면, C의 최적값 C*는 아래와 같은 특징을 가진다.

즉, 확률밀도함수에서 두 분포가 교차하는 지점인 C*를 찾는 것이다.

C*를 찾았다면 분류규칙은 간단하다. 위 예제에서는 관측치 x가 C*보다 작으면 범주1, 크면 범주2로 예측한다. 혹은 변수가 많을 경우를 대비해서 아래와 같이 분류규칙을 일반화 할 수 있다.

1) 선형판별분석(LDA : Linear Discriminant Analysis)

위에서 의사결정론에 의한 분류규칙을 일반화 하였는데, 만약 독립변수 X가 정규분포를 가진다고 가정해보자. 그럼 범주1인 경우와 범주2인 경우의 평균과 분산이 각각 계산될 것이다. (두 변수가 정규분포를 갖는다 가정했기 때문에 두 범주의 분산은 같다.)

범주1 : X~N(μ1, σ2)     범주2 : X~N(μ2, σ2)

이렇게 각각의 평균과 분산을 구할 수 있으면 확률밀도함수 공식에 따라 범주1과 범주2의 확률밀도함수를 정의할 수 있다. 그리고 정의된 확률밀도 함수 양변에 로그를 취해주면 아래와 같이 변환이 가능하다.

그리고 위 식을 전개하여 잘 묶으면 아래와 같이 표현할 수 있다.

앞서 일반화된 식에서 아래와 같이 f1(x)와 f2(x)의 비율을 통해 범주를 구분할 수 있게 일반화 했었는데,

위 수식에서 각 범주의 평균과 분산을 구해 확률밀도함수 f1(x)와 f2(x)를 구하고, 양변에 로그를 취해줌으로써 f1(x)와 f2(x)의 비율이 로그함수에서 x의 1차식으로 표현됐다. 

이렇게 분류함수를 1차식으로 만들어 취급하는 것이 바로 선형판별분석(LDA)이다. 다만 이렇게 풀 수 있었던 것은 두 범주의 분산이 같다고 가정했기 때문에 1차식으로 유도할 수 있었다. 

위 과정을 변수가 많은 경우를 대비해 일반화 시키면 아래와 같다. (자세한 증명 과정은 생략)


2)이차판별분석(QDA : Quadratic Discriminant Analysis)

지금까지 설명한 건 오분류의 총 확률(TPM)만 고려해서 이를 최소화 하기 위한 경계치 C를 구했다. 이걸 확장하면 오분류비용을 고려할 수 있다. 예를 들어 C(1|2) = 분류2를 1로 잘못 분류했을 때의 cost(=penalty)와 같은 정의를 하는 것이며, 이 비용함수을 오분류 총 기대비용(TCM : Total expected Cost of Misclassification)이라고 한다. 

TCM = C(1 | 2) x P(1 | 2) + C(2 | 1) x P(2 | 1)

= C(1 | 2) x μ2 x FN + C(2 | 1) x μ1 x FP

만약 TCM을 최소화시키면 좀 더 최적화된 C가 도출될 수도 있다.
(실제로 위 식은 TPM에 cost항이 추가되어있어 최소화 문제를 더 어렵게 만들어놨다.)

TCM을 최소화 하는 것은 위와 같이 TPM을 최소화 하는 방법에 Cost항이 추가된 것 외에는 완벽히 동일하다. 

그리고 또 하나의 차이점은 두 범주의 분산이 다르다고 가정하기 때문에 아래와 같이 분류규칙도 다소 복잡하게 나온다. (계산은 컴퓨터가 해줄테니 걱정은 하지 말자.)

위 식을 잘 보면 LDA때와는 다르게 분류 규칙이 x에 대한 2차식인 것을 확인할 수 있다. 

이렇게 「오분류 비용 정의 + 범주의 분산이 다름」이라는 조건을 통해 분류규칙을 2차식으로 표현한 것이 QDA의 원리이다.


댓글 쓰기

0 댓글