GPstuff 툴박스로 보는 베이지안 가우시안 프로세스 모델링
초록
본 논문은 베이지안 계층 모델에서 잠재 함수에 대한 사전 분포로 가우시안 프로세스(GP)를 활용하는 방법을 소개한다. GP의 평균·공분산 함수가 함수의 매끄러움과 변동성을 정의하고, 이를 함수 공간에서 직접 추론함으로써 복잡한 모델링이 가능하다. 구현상의 어려움을 해소하기 위해 MATLAB/Octave 환경에서 동작하는 GPstuff 툴박스를 제시하고, 다양한 추론 기법·희소 근사·모델 평가 도구들을 정리한다. 마지막으로 여러 사례 연구를 통해 GPstuff의 실용성을 검증한다.
상세 분석
가우시안 프로세스는 무한 차원의 확률 과정으로, 임의의 입력 집합에 대해 다변량 정규분포를 정의한다. 논문은 먼저 GP의 핵심 구성 요소인 평균 함수와 공분산(커널) 함수를 상세히 설명한다. 평균 함수는 보통 0으로 설정해 사전 편향을 최소화하고, 공분산 함수는 라디얼 베이시스 함수(RBF), 마터니 차수, 선형 커널 등 다양한 형태를 제공한다. 이러한 커널 선택은 함수의 매끄러움, 주기성, 비선형성 등을 조절하며, 하이퍼파라미터는 최대가능도(MLE) 혹은 베이지안 최적화로 학습된다.
추론 단계에서는 정확한 사후 분포가 계산 불가능한 경우가 많아 근사 방법이 필요하다. 논문은 크게 두 축으로 나눈다. 첫 번째는 라플라스 근사, 기대값 전파(EP), 변분 베이지안(VB) 등 비희소 방법이며, 두 번째는 FITC, PITC, VFE 등 희소 근사 방법이다. 라플라스는 로그 사후를 2차 테일러 전개해 가우시안 근사를 제공하고, EP는 각 데이터 포인트에 대한 “사이트” 메시지를 반복적으로 업데이트해 전역 근사를 만든다. 변분 베이지안은 사후를 가우시안으로 제한하고 ELBO를 최적화한다. 희소 방법은 inducing point 집합을 도입해 연산 복잡도를 O(N³)에서 O(NM²) 혹은 O(M³)로 낮춘다. 여기서 M은 inducing point 수이며, 선택 전략은 무작위, K‑means, 최적화 기반 등 다양하다.
GPstuff은 이러한 추론 알고리즘을 모듈화하여 제공한다. 사용자는 모델 정의 파일에서 likelihood(가우시안, 베르누이, 포아송 등)와 커널을 지정하고, inference 옵션을 선택하면 자동으로 사후 근사와 하이퍼파라미터 최적화를 수행한다. 또한, 교차 검증, 로그예측밀도(LPD), WAIC, DIC 등 모델 평가 지표를 내장하고 있어 모델 선택이 용이하다. 툴박스는 MATLAB과 Octave 양쪽에서 호환되며, Windows와 Linux 모두에서 실행 가능하도록 설계되었다. 코드 구조는 객체 지향 스타일을 차용해 각 요소(커널, likelihood, inference)마다 클래스를 정의하고, 상속을 통해 새로운 모델을 손쉽게 확장할 수 있다.
실험 부분에서는 회귀, 이진 분류, 다중 클래스 분류, 포아송 회귀, 다중 출력 GP 등 다양한 사례를 다룬다. 특히, 희소 GP를 이용해 대규모 데이터셋(수천~수만 샘플)에서도 학습 시간을 크게 단축하면서도 정확도 손실을 최소화한다는 점을 강조한다. 또한, 커널 합성·곱셈을 통해 복합 구조를 모델링하고, 하이퍼파라미터 사전분포를 설정해 완전 베이지안 추론을 수행하는 예시도 제공한다. 전체적으로 GPstuff은 이론적 엄밀성과 실용적 효율성을 동시에 만족시키는 플랫폼으로 평가된다.