Linear Regression으로 부터 Gaussian Process 유도하기

Tue 06 February 2018

Gaussian Process (GP)의 정의를 놓고 보면 누가 봐도 Stochastic Process 형태를 띄고 있지만, 사실 GP는 Linear Regression로 부터 유도될 수도 있다. 먼저 Linear Regression을 Bayesian 모델로 확장하여 Bayesian Linear Regression 모델을 만들 수 있는데, 여기서 등장하는 Inner Product들을 Kernel Trick을 이용해 Kernelize하면 Bayesian Kernel Linear Regression (?) 모델을 만들 수 있다. 그리고 이 모델이 GP와 동치이다.

$$\text{Linear Regression }\xrightarrow{\text{Bayesian, Kernelize}}\text{ Gaussian Process}$$

Linear Regression

Linear Regression 문제는 Empirical Risk Minimization 타입의 문제로 다음과 같다.

$$\hat{\mathbf{w}}=\arg\min_{\mathbf{w}}\frac{1}{2}\Vert\mathbf{y}-\mathbf{X}\mathbf{w}\Vert^{2}$$

여기서 \(\mathbf{y}\in\mathbb{R}^{n}\), \(\mathbf{X}\in\mathbb{R}^{n\times d}\), \(\mathbf{w}\in\mathbb{R}^{d}\)이다.

그런데 Probabilistic Model 로 보고 Maximum Log-Likelihood 타입의 문제로 바꾸어 생각할 수도 있다.

$$p(\mathbf{y}|\mathbf{w},\mathbf{X})=\mathcal{N}(\mathbf{X}\mathbf{w},\mathbf{I})$$
$$\begin{aligned} \hat{\mathbf{w}} & =\arg\max_{\mathbf{w}}\log p(\mathbf{y}|\mathbf{w},\mathbf{X})\\ & =\arg\max_{\mathbf{w}}\left[-\frac{1}{2}(\mathbf{y}-\mathbf{X}\mathbf{w})^{\top}(\mathbf{y}-\mathbf{X}\mathbf{w})+\text{const.}\right]\\ & =\arg\min_{\mathbf{w}}\frac{1}{2}\Vert\mathbf{y}-\mathbf{X}\mathbf{w}\Vert^{2}\end{aligned}$$

아무튼 이 Loss Function은 Convex이므로 미분해서 0이 되는 조건을 찾으면 풀 수 있는데

$$\begin{aligned} 0 & =\left.\frac{\partial}{\partial\mathbf{w}}\left(\frac{1}{2}(\mathbf{y}-\mathbf{X}\mathbf{w})^{\top}(\mathbf{y}-\mathbf{X}\mathbf{w})\right)\right|_{\mathbf{w}=\hat{\mathbf{w}}}\\ & =-\mathbf{X}^{\top}\mathbf{y}+\mathbf{X}^{\top}\mathbf{X}\mathbf{\hat{w}}\end{aligned}$$

따라서 해는

$$\hat{\mathbf{w}}=(\mathbf{X}^{\top}\mathbf{X})^{-1}\mathbf{X}^{\top}\mathbf{y}$$

이다.

Remark

식으로도 알 수 있듯 해는 Orthogonal Projection의 형태이다. \(\mathbf{X}\mathbf{w}\)\(\mathbf{X}\)의 Column Space상의 Vector 이므로 \(\mathbf{y}\)와의 거리를 가장 줄일 수 있는 Vector는 \(\mathbf{y}\)를 Column Space상에 Orthogonal Projection 시킨 것이어야 된다.

Bayesian Linear Regression

\(\mathbf{w}\)의 Likelihood가 Gaussian의 형태이므로 Conjugate Prior 역시 Gaussian이다. 다음과 같이 Identity Covariance로 Prior를 주고 Posterior 를 구해보자.

Prior:

$$p(\mathbf{w})=\mathcal{N}(0,\mathbf{I})\propto\exp\left(-\frac{1}{2}\mathbf{w}^{\top}\mathbf{w}\right)$$

Likelihood:

$$\begin{aligned} p(\mathbf{y}|\mathbf{w},\mathbf{X})=\mathcal{N}(\mathbf{X}\mathbf{w},\sigma^{2}\mathbf{I}) & \propto\exp\left(-\frac{1}{2\sigma^{2}}(\mathbf{y}-\mathbf{X}\mathbf{w})^{\top}(\mathbf{y}-\mathbf{X}\mathbf{w})\right)\end{aligned}$$

