AI

ML : Kernel 개념

월곡동로봇팔 2020. 6. 8. 16:23

Kernel

L (저차원) 공간 상의 두 벡터 x, y 가 있다고 할 때, Kernel Function은 K(x, y) = M(x) * M(y) 를 만족하는 매핑함수 M(.) 가 존재해야 한다. 즉, Kernel Function 의 값과 H(고차원) 공간 상으로 매핑된 두점 M(x), M(y) 의 내적이 같아야 한다.

 

Example

https://youtu.be/3liCbRZPrZA

 

이처럼 Kernel은 저차원에서 분리되지 않는 데이터들을 추가적인 연산을 통해서 고차원에서 분리해내는 작업을 도와주는 함수라고 생각하면 좋다.


Kernel의 응용

Kernel은 특히 Gaussian Process 에서 어떻게 쓰는지 자세히 나온다. 

 

Gaussian Process의 목적인, 데이터를 기반으로 함수의 분포를 예측하는 것이기 때문에, data들의 상관관계 (공분산)을 통해서 그래프를 고차원에서 그리게 되는데, 이 때 상관관계의 정도를 정해주는 것이 kernel 이라고 볼 수 있다.

 

즉, 어떤 kernel을 쓰느냐에 따라, data의 상관관계의 정도를 정할 것이고, 이는 Gaussian Process 가 어떤 Kernel을 쓰느냐에 따라 Gaussian Process의 성능이 달라질 것이다. (이 부분이 매우 중요하다.)

지금부터 Kernel의 종류와 kernel 함수에 대해 자세히 설명할 예정이다.