Machine Learning
An Introduction to Kernel Methods
Kernel Methods 이번 포스트에서는 저번에 살펴본 커널함수를 이용한 방법론들을 살펴보고자 한다. 커널에 의해 정의된 유사성 행렬 similarity matrix 을 입력받아 처리하는 알고리즘을 Kernel Methods 라고 한다. 앞서 살펴본 것 처럼 커널은 유사성의 측도로도 정의되고, 데이터공간의 원소들을 커널에 입력하면 실행렬을 얻을 수 있는데, 이를 유사성 행렬이라 한다...
Kernel Methods
이번 포스트에서는 [저번](https://ddangchani.github.io/machine learning/kernel1)에 살펴본 커널함수를 이용한 방법론들을 살펴보고자 한다. 커널에 의해 정의된 유사성 행렬similarity matrix 을 입력받아 처리하는 알고리즘을 Kernel Methods 라고 한다. 앞서 살펴본 것 처럼 커널은 유사성의 측도로도 정의되고, 데이터공간의 원소들을 커널에 입력하면 실행렬을 얻을 수 있는데, 이를 유사성 행렬이라 한다. 우선, 대부분의 커널 방법론들의 근간에는 두 가지 개념이 있는데, Kernel Trick과 Representer Theorem이다.
Kernel Trick
커널 트릭의 내용은 이전 게시글에서 살펴본 내적으로서의 커널 함수의 개념과 유사하다.
벡터형 데이터를 처리하는 알고리즘 중 오직 점곱 형태로만 표현될 수 있는 것들은 특성공간feature space 에서 커널을 이용해 암묵적으로Implicitly 수행될 수 있다.
커널이 특성공간에서 내적으로 정의된다는 점을 고려할 때 위 명제는 당연한 것처럼 보인다. 그러나, 당연한 명제임에도 실제 알고리즘에 적용될 때에는 기대 이상으로 효과적일 수 있다. 예를 들어, PCA나 LDA와 같은 선형 알고리즘의 경우, 일반적인 내적 대신에 가우시안 방사커널을 이용하게 되면 이를 비선형문제로 치환할 수 있다. 다음과 같은 대상간 거리 측정에서의 예시도 살펴보자.
예시 - 객체 간 거리측정 문제
Input space 에 커널 가 정의되어있고, 이때 의 점들간의 거리를 측정하는 문제를 고려하자. [이전](https://ddangchani.github.io/machine learning/kernel1)에 살펴본 것처럼, 커널은 점곱으로 표현될 수 있다. 따라서 점곱이 정의된 공간 으로의 사상 이 정의된다면 커널을 로 표현할 수 있다.
유한집합 이 주어진 데이터 객체들의 모임이라고 해보자. 즉, 이다. 이때 주어진 임의의 가 집합 에 어느 정도로 가깝고 먼지, 거리(dist)를 측정하는 상황을 생각하자. 예컨대 K-nearest neighborhood 문제에서 특정 객체의 클래스를 분류할 때 주어진 K개의 이웃들과의 거리를 측정하는 상황을 생각하면 될 것이다. 만약 특성공간으로의 사상 가 주어진다면, 우리는 간단하게 해당 거리(dist)를 다음과 같이 정의할 수 있다.
여기서 은 의 중심으로 로 정의한다. 그러나 커널 트릭을 사용한다면, 특성공간으로의 사상을 계산할 필요 없이 커널을 이용해 바로 거리를 측정할 수 있다.
표현자 정리Representer Theorem
RKHS(Reproducing Kernel Hilbert Space)
표현자 정리를 설명하기에 앞서, 설명에 필요한 RKHS에 대해 살펴보고 가자. 말그대로, RKHS는 힐베르트 공간의 일종인데, 쉽게 말하면 RKHS의 어떤 함수 가 노음에서 근접하면, 즉 가 작아지면 임의의 에 대해 도 작아짐을 의미한다.
재생커널힐베르트공간
임의의 집합 에 대해 를 에서의 실함수들의 집합인 힐베르트 공간이라고 정의하자(점별합과 스칼라곱이 정의됨). 이때 임의의 에 대해 선형범함수 를 정의하자. 이때 이 유계(유계선형범함수)이면 를 RKHS라고 한다. 즉,
이 성립하는 가 존재한다.
이때, 리즈표현정리에 의해 다음이 성립한다. RKHS에서 유계선형범함수 가 주어지므로, 임의의 에 대해 유일한 가 대응되어
가 성립한다. 이때 도 실함수 힐베르트공간 의 원소이므로, 다른 의 원소 에 대해 를 생각하면 에 대응되는 실함수를 라고 할 때
를 얻을 수 있다. 이를 이용하면, 에서 커널을 재생reproduce해낼 수 있다. 즉 커널 을 다음과 같이 정의하면
이는 커널의 성질을 만족한다. 이렇듯, 커널을 reproduce 할 수 있는 공간이라는 의미에서 재생커널힐베르트공간, RKHS 라고 한다.
Representer Theorem
커널 가 부여된 Input Space 와 에서의 유한데이터셋 을 고려하자. 이때 n+1개의 입력값에 대한 함수 가 마지막 입력값(argument) 에 대해 단조증가라고 하자. 이때, 커널 에 대응되는 RKHS 에서의 최적화 문제
의 해는 다음과 같이 표현된다.
증명. 위의 최적화 문제를 를 최소화하는 문제라고 하자. 의 부분공간
을 잡자. 그러면 임의의 함수 에 대한 직교화(Orthogonalization)을 생각할 수 있는데, 로 하여 를 의 로의 정사영, 를 직교여공간으로의 정사영이라고 하자.
이때, 각 함수 는 의 원소이고, 이므로 이 성립한다. 그러므로 가 성립한다. 또한, 함수공간에서 가 성립하므로 이다 (등호는 일 때 성립). 또한 조건에서 가 에 대해 단조증가하므로 의 최솟값 는 의 원소여야 한다 (등호일때 최소이므로).
예시
표현자 정리에 관한 예시는 커널 PCA에서 확인할 수 있다.
References
- An Introduction to Kernel-Based Leaning Algorithms, K.R. Muller et al.
- A primer on kernel methods, J.Philippe Vert et al.