Lemma \((\mathbf{y}-\mathbf{X}\mathbf{w})^{\top}(\mathbf{y}-\mathbf{X}\mathbf{w})=(\mathbf{\hat{w}}-\mathbf{w})^{\top}(\mathbf{X}^{\top}\mathbf{X})(\mathbf{\hat{w}}-\mathbf{w})+(\mathbf{y}-\mathbf{X}\hat{\mathbf{w}})^{\top}(\mathbf{y}-\mathbf{X}\hat{\mathbf{w}})\quad\forall\mathbf{w}\in\mathbb{R}^{d}\)

(Proof) 위의 Remark에서 보았듯 \(\mathbf{X}\hat{\mathbf{w}}\)이 Column Space \(\mathbf{X}\mathbf{w}\)에 Orthogonal Projection의 형태이므로 \((\mathbf{y}-\mathbf{X}\mathbf{\hat{w}})\perp\mathbf{X}\mathbf{w}\quad\forall\mathbf{w}\in\mathbb{R}^{d}\) 이다. 따라서

$$\begin{aligned} (\mathbf{y}-\mathbf{X}\mathbf{w})^{\top}(\mathbf{y}-\mathbf{X}\mathbf{w}) & =\left((\mathbf{y}-\mathbf{X}\hat{\mathbf{w}})+(\mathbf{X}\mathbf{\hat{w}}-\mathbf{X}\mathbf{w})\right)^{\top}\left((\mathbf{y}-\mathbf{X}\hat{\mathbf{w}})+(\mathbf{X}\mathbf{\hat{w}}-\mathbf{X}\mathbf{w})\right)\\ & =(\mathbf{X}\mathbf{\hat{w}}-\mathbf{X}\mathbf{w})^{\top}(\mathbf{X}\mathbf{\hat{w}}-\mathbf{X}\mathbf{w})+(\mathbf{y}-\mathbf{X}\hat{\mathbf{w}})^{\top}(\mathbf{y}-\mathbf{X}\hat{\mathbf{w}})\\ & =(\mathbf{\hat{w}}-\mathbf{w})^{\top}(\mathbf{X}^{\top}\mathbf{X})(\mathbf{\hat{w}}-\mathbf{w})+(\mathbf{y}-\mathbf{X}\hat{\mathbf{w}})^{\top}(\mathbf{y}-\mathbf{X}\hat{\mathbf{w}})\end{aligned}$$

위의 Lemma를 이용하면 Likelihood는 다음과 같이 \(\mathbf{w}\)에 대해 정리하여 쓸 수 있다.

$$p(\mathbf{y}|\mathbf{w},\mathbf{X})\propto\exp\left(-\frac{1}{2\sigma^{2}}(\mathbf{\hat{w}}-\mathbf{w})^{\top}(\mathbf{X}^{\top}\mathbf{X})(\mathbf{\hat{w}}-\mathbf{w})\right)$$

Posterior:

$$\begin{aligned} p(\mathbf{w}|\mathbf{X},\mathbf{y}) & \propto\exp\left(-\frac{1}{2\sigma^{2}}(\mathbf{\hat{w}}-\mathbf{w})^{\top}(\mathbf{X}^{\top}\mathbf{X})(\mathbf{\hat{w}}-\mathbf{w})\right)\exp\left(-\frac{1}{2}\mathbf{w}^{\top}\mathbf{w}\right)\\ & \propto\exp\left(-\frac{1}{2}\left(\mathbf{w}^{\top}\left(\frac{\mathbf{X}^{\top}\mathbf{X}}{\sigma^{2}}\right)\mathbf{w}-2\hat{\mathbf{w}}^{\top}\left(\frac{\mathbf{X}^{\top}\mathbf{X}}{\sigma^{2}}\right)\mathbf{w}+\mathbf{w}^{\top}\mathbf{w}\right)\right)\\ & =\exp\left(-\frac{1}{2}\left(\mathbf{w}^{\top}\left(\frac{\mathbf{X}^{\top}\mathbf{X}}{\sigma^{2}}+\mathbf{I}\right)\mathbf{w}-2\hat{\mathbf{w}}^{\top}\left(\frac{\mathbf{X}^{\top}\mathbf{X}}{\sigma^{2}}+\mathbf{I}\right)\left(\frac{\mathbf{X}^{\top}\mathbf{X}}{\sigma^{2}}+\mathbf{I}\right)^{-1}\left(\frac{\mathbf{X}^{\top}\mathbf{X}}{\sigma^{2}}\right)\mathbf{w}\right)\right)\\ & \propto\mathcal{N}(\left(\frac{\mathbf{X}^{\top}\mathbf{X}}{\sigma^{2}}+\mathbf{I}\right)^{-1}\left(\frac{\mathbf{X}^{\top}\mathbf{X}}{\sigma^{2}}\right)\hat{\mathbf{w}},\left(\frac{\mathbf{X}^{\top}\mathbf{X}}{\sigma^{2}}+\mathbf{I}\right)^{-1})\\ & =:\mathcal{N}(\boldsymbol{\mu}_{n},\mathbf{\Sigma}_{n})\end{aligned}$$

