선형 판별 분석

선형 판별 분석 (Linear Discriminant Analysis, LDA) #

선형 판별 분석(Linear Discriminant Analysis, LDA)은 차원 축소와 분류를 동시에 수행할 수 있는 통계적 기법이다. 클래스 간의 분산은 최대화하고 클래스 내의 분산은 최소화하는 방향으로 데이터를 투영하여 최적의 판별 축을 찾는다. LDA는 1936년 로널드 피셔(Ronald Fisher)에 의해 개발되어 “피셔의 선형 판별"이라고도 불린다.

LDA의 기본 개념 #

1. 목적 #

  • 클래스 분리: 서로 다른 클래스를 최대한 멀리 떨어뜨림
  • 클래스 집중: 같은 클래스 내의 데이터는 가능한 한 가깝게 모음
  • 차원 축소: 분류에 유용한 저차원 공간으로 데이터 투영

2. 기본 가정 #

  • 정규분포: 각 클래스의 데이터가 다변량 정규분포를 따름
  • 동일한 공분산: 모든 클래스가 같은 공분산 행렬을 가짐
  • 선형 분리: 클래스들이 선형적으로 분리 가능

LDA의 수학적 원리 #

1. 클래스 간 분산과 클래스 내 분산 #

클래스 내 분산 행렬 (Within-class scatter matrix):

$$S_W = \sum_{i=1}^{c} \sum_{x \in C_i} (x - \mu_i)(x - \mu_i)^T$$

클래스 간 분산 행렬 (Between-class scatter matrix):

$$S_B = \sum_{i=1}^{c} n_i (\mu_i - \mu)(\mu_i - \mu)^T$$

여기서:

  • $c$: 클래스 수
  • $C_i$: i번째 클래스
  • $\mu_i$: i번째 클래스의 평균
  • $\mu$: 전체 데이터의 평균
  • $n_i$: i번째 클래스의 샘플 수

2. 목적 함수 #

LDA는 다음 비율을 최대화하는 방향을 찾는다:

$$J(w) = \frac{w^T S_B w}{w^T S_W w}$$

이는 일반화된 고유값 문제로 변환된다:

$$S_B w = \lambda S_W w$$

LDA의 장점 #

  1. 해석 가능성: 선형 모델로 이해하기 쉬움
  2. 효율성: 계산이 빠르고 메모리 효율적
  3. 차원 축소: 분류와 차원 축소를 동시에 수행
  4. 확률적 해석: 각 클래스에 대한 확률 제공
  5. 다중 클래스: 자연스럽게 다중 클래스 분류 지원
  6. 안정성: 작은 데이터셋에서도 안정적 성능

LDA의 단점 #

  1. 가정의 제약: 정규분포와 동일 공분산 가정
  2. 선형 한계: 비선형 패턴을 포착하지 못함
  3. 차원의 제약: 최대 c-1개 차원까지만 축소 가능
  4. 이상치 민감성: 이상치에 영향을 받기 쉬움
  5. 다중공선성: 특성 간 상관관계가 높으면 문제 발생

실제 적용 예시 #

1. 얼굴 인식 #

  • 얼굴 이미지의 차원 축소
  • 개인별 얼굴 특성 추출
  • 실시간 인식 시스템

2. 음성 인식 #

  • 음성 신호의 특성 추출
  • 화자 인식
  • 언어 분류

3. 의료 진단 #

  • 의료 영상 분석
  • 질병 분류
  • 바이오마커 발견

4. 마케팅 #

  • 고객 세분화
  • 타겟 마케팅
  • 행동 패턴 분석

LDA는 분류와 차원 축소를 동시에 수행할 수 있는 강력한 기법으로, 특히 해석 가능성이 중요한 응용 분야에서 널리 사용되고 있다. 기본 가정이 만족될 때 매우 효과적이지만, 실제 데이터에서는 가정 위반에 대한 고려가 필요하다.