-
[Machine Learning] 가우시안 프로세스 회귀(Gaussian Process Regression)Informatik 2022. 3. 2. 03:58
가우시안 프로세스는 어떤 확률변수(Random Variable)의 결합 확률(Joint Probability)이 가우시안 분포(Gaussian Distribution)를 따를 때를 말한다.
임의의 결합 확률에서 회귀(Regression) 결과가 나온다고 하자.
$$p_{\theta} (y_1, y_2, \cdots, y_N)$$
위의 결합 확률이 가우시안 분포를 따른다고 할 때,
$$p_{\theta} (y_1, y_2, \cdots, y_N) \sim \mathcal {N} (0, \Sigma)$$
공분산(Covariance)은 입력 데이터 $\mathbf {x}_1, \cdots, \mathbf {x}_N$에 의해 결정된다.
$$\Sigma_{ij} = k(x_i, x_j) + \sigma^2 \delta_{ij}$$
※ $k$는 커널 함수(Kernel Function), $\sigma^2$는 관찰되는 고유의 노이즈(Noise)이다.
$p_{\theta} (\mathbf {y})$는 회귀 결과 값의 사전 분포(Prior Distribution)로 해석될 수 있다. 관찰된 데이터 $(\mathbf {X}, \mathbf {y})$와 아직 관찰되지 않은 데이터 $(\mathbf {X}^*, \mathbf {y}^*)$ 모두 가우시안 분포를 따른다.
$$p_{\theta} \left ( \begin {bmatrix} \mathbf {y} \\ \mathbf {y}^* \end {bmatrix} \right ) = \mathcal {N} \left ( \begin {bmatrix} 0 \\ 0 \end {bmatrix}, \begin {bmatrix} \Sigma_{\mathbf {yy}} & \Sigma_{\mathbf {yy}^{*}} \\ \Sigma_{\mathbf {y}^* \mathbf {y}} & \Sigma_{\mathbf {y}^* \mathbf {y}^*} \end {bmatrix} \right )$$
$$\begin {align*}
\Sigma_{\mathbf {yy}} &= k(\mathbf {X}, \mathbf {X}) + \sigma^2 \mathbf {I}
& \Sigma_{\mathbf {yy}^*} &= k (\mathbf {X}, \mathbf {X}^*) \\
\Sigma_{\mathbf {y}^* \mathbf {y}} &= k(\mathbf {X}^*, \mathbf {X})
& \Sigma_{\mathbf {y}^* \mathbf {y}^*} &= k (\mathbf {X}^*, \mathbf {X}^*) + \sigma^2 \mathbf {I}
\end {align*}$$관찰된 출력 값 $\mathbf {y}$에 대해서 관찰 될 출력 값 $\mathbf {y}^*$의 조건부 확률(Conditional Probability)로 새로운 데이터를 처리한다. 이는 사후 확률(Posterior Probability)로 해석될 수 있다.
$$p_{\theta} (\mathbf {y}^* | \mathbf {y})$$
※ $p_{\theta} (\mathbf {y})$와 $p_{\theta} (\mathbf {y}^*)$ 모두 가우시안 분포를 따르면 임의의 모든 조건부 확률 $p_{\theta} (\mathbf {y}^* | \mathbf {y})$ 또한 가우시안 분포를 따른다.
다변량 가우시안(Multivariate Gaussian) 공식을 이용해서 조건부 기댓값을 구하면 다음과 같다.
$$\begin {align*}
\mathbb {E} [\mathbf {y}^* | \mathbf {y} = \mathbf {t}] &= \Sigma_{\mathbf {y}^* \mathbf {y}} \Sigma^{-1}_{\mathbf {yy}} \mathbf {t} \\
&= k(\mathbf {X}^*, \mathbf {X}) (K + \sigma^2 \mathbf {I})^{-1} \mathbf {t}
\end {align*}$$이는 $\lambda = \sigma^2$인 커널 능형 회귀와 같다.
※ [Machine Learning] 커널 능형 회귀(Kernel Ridge Regression)
마찬가지로, 결과의 불확실성(Uncertainty)을 따질 수 있는 공분산의 조건부 분포도 구할 수 있다.
$$\begin {align*}
Cov [\mathbf {y}^* | \mathbf {y} = \mathbf {t}] &= \Sigma_{\mathbf {y}^* \mathbf {y}^*} - \Sigma_{\mathbf {y}^* \mathbf {y}} \Sigma^{-1}_{\mathbf {yy}} \Sigma_{\mathbf {yy}^*} \\
&= (k (\mathbf {X}^*, \mathbf {X}^*) + \sigma^2 \mathbf {I}) - k (\mathbf {X}^*, \mathbf {X})(K + \sigma^2 \mathbf {I})^{-1} k (\mathbf {X}, \mathbf {X}^*)
\end {align*}$$즉, 가우시안 프로세스는 회귀 결과의 신뢰도(Confidence)를 측정하는데 수단으로 사용된다.
1. Richard O. Duda, Peter E. Hart, and David G. Stork. 2000. Pattern Classification (2nd Edition). Wiley-Interscience, USA.
2. Müller, K.R., Montavon, G. (2021). Lecture on Machine Learning 1-X. Technische Universität Berlin, Berlin, Germany.
반응형'Informatik' 카테고리의 다른 글