Predictive Distribution:

임의의 입력 \(\tilde{\mathbf{x}}\)에 대한 출력 \(\tilde{y}\)의 Predictive Distribution은 다음과 같이 정리할 수 있다.

$$\begin{aligned} p(\tilde{y}|\tilde{\mathbf{x}},\mathbf{X},\mathbf{y}) & =\int p(\tilde{y}|\mathbf{w},\tilde{\mathbf{x}})p(\mathbf{w}|\mathbf{X},\mathbf{y})d\mathbf{w}\\ & =\int p(\tilde{y}|\tilde{\mathbf{x}}^{\top}\mathbf{w})p(\tilde{\mathbf{x}}^{\top}\mathbf{w}|\mathbf{X},\mathbf{y})d(\tilde{\mathbf{x}}^{\top}\mathbf{w})\\ & =\int\mathcal{N}(\tilde{y}|\tilde{\mathbf{x}}^{\top}\mathbf{w},\sigma^{2})\mathcal{N}(\tilde{\mathbf{x}}^{\top}\mathbf{w}|\tilde{\mathbf{x}}^{\top}\boldsymbol{\mu}_{n},\tilde{\mathbf{x}}^{\top}\mathbf{\Sigma}_{n}\tilde{\mathbf{x}})d(\tilde{\mathbf{x}}^{\top}\mathbf{w})\\ & =\mathcal{N}(\tilde{y}|\tilde{\mathbf{x}}^{\top}\boldsymbol{\mu}_{n},\;\sigma^{2}+\tilde{\mathbf{x}}^{\top}\mathbf{\Sigma}_{n}\tilde{\mathbf{x}})\\ & =:\mathcal{N}(\tilde{y}|\mu_{\tilde{y}},\sigma_{\tilde{y}})\end{aligned}$$

정리하는 과정에서 다음을 이용하였다.

  • \(p(\tilde{y}|\mathbf{w},\mathbf{\tilde{x}})\)가 실제로는 \(\mathbf{w}^{\top}\mathbf{\tilde{x}}\)에 Conditioning됨

  • \(p(\mathbf{w}|\mathbf{X},\mathbf{y})=\mathcal{N}(\mathbf{w}|\boldsymbol{\mu}_{n},\boldsymbol{\Sigma}_{n})\)이므로 Linear Transform한 분포도 역시 Gaussian으로 다음과 같음 \(p(\tilde{\mathbf{x}}^{\top}\mathbf{w}|\mathbf{X},\mathbf{y})=\mathcal{N}(\tilde{\mathbf{x}}^{\top}\mathbf{w}|\tilde{\mathbf{x}}^{\top}\boldsymbol{\mu}_{n},\tilde{\mathbf{x}}^{\top}\mathbf{\Sigma}_{n}\tilde{\mathbf{x}})\)

  • 두 Gaussian의 Convolution은 Gaussian이며 Mean과 Covariance는 각 Gaussian의 Mean의 합과 Covariance의 합으로 주어진다.

최종적으로 정리하면

