PCA (Principle Component Analysis) - 주성분분석
앞서 LDA에서는 데이터의 그룹이 명확하게 구분지어질 수 있는 사영 직선을 찾는 것이 목표였다. 따라서, 데이터의 명확한 구획화를 위해 데이터 개별 데이터 그룹의 분산 합은 최소가 되고, 동시에 그룹 평균의 거리는 최대가 되도록 하는 직선으로 사영시키는 사영 행렬을 찾았다.
PCA 역시 데이터를 재조정하기 위해 특정 공간으로 사영시킨다는 점에서 LDA와 유사하다. 다만, PCA의 경우 계산의 용이함을 위해 차원을 줄이는 과정에서, 정보의 손실이 최소가 되도록 하는 사영 벡터를 찾는 것이 목표이다. 즉, 이름 그대로 데이터의 특성이 잘 반영된 저차원의 공간으로 사영한다는 것이다.
다만, PCA에서는 제약 함수가 추가된다. 특정 범위 내부에서 원본 차원 공간의 특성을 잘 유지하도록 저차원으로 사영되게 하는 사영 행렬을 찾는 것이 PCA의 목표라고 할 수 있다.
목적함수 정의
PCA에서는
1. 최적값을 구하는 함수
정의
PCA에서는 최대한 원본 차원의 데이터의 특성을 유지시켜야 한다. 2차원 데이터를 1차원 선상으로 사영시킨다고 생각해보자. 어떻게 2차원 벡터를 사영시켜야 가장 원래 데이터의 특성을 잘 반영할 수 있을까?
방법은 바로 사영된 벡터들의 분산이 최대가 되는 공간에 사영시키는 것이다. 이를 수식으로 표현하면 아래와 같다. 사영된 벡터는
위 식을 좀 더 정리해서 아래의 식으로 나타낼 수 있다,
2. 제약함수를 적용하기 위한 라그랑주 승수법
PCA에서
그리고 과정 1의
이를
수식풀이
1.
을 로 미분했을 때 0이 되는 구하기
💡 벡터의 미분
꼴의 미분 | 이 경우, 결과값은 스칼라이다. 따라서, 일반적인 변수를 미분하듯이 미분해주면 된다.
위 식에서 공분산행렬(
여기서
공분산행렬에 대한 식으로 정리하면 아래와 같다. 공분산행렬은 D x D 정방행렬이고,
뭔가 익숙한 형태이지 않은가?
2. 앞서 구한
가 단위벡터인지 확인하기
마지막으로 구한
특징
이렇게 사영된 공간의 특성은 어떨까? 처음에 봤던 이미지처럼 타원이 아닌 거의 원형의 형태로 데이터가 흩뿌려진 형태로 사영된다. 특정 방향으로 길게 늘어난 타원 형태의 분포를 보이는 것은 차원간 종속성이 존재한다는 것을 의미한다. 즉, 타원의 형태보다 원 형태에 가까울수록 차원간 종속성이 줄어든다고 해석할 수 있다.
앞선 수식 풀이를 통해, 결과적으로
그러므로 PCA는 축소하고자 하는 차원수를 갖는 고유벡터를 이용하여 데이터 차원을 저차원으로 축소하는 과정이라고도 해석할 수 있다.
Ref
- 이미지 출처 : Migenda, Nico & Möller, Ralf & Schenck, Wolfram. (2021). Adaptive dimensionality reduction for neural network-based online principal component analysis. PLOS ONE. 16. e0248896. 10.1371/journal.pone.0248896.