Hilbert space(힐버트 공간)에는 여러가지가 있지만 하필 reproducing kernel hilbert space (RKHS)에 대해서 설명하려는 것은 이 공간이 support vector machine (SVM)이라는 기계학습(machine learning) 중 한 기법을 nonlinear class로 확장 시키는 데 중요한 역할을 하기 때문이다. 이번엔 우선 Hilbert space가 뭔지 알아보고 그 중에서 reproducing kernel hilbert space가 무엇인지 알아보려고 한다.
간단히 설명해 Hilbert space는 Euclidean space(유클리드 공간)를 inifinite demension(무한차원)까지 확장한 것으로 생각할 수 있다. 우리가 고등학교 때 배운 벡터라 함은 2차원, 3차원, …, n차원 등의 유한 차원 공간에서 어떤 점을 말한다. 즉 예를 들어 4차원 (컬럼) 벡터
라 함은
와 같은 녀석을 말한다. 이를 다르게 생각하면 domain(정의역)
에서 정의된 함수

로 볼 수도 있다. 즉 유한차원에서의 벡터는 어떤 정수 입력이 들어가면 그에 대응하는 출력이 나오는 함수로 볼 수 있다는 얘기다.
이를 거꾸로 생각하면 어떤 함수
도 벡터로 생각할 수 있게 된다. 이런 함수들로 구성된 공간이 무한 차원인 것은
의 정의역인
에 무한히 많은 원소가 있기 때문이다. 하여간 함수들로 이루어진 대표적인 vector space에는
space(Hilbert space이기도 함)가 있다.
다시 Hilbert space로 돌아가서 얘기해보자. Hilbert space
는 vector space이다. 벡터 스페이스 중에서도 어떤 Norm이 정의될 수 있는 공간을 normed space라 한다. Normed space에서 벡터간 내적
이 정의되면 그 공간은 inner-product space라 한다. inner-product space에서는 Norm
이 자연히 존재하며 이 Norm에 대해 Complete한 공간, 즉 모든 Cauchy sequence가 한 점으로 수렴하는 공간을 Hilbert space라고 한다. Hilbert space에서는 두 벡터
와
간의 거리
를
로 정의할 수 있으므로 metric space이기도 하다.
요약 하자면 어떤 Space
가 Hilbert space라면
는
- Vector space
- Metric space
- Normed space
- Inner-product space
- Complete space
인 것이다.
이제 RKHS로 넘어가자. 이 공간은 symmetric and positive semidefinite(SPSD)한 Kernel에 의해 유도되는 공간이다. 그러니 먼저 SPSD kernel이 무엇인지 부터 알아보자. 일단 kernel이라 함은 어떤 domain
에 속하는 인자를 두개 받는 함수
로 정의 할 수 있다. Symmetric하다 함은

가 성립됨을 말한다. Positive semidefinite하다는 건 좀 정의하기가 복잡한데 Mercer theorem에 따르면 다음과 같다. 도메인
에 속한 임의의 점 Sequence
가 있고 이 점 sequence에 대응하는 Gram matrix
의 각 원소를
로 정의한다. 모든 가능한 임의의 n과 임의의 모든 점 조합
에 대해
가 positive semidefinite하면 이 kernel은 positive semidefinite한 kernel이라 한다.
쉽게 얘기하자면 kernel은 Euclidean space에서의 matrix의 Hilbert space 버전으로 생각할 수 있다. (엄밀히 얘기해서 Euclidean space도 Hilbert space에 속한다.)
그럼 일단 RKHS
의 구성원 들이 어떻게 생겼는지 정의부터 해보자. RKHS를 만드려면 몇가지 재료가 필요하다. 재료부터 알아보자.
- 입력공간(Input space)
,
의 원소 둘을 실수로 대응시키는 Binary함수이며 SPSD 커널인
.
이 둘이 있으면 RKHS
는 다음과 같이 정의할 수 있다.
.
말로 풀어 쓰자면
에 속하는 함수는 입력공간의 여러점에서의 커널 함수를 계산하는 것을 선형조합(Linear combination)한 것이라 할 수 있다.
이면
,
,
등등등…인 것은 자명하니까
가 벡터 공간임은 쉽게 알 수 있다. 다음으로는 inner-product 공간인지 확인해 보자. inner-product 공간임이 확인되면 normed space와 metric space는 자동으로 확인된다. 우선은 inner-product
를 다음과 같이 정의해보자.
의 임의의 두 원소
와
에 대해
.
이제 할 일은 이 연산자가 진정 inner-product의 성질을 갖고 있는지 확인하는 일이다. Inner-product는 다음과 같은 4가지 성질을 만족해야 한다.
의 원소
와 임의의 실수
에 대해서
-
Associative:

,
-
Symmetric:

,
-
Distributive:

, 그리고 마지막으로
-
Definite:

, 단 등호는

일 때만 성립.
위 성질중 1,2,3번을 묶어서 Bilinear하다고 한다. 아무튼 1,2,3번은 입증하기 매우 쉽다. 연습문제로 함 해보도록 *^^*. 4번은 좀 증명하려면 긴데 위에 첨부한 강의 노트를 보도록 하자. 4번을 증명하려면 Cauchy-Schwarz 부등식

이 성립함을 보여야 한다. 이 부등식을 증명하려면 자연스럽게 사용하게 되는 커널의 성질이 있는데 그게 뭔고하니 커널의 Dirac delta function과 비슷한 성질인 Representer of evaluation이라 불리는
.
그리고 바로 이 스페이스의 이름에 들어가는 Reproducing 성질(property)인

와 같은 성질을 갖고 있다.
Inner-product 공간임이 밝혀 졌으니 natural norm(
)이 존재하므로 normed space이면서 norm을 이용한 distance measure가 있으니 metric space임도 저절로 밝혀진다. 이제 Complete space임을 보이면 되는데 사실 위에서 정의한
로는 complete space가 될 수 없다. 이를 위해 추가적인 원소를
에 더해줘야 하는데 이를 위해서는 다음과 같은 부등식을 이용해야 한다.
.
따라서 위에서 정의한
내에 있는 모든 가능한 Cauchy sequence의 limit을
에 추가해 주면
은 complete한 공간이 된다. 따라서 이러한 점들이 추가된
는 Hilbert space가 된다.
이 긴 과정을 요약하면
는 어떤 kernel로부터 유도 되는 공간으로서 그 kernel은 reproducing 성질을 갖게 되며 그 공간은 Hilbert space이기 때문에
는 reproducing kernel hilbert space라고 불린다는 것이다.
Recent Comments