$$\begin{aligned} \mu_{\tilde{y}} & =\tilde{x}^{\top}\boldsymbol{\mu}_{n}\\ & =\tilde{x}^{\top}(\mathbf{X}^{\top}\mathbf{X}+\sigma^{2}\mathbf{I})^{-1}\mathbf{X}^{\top}\mathbf{X}\hat{\mathbf{w}}\\ & =\tilde{x}^{\top}(\mathbf{X}^{\top}\mathbf{X}+\sigma^{2}\mathbf{I})^{-1}\mathbf{X}^{\top}\mathbf{X}(\mathbf{X}^{\top}\mathbf{X})^{-1}\mathbf{X}^{\top}\mathbf{y}\\ & =\tilde{x}^{\top}(\mathbf{X}^{\top}\mathbf{X}+\sigma^{2}\mathbf{I})^{-1}\mathbf{X}^{\top}\mathbf{y}\\ & =\tilde{x}^{\top}\mathbf{X}^{\top}(\mathbf{X}\mathbf{X}^{\top}+\sigma^{2}\mathbf{I})^{-1}\mathbf{y}\end{aligned}$$
$$\begin{aligned} \sigma_{\tilde{y}} & =\sigma^{2}+\tilde{\mathbf{x}}^{\top}\mathbf{\Sigma}_{n}\tilde{\mathbf{x}}\\ & =\sigma^{2}+\tilde{\mathbf{x}}^{\top}\tilde{\mathbf{x}}-\tilde{\mathbf{x}}^{\top}\mathbf{X}^{\top}(\sigma^{2}\mathbf{I}+\mathbf{X}\mathbf{X}^{\top})^{-1}\mathbf{X}\tilde{\mathbf{x}}\end{aligned}$$

정리하는 과정에서 다음을 사용하였다.

  • \(\boldsymbol{\Sigma}_{n}=\left(\frac{\mathbf{X}^{\top}\mathbf{X}}{\sigma^{2}}+\mathbf{I}\right)^{-1}=\mathbf{I}-\mathbf{X}^{\top}(\sigma^{2}\mathbf{I}+\mathbf{X}\mathbf{X}^{\top})^{-1}\mathbf{X}\) (Woodbury Matrix Identity)

  • \((\mathbf{X}^{\top}\mathbf{X}+\sigma^{2}\mathbf{I})^{-1}\mathbf{X}^{\top}=\mathbf{X}^{\top}(\mathbf{X}\mathbf{X}^{\top}+\sigma^{2}\mathbf{I})^{-1}\) (Matrix Inversion Lemma)

Gaussian Process

위에서 얻은 결과를 Kernelize하면

$$\begin{aligned} \mu_{\tilde{y}} & =\mathbf{k}_{\mathbf{X}\tilde{\mathbf{x}}}^{\top}\mathbf{K}_{\mathbf{X}\mathbf{X}}^{-1}\mathbf{y}\end{aligned}$$
$$\sigma_{\tilde{y}}=k_{\tilde{\mathbf{x}}\tilde{\mathbf{x}}}-\mathbf{k}_{\mathbf{X}\tilde{\mathbf{x}}}^{\top}\mathbf{K}_{\mathbf{X}\mathbf{X}}^{-1}\mathbf{k}_{\mathbf{X}\tilde{\mathbf{x}}}$$

여기서 \(k(\cdot,\cdot)\)이 Kernel 함수일 때1 \(\mathbf{k}_{\mathbf{X}\tilde{\mathbf{x}}}\in\mathbb{R}^{n}\)\(k(\mathbf{x}_{i},\tilde{\mathbf{x}})\)로 이루어진 Vector이고, \(\mathbf{K}_{\mathbf{X}\mathbf{X}}\in\mathbb{R}^{n\times n}\)\(k(x_{i},x_{j})\)로 이루어진 Matrix이며 \(k_{\tilde{x}\tilde{x}}\in\mathbb{R}\)\(k(\tilde{x},\tilde{x})\)이다. \(\mu_{\tilde{y}}\)\(\sigma_{\tilde{y}}\)의 수식을 보면 Multivariate Gaussian Density에서 Conditional 분포의 식과 일치함을 알 수 있다. 즉 Gaussian Process의 정의와 일치한다.


  1. 여기서 Kernel함수는 \(\sigma^{2}\)의 Observation Noise가 Integrated된 것이다. 

Category: Bayesian Machine Learning Tagged: Gaussian Process Kernel Method

Comments