커널 주성분 분석(kernel PCA)은 기계 학습에서 비선형 차원 축소를 위한 기법이다. 이는 커널 트릭을 적용하여 고차원의 암묵적 특징 공간에서 알고리즘이 작동할 수 있도록 함으로써, 해당 공간에서 데이터의 좌표를 명시적으로 계산하지 않고도 고전적 주성분 분석(PCA)을 확장한다. 이를 통해 커널 PCA는 선형 PCA가 놓칠 수 있는 비선형 패턴을 포착할 수 있으며, 데이터 시각화, 잡음 제거, 다른 알고리즘의 전처리와 같은 작업에 유용하다.
이 방법은 1998년 베른하르트 숄코프(Bernhard Schölkopf), 알렉산더 스몰라(Alexander Smola), 클라우스-로베르트 뮐러(Klaus-Robert Müller)에 의해 소개되었다. 그들의 공식화는 특징 공간에서의 주성분이 커널 함수를 통해 계산된 데이터 포인트 간의 쌍별 유사성을 포함하는 커널 행렬에 대한 고유값 문제를 풀어 얻을 수 있음을 보여주었다. 일반적인 커널로는 다항식 커널, 방사 기저 함수(RBF) 커널, 시그모이드 커널이 있다. 커널의 선택과 그 매개변수는 결과 임베딩에 상당한 영향을 미친다.
수학적 공식화
입력 공간에서 n개의 데이터 포인트 x_i가 주어졌을 때, 커널 PCA는 먼저 함수 φ를 통해 각 포인트를 특징 공간으로 매핑하며, 여기서 φ(x_i)는 잠재적으로 무한 차원의 힐베르트 공간에 있는 벡터이다. 커널 함수 k(x_i, x_j)는 내적 ⟨φ(x_i), φ(x_j)⟩을 계산한다. 알고리즘은 커널 행렬을 수정하여 특징 공간에서 데이터를 중심화한 다음, 중심화된 커널 행렬의 고유벡터와 고유값을 계산한다. 새로운 포인트의 주성분에 대한 투영은 새로운 포인트와 훈련 포인트 간의 커널 평가의 가중 합으로 표현되며, 가중치는 고유벡터에서 파생된다.
원래 공간에서 최대 분산 방향을 찾는 선형 PCA와 달리, 커널 PCA는 특징 공간에서 최대 분산 방향을 찾는다. 주성분의 수는 기껏해야 훈련 포인트의 수이며, 이 방법은 입력 차원보다 더 많은 성분을 생성할 수 있다. 실제로는 일반적으로 연관된 고유값의 크기에 따라 상위 k개의 성분을 선택한다.
다른 방법과의 관계
커널 PCA는 서포트 벡터 머신(SVM) 및 가우시안 프로세스 회귀와 같은 다른 커널 기반 방법과 밀접한 관련이 있으며, 이들 모두 커널 트릭에 의존한다. 이는 PCA의 비선형 일반화로 볼 수 있으며, 스펙트럼 클러스터링 및 다차원 척도법과도 연결된다. 선형 커널의 경우 커널 PCA는 정확히 표준 PCA로 축소된다. 이 방법은 또한 t-분산 확률적 이웃 임베딩(t-SNE) 및 균일 매니폴드 근사 및 투영(UMAP)과 같은 더 고급 비선형 임베딩 기법의 선구자이지만, 이러한 방법은 다른 목적 함수를 최적화한다.
응용 및 한계
커널 PCA는 얼굴 인식, 이미지 잡음 제거, 이상 탐지를 포함한 다양한 분야에 적용되었다. 얼굴 인식에서는 선형 PCA보다 분류 정확도를 향상시키는 비선형 특징을 추출할 수 있다. 이상 탐지의 경우 특징 공간에서의 재구성 오차가 이상치를 나타낼 수 있다. 그러나 커널 PCA는 주목할 만한 한계가 있다: 계산 비용이 훈련 샘플 수에 따라 이차적으로 증가하므로, 근사 없이는 매우 큰 데이터 세트에 비실용적이다. 커널과 하이퍼파라미터의 선택은 종종 교차 검증을 필요로 하며, 결과 성분의 해석 가능성은 선형 PCA보다 낮다. 또한 이 방법은 데이터가 특징 공간의 저차원 매니폴드에 놓여 있다고 가정하지만, 이는 모든 경우에 성립하지 않을 수 있다.
실용적 고려 사항
커널 PCA를 구현하려면 RBF 커널의 대역폭과 같은 커널 함수와 그 매개변수를 선택해야 한다. 커널 행렬은 중심화되어야 하며, 고유값 분해는 표준 선형 대수 라이브러리를 사용하여 수행할 수 있다. 대규모 문제의 경우 Nyström 방법이나 랜덤 특징 맵과 같은 근사 방법이 계산 부담을 줄일 수 있다. 현대 기계 학습 파이프라인에서 커널 PCA는 클러스터링 또는 분류 알고리즘을 적용하기 전의 전처리 단계로 자주 사용된다. 이는 scikit-learn과 같은 인기 있는 라이브러리에 구현되어 있으며, 다양한 커널과 솔버 옵션을 제공하는 KernelPCA 클래스를 제공한다.