본문 바로가기

Computer Science

Gaussian Process-2

Random Process

Gaussian Process를 먼저 설명하기는 했지만, GP는 Random Process에 속하는 하나의 방법론입니다. 랜덤 프로세스를 정의한다면, Infinite indexed collection of random variables라고 볼 수 있습니다.

{$X(t)| t \in T$}

랜덤 프로세스도 하나의 함수라고 볼 수 있으며, t와 w를 변수로 갖습니다. 어떤 변수를 Fix 하느냐에 따라서 Deterministic 하기도 하고 Probabilistic 합니다.

A function $X(t,w)$, where $t \in T$ and $w \in \Omega$

Fixed $t → X(t,w)$ is a random variable over $\Omega$

Fixed $w → X(t,w)$ is a deterministic function of t, a sample function

랜덤 프로세스에서 X function을 정의하면 Gaussian Process가 됩니다. 여기서 X는 Normal Distribution입니다.

Hyper-parameter Learning

 Gaussian Process가 하나의 블랙박스 모델이라고 한다면, 결국 GP를 정의해주는 Hyper Parameter가 필요합니다. 위 식에서 보면 $\theta_{0,1,2,3}$가 Hyper Parameter라고 볼 수 있습니다. 이들을 학습시켜 최적의 GP를 만들어야 하는데 이는 Neural Network 방식과 유사합니다. 즉, Loss Function을 정의해주고 그 Loss function을 최소화하는 방식으로 학습할 수 있습니다. 본 GP는 Probabilistic 한 방법이기 때문에 Loss Function 대신 Likely를 높이는 방식으로 학습을 하게 됩니다.

* 실제로, Uncertainty를 계산하는 BNN(Bayesian Neural Network)은 GP와 유사한 방법론임이 증명되었습니다.

 

우선 Multi-Variate Gaussian Distribution의 PDF는 아래와 같이 나타낼 수 있습니다. 주어진 pdf를 $\theta_i$로 미분을 진행하면 아래처럼 식이 나타납니다. 이를 0으로 만드는 $\theta_i$들을 찾는 것이 Learning이라고 볼 수 있습니다.

Gaussian Process: GP Classifier

Logistic Regression

Sigmoid Function + Linear Regression

$P(y =1|x) = \frac{1}{1+e^{-\theta^Tx}}$

본 식을 수식으로 나타내면 $\sigma(f(x;\theta))$의 형태가 될 것입니다. 다만, 선형 회귀는 단조 증가/감소의 형태를 띠는 단점이 있습니다. 따라서, Non-Linear 한 방식이 필요한데, 이때 Gaussian Process를 활용할 수 있습니다.

이에 대해 Likelihood를 Maximization 하는 방향으로 Learning 합니다.

 

Bayesian Optimization with GP

Bayesian Optimization은 어떤 Underlying Function이 있다면, 그 함수의 최댓값을 찾는 것이 목표입니다. 여기서 Underlying Function은 Unknown상태입니다. result와 input은 Continuous 하며, result는 Stochastic element를 갖습니다.

 Fix 된 샘플링 지점을 샅샅이 조사하는 Grid Search는 Observed Value에 의해 추정되는 Underlying Function이 주는 정보들을 고려하지 않고 Binary Search도 input값이 fix 되지 않다는 점만 빼면 Grid Search와 비슷합니다. 반면, BO는 Underlying Function 학습과 다음 최적의 Result가 있을 것으로 예측되는 Input값 찾는 과정을 같이 수행합니다. 아래는 BO를 통해 최적화를 진행한 것인데, 점이 Observed value들입니다. 많은 관측치가 추정될수록 근처 Variance가 줄어드는 것을 볼 수 있습니다.

2→3 과정에서는 새로운 값을 찾아 나섰고 3→4 과정에서는 비슷한 지점을 관측했습니다. 전자는 Exploration이고 후자는 Exploitation입니다.

Acquisition Function

exploitation& exploration 중 어느 것을 수행할 것인지 정해주는 함수가 Acquisition function입니다.

Acquisition Function의 대표적인 예시인 MPI는 아래와 같은 process를 거치게 됩니다.

여기서 m은 Margin으로 기존 $y_{max}$를 m% 이상 증가시킬 수 있는 x값을 찾는 것입니다. 그리고 D는 Gaussian Process를 만들어주기 위한 Term입니다.

두 번째 Acquisition Function은 Maximum Expected Improvement입니다. m이라는 하이퍼 파라미터를 없애는 게 주요 목적입니다.

Result

Bayesian Optimization의 결과인데, 각 Acquisition Function에 따라 추정되는 x값이 다른 것을 볼 수 있습니다.

'Computer Science' 카테고리의 다른 글

[데이터 사이언스 스쿨] 엔트로피  (0) 2022.05.15
[데이터 사이언스] 집합  (0) 2022.05.01
[데이터 사이언스] 선형대수  (0) 2022.04.24
Gaussian Process-1  (0) 2022.02.06
차원 축소  (0) 2021.10.10