Machine Learning
Gaussian Process
Gaussian Process (1) Definition Gaussian Process(줄여서 GP라고도 한다)는 비모수방법의 일종으로, 사전분포를 표현하여 베이즈 정리를 바탕으로 사후확률을 추론하는 기법으로 사용된다. 길이 $N$의 가우시안 랜덤 벡터(Gaussian Random Vector)란 $$ \mathbf{f} = [f1,\ldots,fN] $$ 의 형태로 주어지며, 평균벡터...
Gaussian Process (1)
Definition
Gaussian Process(줄여서 GP라고도 한다)는 비모수방법의 일종으로, 사전분포를 표현하여 베이즈 정리를 바탕으로 사후확률을 추론하는 기법으로 사용된다. 길이 의 가우시안 랜덤 벡터(Gaussian Random Vector)란
의 형태로 주어지며, 평균벡터 , 공분산행렬 가 정의된다.
Input data 에서 정의되는 함수 의 형태가 주어진다고 하자. 이때
으로 주어진 벡터의 각 성분은 해당 데이터셋에서의 unknown function value이고, 이는 random variable에 각각 대응되므로, 이는 앞서 정의한 가우시안 랜덤 벡터이다. 만일 위 랜덤 벡터가 임의의 개의 점들에 대해서 모두 jointly Gaussain이라면, 함수 을 Gaussain Process 라고 정의한다. 또한, GP에 대해 다음과 같이 mean function, covariance function이 정의된다.
이때 covariance function은 Mercer Kernel(=Positive definite kernel)로 주어지는데, 예를 들어 Gaussian RBF kernel
가 이용될 수 있다. 이렇게 정의되는 GP를 다음과 같이 표기한다.
또한, Gaussan Process의 정의에 의해 Input points 에 대해
이 성립한다(각각 GP의 평균함수, 공분산함수에 Input을 대입한 벡터, 행렬을 의미함).
Kernels
Mercer Kernel
커널에 대한 기본적인 설명은 예전에 다룬 글로 대체하고, 여기서는 주로 사용되는 커널들에 대해 다루어보도록 하자. 우선, 만약 입력벡터가 유클리드공간()인 경우 stationary kernel이 주로 사용된다. Stationary kernel은 꼴로 표현되는 커널함수를 의미한다.
Examples
-
Squared Exponential(SE) Kernel
-
Automatic Relevance Determination(ARD) Kernel
RBF 커널에서 유클리드 거리를 Mahalanobis 거리로 대체
-
Matern Kernel
SE kernel보다 더 rough한 커널로, 더 널리 사용. (e.g. Spatial statistics)
( 는 수정된 Bessel function)
Mercer's Theorem
고유값분해(eigendecomposition)를 이용하면 p.d인 kernel matrix 를 분해햐여 번째 성분을 다음과 같이 나타낼 수 있다.
이러한 아이디어를 기반으로 Kernel Matrix가 아닌, kernel function 자체에 대한 eigendecomposition을 생각할 수 있다. 우선, kernel function 에 대한 eigenfunction 및 이에 대응하는 고유값(eigenvalue) 를 다음 관계에서 정의하자.
이렇게 구해진 eigenfunction들은 서로 orthogonal하다. 즉,
을 만족한다(우변은 Kronecker delta 함수).
Mercer's Theorem은 이를 바탕으로 한 정리인데, 이는 임의의 p.d인 커널함수는 모두 다음과 같은 무한합으로 나타낼 수 있음을 의미한다.
GP Regression
Noise-Free observation
Training data 이 주어지고, 이때 noise-free인(오차항이 없는) 함수 로 관계식이 주어진다고 하자. 이때, 이미 관측된(Training data) 에 대한 함수값 를 추정하는 문제가 주어진다고 하자. 이 경우에는 GP를 가정한 함수 를 추정하는 것이 비교적 간단하다. 오차항이 없으므로 Training data를 보간(Interpolate)하는 함수를 찾으면 된다.
반면, 이번에는 Training data 외부에서 관측된 ,에서의 문제를 생각해보자. 예컨대 크기의 test dataseet 의 원소들에 대응하는 가우시안 벡터
를 추정하는 상황을 가정하자. 그러면 GP의 정의에 의해 joint distribution 은 다음과 같은 joint Gaussian이다.
\pmatrix{\mathbf f_X\\ \mathbf f_*} \sim \rm{N}\pmatrix{\pmatrix{\mu_X\\ \mu_*}, \pmatrix{\mathbf K_{X,X}&\mathbf K_{X,*} \\ \mathbf K^T_{X,*} & \mathbf K_{*,*}}}또한, Joint Gaussian Distribution의 성질로부터(수리통계학 참고) 다음 식들이 성립한다.
Noisy observation
이번에는 일반적인 경우, 즉 Training data가 의 형태로 주어지는 경우를 다루어보도록 하자. 여기서 오차항은 정규분포()를 따른다고 가정하자. 이 경우, 앞선 케이스와 같이 Interpolation은 불가능하지만, 관측 데이터들에 어느정도 가까운 Regression이 이루어진다. 우선, 관측값들의 공분산은 다음과 같이 주어진다.
이를 모든 성분에 대한 행렬로 표현하면,
으로 주어진다. 따라서, GP의 정의로부터
\pmatrix{\mathbf y\\ \mathbf f_*} \sim \rm{N}\pmatrix{\pmatrix{\mu_X\\ \mu_*}, \pmatrix{\mathbf K_{X,X}+\sigma_y^2\mathbf I&\mathbf K_{X,*} \\ \mathbf K^T_{X,*} & \mathbf K_{*,*}}}이 성립한다. 앞선 Noise-free 모델에서 공분산행렬의 구조만 바뀐 것을 확인할 수 있다. 또한, Noise-free 모델과 마찬가지로 Test data 에 대한 Posterior predictive density 역시 구할 수 있다.
Gausaain Process 모델의 적합 과정은 다음 게시글에서 이어서 다루도록 하겠다.
References
- Probabilistic Machine Learning - Advanced Topics, K.Murphy.