5.2.2 선형 판별 분석의 내부 동작 방식
코드 구현을 시작하기 전에 LDA 수행에 필요한 주요 단계를 간단히 요약해 봅시다.
1. d 차원의 데이터셋을 표준화 전처리합니다(d는 특성 개수입니다).
2. 각 클래스에 대해 d 차원의 평균 벡터를 계산합니다.
3. 클래스 간의 산포 행렬(scatter matrix) SB와 클래스 내 산포 행렬 Sw를 구성합니다.
4. SW-1SB 행렬의 고유 벡터와 고윳값을 계산합니다.
5. 고윳값을 내림차순으로 정렬하여 고유 벡터의 순서를 매깁니다.
6. 고윳값이 가장 큰 k개의 고유 벡터를 선택하여 d×k 차원의 변환 행렬 W를 구성합니다. 이 행렬의 열이 고유 벡터입니다.
7. 변환 행렬 W를 사용하여 샘플을 새로운 특성 부분 공간으로 투영합니다.
여기서 볼 수 있듯이 LDA는 행렬을 고윳값과 고유 벡터로 분해하여 새로운 저차원 특성 공간을 구성한다는 점에서 PCA와 매우 닮았습니다. 앞서 언급한 것처럼 LDA는 단계 2에서 계산하는 평균 벡터를 만드는 데 클래스 레이블 정보를 사용합니다. 클래스 레이블별로 데이터를 나누어 평균을 구합니다. 이어지는 절에서 코드를 구현해 가면서 이 일곱 단계를 자세히 설명하겠습니다.