Computer Science/AI(ML, DL, RL, etc)
Linear Discriminant Analysis
카세우스
2026. 7. 27. 11:40

LDA는 Regulation이 없는 모델에서 특성 추출의 기법으로 사용 가능하다. PCA와 목표는 비슷한데, 대걍 클래스를 최적으로 구분할 수 있는 특성 부분 공간을 찾고자 하는 것이다. 참고로 PCA는 비지도 학습, LDA는 지도 학습이 된다.

대충 LDA 수행에 필요한 주요 단계는 아래와 같다.
- d차원의 데이터 셋을 표준화 전처리 한다.
- 각 클래스에 대해 d차원 마다 평균 벡터를 계산한다.
- 클래스간의 산포행렬과 클래스 내부의 산포행렬을 구성한다.
- (클래스간 산포행렬 inversed) * 클래스내 산포행렬의 eigenvalue와 eigenvector를 계산한다.
- 고윳값을 내림차순으로 정렬해서 순서를 매긴다.
- 가장 큰 k개의 고유 벡터를 선택해서 d times k 차원의 변환행렬을 구성한다.
- 변환행렬을 사용하여 샘플을 새로운 특성 공간으로 투영한다.


참고로 목적 함수는 아래와 같으며, 클래스 내부는 min으로 -> 클래스간 산포 행렬은 max로 해주는 놈을 찾으면 된다.

