ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [4장]ISL with R : LDA(선형판별분석)
    기초지식/ISL with R(통계학) 2023. 7. 8. 07:25
    반응형

    로지스틱회귀 분석과 선형판별분석(LDA: Linear Discriminant Analysis)

    ISL with R 4 장에서는 로지스틱 회귀분석 외에 선형판별분석(LDA)라는 분류 분석을 소개한다. 로지스틱 회귀분석은 어떤 분포에 대한 가정없이 우도함수의 경사하강법을 통해서 회귀계수를 찾고 오즈(Odds)와 로짓(Logit)을 통한 판별을 했다. LDA 는 데이터의 분포가 정규분포를 따르며, 클래스별 공분산 행렬이 동일할 때 독립변수(x)를 여러 클래스(k 개의 클래스) 중 어디에 속하는지를 판별하는 방식이다. LDA는 추가적인 가정을 필요로 하지만 여러 클래스가 있는 경우, 표본이 작고 분포가 정규분포인 경우에는 로지스틱 회귀분석보다 효과가 좋다.

    독립변수가 하나일 때(p=1)

    LDA는 확률에서 베이즈 정리에서 시작한다. 베이즈 정리는 아래 식 1의 왼쪽과 같은 사후확률을 식 1의 오른쪽 부분과 같은 사전확률을 통해서 구할 수 있다는 정리이다.

    식1: 베이즈 정리(위키피디아 https://ko.wikipedia.org/wiki/%EB%B2%A0%EC%9D%B4%EC%A6%88_%EC%A0%95%EB%A6%AC 23.07.08 AM0725 인용)

    우리가 구하고자 하는 것은 "확률변수 X가 x 일 때, k 라는 클래스에 속하는 확률"인 식 2와 같은 사후확률이다.

    식2: 사후확률 정의

    베이즈 정리를 통해서 식 2를 "k 라는 클래스가 나올 확률 * k 클래스일 때 확률변수 X가 x일 확률(사전확률) / x 가 특정 클래스에 속할 모든 확률"이라는 식으로 바꿔 쓸 수 있다. "k 클래스일 때 확률변수 X가 x일 확률"인 사전확률은 아래 식 3과 같다.

    식3: 사전확률 정의

    LDA 분석을 진행하기 위해서는 추가적인 가정이 필요한데, 데이터의 분포는 정규분포를 따르고, 각 클래스의 공분산 행렬은 동일하다는 것이다. 정규분포를 따른다는 점을 고려하여 사전확률을 아래와 같은 형식으로 표현할 수 있다.

    식4: 정규분포의 사전확률

    독립변수가 하나일 때는 공분산행렬이 같다는 가정을 추가적으로 사용해서 사후확률은 아래와 같이 정의할 수 있다.(모든 클래스에 대해서 분산은 동일하다)

    식5: 정규분포의 사후확률

    위 식 5를 정리하면 판별함수를 아래 식 6과 같이 구할 수 있다. 

    식6: 판별함수의 계산

    이 때 판별함수가 가장 큰 값을 갖는 클래스가 x 가 속하는 클래스가 된다. 판별함수를 통해서 각 판별함수끼리 만나는 선을 찾을 수 있는데, 이를 결정경계(Decision Boundary)라고 한다. 클래스1과 클래스2가 있다면, 각 클래스의 판별함수가 일치하는 선을 아래 식 7처럼 찾을 수 있는 것이다. 

    식7: 결정경계 예시

    독립변수가 두 개 이상일 때(p>1) 

    독립변수가 두 개 이상일 때(p>1) 사전확률은 식 8의 과정을 거쳐서 구할 수 있다.

    식8: p>1 일 때, 정규분포의 사전확률 계산

    결과적으로 독립변수가 두 개 이상일 때(p>1) 사후확률은 아래와 같이 정의할 수 있다.

    식9: p>1 일 때, 정규분포의 사후확률

    위 식 8을 정리하면 p>1 일 때의 판별함수를 아래 식 10과 같이 구할 수 있다. 

    식10: p>1 일 때, 판별함수 계산

    반응형
Designed by Tistory.