본문으로 이동

파이썬을 이용하여 커널법 배우기/커널 주성분 분석 이론

위키책, 위키책

커널 주성분 분석은 선형 주성분 분석과 마찬가지로 특징 공간상에서 목적함수 를 최소화하는 단위 벡터를 찾는 문제이다. 사상 함수 를 통해 임의의 고차원 으로 확장된 샘플 집합을 라 하면, 특징 공간상의 공분산 행렬은 다음과 같이 계산 가능하다.

여기서 는 특징 공간상에서의 샘플 평균이다.

Matlab 및 Numpy를 비롯한 다양한 행렬관련 언어로 쉽게 구현하기위해 행렬표현법을 이용하여 식 ()를 나타내면 다음과 같다.

여기서 , 이고,

는 각각 크기가 인 단위 행렬, 모든 원소가 1인 행렬이다. 이제 선형 주성분 분석과 마찬가지로 위 식의 고유값으로 주성분을 구할 수 있다.

그러나 식 ()은 임의의 고차원 특징 공간상에 존재하기 때문에 고유값을 직접 구할 수 없다.

   Kernel method 설명!!!!!!!!!

특징 공간상의 고유벡터 는 샘플들의 선형 결합으로 나타낼 수 있다는 가정을 통해 문제를 해결할 수 있다.

식 ()의 고유값 문제는 다음과 같이 표현 가능하다.

이제 각 항에 을 곱하고, 식 ()을 대입하면 다음을 얻을 수 있다.

여기서 는 커널 행렬(kernel matrix)이며, 이 행렬의 열, 행 값 는 다음과 같이 구할 수 있다.

위 식에서 는 커널 함수(kernel function)을 의미하며 Mercer's Theorem을 만족하는 커널 함수를 이용할 수 있다.

이제 식 ()에서 고유값 문제로 를 구할 수 있다. 추가적으로 을 만족시키기 위해 다음과 같은 정규화가 필요하다.

이제 의 고유값 로 나타낼 수 있다.

선형 주성분 분석과 같이 커널 주성분(kernel principal components)은 개의 선택된 고유값을 라 하면, 이 주성분으로 특징 샘플 를 사상하면 를 얻을 수 있다.

여기서 는 식 :eq:`eq-kpca-norm` 에서 고유값이 큰 순에 대응하는 개의 선택된 고유벡터이다. 를 나타내며 커널 함수를 이용하여 구할 수 있다. 원래 샘플 복원은 다음과 같이 수행하는데,

복원 결과는 여전히 특징 공간상에 존재하게 된다. 이 복원된 샘플의 입력 공간상의 값 는 pre-image 문제로 해결 가능하다.