Principal Component Analysis (PCA)
- PCA의 구조 및 목적
- 원점 중심(Zero-mean)의 입력 데이터 x (크기 d)를 더 낮은 차원 k (k << d)를 가지는 주요 성분 a로 압축하는 선형 변환 과정임
- 직교 행렬(Column orthogonal matrix) V (V^T V = I)를 찾아 투영을 수행함
- 차원 축소(Dimensionality reduction): a = V^T x 연산을 통해 d 차원의 데이터를 k 차원으로 줄임
- 데이터 복원(Data reconstruction): 축소된 a에 다시 V를 곱하여 원래 차원으로 복원된 근사값 x_tilde = V a = V V^T x 를 도출함
- 원본 데이터 x와 복원된 데이터 x_tilde 간의 차이인 ||x - V V^T x||^2 수식을 최소화하는 방향으로 최적화가 진행됨
Autoencoder
Autoencoder의 기본 개념과 구조
- 입력 데이터 x를 더 낮은 차원의 잠재 코드(Latent codes/features)로 인코딩한 후, 이를 다시 디코딩하여 원본과 최대한 유사한 데이터로 복원하는 신경망(Neural network) 모델임
- Encoder f: 입력 데이터 x를 더 작은 차원의 잠재 공간 h로 압축함 (h = f(x))
- Decoder g: 잠재 공간의 h를 바탕으로 원본 x와 매우 유사한 x_tilde로 복원해냄 (x_tilde = g(h))
- 분류(Classification), 군집화(Clustering), 시각화(Visualization)와 같은 다운스트림(Downstream) 작업을 위해 저차원으로 압축된 잠재 코드를 적극 활용함
- 원활한 차원 축소를 위해 모델 중간에 입력 차원보다 크기가 확연히 작은 병목 계층(Bottleneck layer) 이 필수적으로 배치되어야 함
- 손실 함수(Loss function)는 원본 x와 복원된 x_tilde의 차이를 뜻하는 min ||x - x_tilde||^2 로 구성됨
Autoencoder vs PCA 및 Manifold
- PCA (선형 차원 축소)
- 선형 부분 공간(Linear subspace)으로 데이터를 투영함
- 활성화 함수(Activation function)가 오직 선형(Linear)으로만 구성된 특별한 형태의 Autoencoder와 수학적으로 완벽히 동일함