8.57 가우시안 과정 회귀(GPR)의 원리
1. GPR의 문제 설정
가우시안 과정 회귀(Gaussian Process Regression, GPR)는 학습 데이터 \mathcal{D} = \{(\mathbf{x}_i, y_i)\}_{i=1}^{n}로부터 미지의 함수 f: \mathcal{X} \to \mathbb{R}을 베이지안 비모수적 방법으로 추정하는 문제이다. 관측 모델은 다음과 같다.
y_i = f(\mathbf{x}_i) + \epsilon_i, \quad \epsilon_i \sim \mathcal{N}(0, \sigma_n^2)
2. GPR의 사전 분포
함수 f에 대한 사전 분포를 가우시안 과정으로 설정한다.
f \sim \mathcal{GP}(m(\mathbf{x}), k(\mathbf{x}, \mathbf{x}'))
통상 m(\mathbf{x}) = 0으로 설정하며, 커널 k가 함수 공간의 사전 구조(매끄러움, 스케일 등)를 결정한다.
3. 결합 가우시안 분포
학습 데이터의 함수값 \mathbf{f} = [f(\mathbf{x}_1), \ldots, f(\mathbf{x}_n)]^T와 테스트 점 \mathbf{X}_*에서의 함수값 \mathbf{f}_* = [f(\mathbf{x}_{*1}), \ldots, f(\mathbf{x}_{*n_*})]^T의 결합 분포는 가우시안이다.
\begin{bmatrix}\mathbf{y} \\ \mathbf{f}_*\end{bmatrix} \sim \mathcal{N}\left(\mathbf{0}, \begin{bmatrix}\mathbf{K} + \sigma_n^2\mathbf{I} & \mathbf{K}_* \\ \mathbf{K}_*^T & \mathbf{K}_{**}\end{bmatrix}\right)
여기서:
- \mathbf{K}: 학습 입력의 공분산 행렬, K_{ij} = k(\mathbf{x}_i, \mathbf{x}_j)
- \mathbf{K}_*: 학습-테스트 교차 공분산, [\mathbf{K}_*]_{ij} = k(\mathbf{x}_i, \mathbf{x}_{*j})
- \mathbf{K}_{**}: 테스트 입력의 공분산 행렬
4. 예측 분포
결합 가우시안의 조건부 분포 공식에 의해, 학습 데이터가 주어졌을 때 테스트 함수값의 예측 분포는 가우시안이다.
\mathbf{f}_* \vert \mathbf{X}, \mathbf{y}, \mathbf{X}_* \sim \mathcal{N}(\bar{\mathbf{f}}_*, \text{Cov}(\mathbf{f}_*))
4.1 예측 평균
\bar{\mathbf{f}}_* = \mathbf{K}_*^T(\mathbf{K} + \sigma_n^2\mathbf{I})^{-1}\mathbf{y}
이는 학습 데이터 \mathbf{y}의 가중 선형 결합이며, 가중치는 커널에 의해 결정된다.
4.2 예측 공분산
\text{Cov}(\mathbf{f}_*) = \mathbf{K}_{**} - \mathbf{K}_*^T(\mathbf{K} + \sigma_n^2\mathbf{I})^{-1}\mathbf{K}_*
예측 공분산은 관측 \mathbf{y}의 값에 무관하며, 사전의 공분산에서 관측에 의해 “설명된” 부분을 뺀 것이다.
5. 핵심 성질
5.1 불확실성 정량화
GPR의 가장 중요한 이점은 예측 불확실성을 자연스럽게 제공한다는 점이다. 학습 데이터가 많은 영역에서는 예측 분산이 작고, 데이터가 적은 영역에서는 크다. 예측 분산은 데이터 효율적 학습, 능동 학습(active learning), 안전한 의사결정에 활용된다.
5.2 보간성
잡음이 없는 경우(\sigma_n^2 = 0), GPR은 학습 데이터를 정확히 보간한다(예측 평균이 학습 데이터를 통과). 잡음이 있는 경우 학습 데이터의 잡음을 평활화한다.
6. 하이퍼파라미터 학습
커널 하이퍼파라미터 \boldsymbol{\theta}와 잡음 분산 \sigma_n^2은 로그 주변 가능도(log marginal likelihood)를 최대화하여 학습한다.
\ln p(\mathbf{y} \vert \mathbf{X}, \boldsymbol{\theta}) = -\frac{1}{2}\mathbf{y}^T\mathbf{K}_y^{-1}\mathbf{y} - \frac{1}{2}\ln\lvert\mathbf{K}_y\rvert - \frac{n}{2}\ln(2\pi)
여기서 \mathbf{K}_y = \mathbf{K} + \sigma_n^2\mathbf{I}이다. 세 항의 해석:
- 적합도: -\frac{1}{2}\mathbf{y}^T\mathbf{K}_y^{-1}\mathbf{y} (데이터에 대한 적합)
- 복잡도 벌점: -\frac{1}{2}\ln\lvert\mathbf{K}_y\rvert (모델 복잡도에 대한 벌점)
- 정규화 상수
로그 주변 가능도는 적합도와 복잡도의 자동 균형을 내재하여 과적합(overfitting)을 방지한다(오컴의 면도날).
7. 수치적 구현
역행렬 \mathbf{K}_y^{-1}을 직접 계산하는 대신 촐레스키 분해 \mathbf{K}_y = \mathbf{L}\mathbf{L}^T를 이용하여 수치적 안정성을 확보한다.
\boldsymbol{\alpha} = \mathbf{L}^{-T}(\mathbf{L}^{-1}\mathbf{y}), \quad \bar{\mathbf{f}}_* = \mathbf{K}_*^T\boldsymbol{\alpha}
계산 복잡도는 학습 시 O(n^3) (촐레스키 분해), 예측 시 O(n^2)이다.
8. 대규모 GPR의 확장
학습 데이터가 많을 때 O(n^3) 비용이 과도하므로, 다양한 희소 근사가 제안되었다.
유도 점(Inducing Points) 방법: FITC, DTC, SOR 등 m \ll n개의 유도 점을 도입하여 O(nm^2)의 복잡도로 근사한다.
변분 GP: 변분 추론에 기반한 희소 근사이다.
9. 로봇 공학에서의 GPR
동역학 모델 학습: 미지의 비선형 동역학을 GPR로 학습하고, 학습된 모델을 모델 기반 제어(MPC, PILCO)에 사용한다.
센서 캘리브레이션의 잔차 모델링: 명목 모델의 잔차 오차를 GPR로 학습하여 캘리브레이션 정밀도를 향상시킨다.
힘/토크 추정: 외부 접촉력을 관절 측정으로부터 추정하는 문제에서 GPR이 사용된다.
10. 참고 문헌
- Rasmussen, C. E., & Williams, C. K. I. (2006). Gaussian Processes for Machine Learning. MIT Press.
- Deisenroth, M. P., Fox, D., & Rasmussen, C. E. (2015). “Gaussian Processes for Data-Efficient Learning in Robotics and Control.” IEEE Transactions on Pattern Analysis and Machine Intelligence, 37(2), 408–423.
- Bishop, C. M. (2006). Pattern Recognition and Machine Learning. Springer.
version: 1.0