이번 강의에서는 Principal Component Analysis (PCA)에 대해 다룹니다. PCA는 데이터 차원 축소 기법으로, 데이터 분석과 시각화, 머신러닝 모델의 성능 향상에 매우 유용합니다. 특히, Part 1의 매트릭스 분해(Matrix Decomposition)와 Part 2의 볼록 최적화(Convex Optimization)와 연관지어 PCA의 수학적 원리를 설명합니다.
고차원 데이터는 분석, 시각화, 모델링에 어려움을 줄 수 있습니다. 예를 들어, 2차원 데이터에서 두 번째 차원(X2)은 거의 0에 가깝고 의미가 없는 경우, 이를 무시하고 차원을 줄여 분석하는 것이 효율적입니다. PCA는 이러한 고차원 데이터를 저차원으로 축소하여 의미 있는 정보만을 남기고 분석하는 데 유용합니다.
예를 들어, 집을 구매할 때 고려하는 다섯 가지 요소(집의 크기, 방의 개수, 화장실의 개수, 학교 근처 여부, 우범지역 여부)를 두 가지 요소(사이즈와 위치)로 축소하여 쉽게 결정할 수 있게 해줍니다.
데이터 공분산 행렬 ( S )는 데이터 매트릭스 X 를 이용하여 다음과 같이 정의됩니다:

S = \frac{1}{n} X X^T
이 행렬은 항상 대칭(symmetric)이고 양의 정부호(positive definite)입니다. PCA는 이 공분산 행렬의 고유값과 고유벡터를 이용하여 차원을 축소합니다.
PCA의 목표는 데이터를 저차원 공간으로 투영했을 때 분산(variance)을 최대화하는 방향을 찾는 것입니다. 이를 위해 공분산 행렬의 고유값과 고유벡터를 사용합니다. 가장 큰 고유값에 해당하는 고유벡터가 가장 중요한 주성분(principal component) 방향이 됩니다.
PCA는 로우랭크 매트릭스 근사(low-rank matrix approximation)와 밀접한 관련이 있습니다. 에카르트-영 정리에 따르면, PCA는 주어진 데이터 매트릭스를 저차원 공간에서 가장 잘 근사하는 방법을 제공합니다.
데이터 차원이 데이터 개수보다 큰 경우, 공분산 행렬의 고유값 분해 대신 SVD(Singular Value Decomposition)를 사용하여 효율적으로 PCA를 계산할 수 있습니다. SVD는 다음과 같이 표현됩니다:

X = U \Sigma V^T
여기서 U와 V는 각각 좌우 고유벡터, \Sigma는 고유값 행렬입니다. 이를 이용하여 공분산 행렬의 고유값과 고유벡터를 효율적으로 구할 수 있습니다.
PCA는 고차원 데이터를 저차원으로 축소하여 중요한 정보를 유지하면서 분석을 용이하게 합니다. 이를 통해 데이터의 시각화, 분석, 머신러닝 모델의 성능을 향상시킬 수 있습니다. 이번 강의에서는 PCA의 기본 개념, 알고리즘, 수학적 원리 및 효율적인 계산 방법을 다루었습니다.
다음 강의에서는 PCA의 응용과 더 발전된 차원 축소 기법에 대해 다룰 예정입니다.
이 요약본은 LG Aimers Academy의 교육 내용을 바탕으로 작성되었습니다.