Personal Perspective

Big Picture of Machine Learning

Published on 2017-01-16
Last updated on 2018-07-08


결정 이론decision theory을 다루며 posterior 계산 단계에 대해 이야기하였다. Posterior 계산은 추론의 아주 중요한 단계이며 대단히 많은 기계 학습 방법을 이를 어떻게 계산하는지에 대한 이야기로 이해할 수 있다.

데이터 $x$가 주어졌을 때 그에 대응되는 레이블 $y$의 확률을 계산하는 문제를 생각해보자. 이를 수식으로 표현하면 다음과 같다.

$$ p(y | x, D) = \int p(y, \theta| x, D) d\theta = \int p(y | x, \theta) p(\theta|D) d\theta$$

이를 posterior predictive distribution이라 한다. 즉, 학습을 위한 데이터 $D = \{(x_1, y_1), \ldots, (x_n, y_n)\}$가 주어지고 새로운 데이터 $x$가 들어왔을 때 그에 대응되는 레이블 $y$를 구하는 것은 $\theta$로 표현될 수 있는 가능한 모델군 전체를 고려하여 $\theta$에 대해 적분하면 된다. 만약 모델의 패러미터 $\theta$가 결정되었다면 $x$가 주어졌을 때 $y$의 확률은 $p(y | x, \theta)$ 이며, 해당 패러미터 $\theta$의 확률은 posterior 분포인 $p(\theta | D)$이다.

이 식을 계산할 때 $p(y | x, \theta)$는 대체로 쉽게 되지만 $\theta$의 posterior인 $p(\theta | D)$나 전체를 적분하는 앞의 $\int$ 계산은 어려운 것이 보통이다. 그래서 이를 계산하기 위한 다양한 접근 방법이 존재하며 기계 학습에서 접하는 많은 아이디어를 이런 관점에서 이해할 수 있다. 이는 아래의 네 가지 접근으로 나뉜다. 각각 접근 방법의 자세한 이야기는 나중으로 미루고, 여기에서는 개념의 소개만 하도록 하겠다.

위에서 제시된 네 가지 접근 방법은 상호 보완적이며 여럿이 동시에 함께 활용되는 경우가 많다. 또한 예시에서는 supervised learning을 생각하였지만 unsupervised learning에서도 비슷하게 적용할 수 있다.

각각의 접근 방법에 대해 조금 더 알아보자.

Exact Inference

간혹 식의 꼴을 잘 정하면 위의 어렵다고 이야기한 부분을 해석적으로 계산할 수 있을 수가 있다. 가령 다변수 정규분포의 경우 모든 계산이 예쁘게 잘되는 꼴을 띄고 있다.

위 문제의 일부를 해소하는 접근으로 conjugate prior가 있다. 데이터가 주어졌을 때 모델의 그럴싸함을 나타내는 posterior $p(\theta | D)$는 특정 모델로부터 우리가 관측한 데이터가 나왔을 확률인 likelihood $p(D | \theta)$와 데이터를 관측하기 전 모델에 대한 믿음을 표현한 prior $p(\theta)$의 곱에 비례한다. 일반적인 경우 prior의 모양과 posterior의 모양이 같은 꼴을 띄지 않는데, conjugate prior는 likelihood의 모양에 맞게 prior의 꼴을 결정하여 posterior도 다시 prior와 같은 모양을 갖도록 한다. 어느 정도 데이터를 관측해서 posterior를 계산한 상황에서 새로운 데이터를 얻어서 추가로 학습을 한다고 생각하면 기존의 posterior가 새로운 prior가 되는 셈인데, 이처럼 conjugate prior를 사용하면 계속되는 학습에도 prior/posterior의 꼴이 바뀌지 않아 계산의 어려운 부분을 많이 피해갈 수 있다.

Point Estimation

모델 대부분은 정확한 계산이 불가능하고 그렇기에 이를 근사하는 방법을 사용하게 된다.

우리가 궁금한 $\theta$의 posterior는 "분포"이고 그러므로 가능한 모든 $\theta$에 대해 확률 질량을 갖게 된다. Point estimation은 말 그대로 이를 하나의 점으로 대신하겠다는 것을 의미한다.

대표적인 접근 방법으로 maximum likelihood estimation (MLE), maximum A posteriori estimation (MAP) 등이 있다. MAP의 계산은 아래와 같다.

$$\theta_{MAP} = \mathrm{argmax }_{\theta} p(\theta | D)$$

즉, posterior가 가장 큰 하나의 점을 $\theta_{MAP}$이라 부른다. 이를 사용해서 posterior predictive distribution 계산은 아래와 같이 수행한다.

$$p(y | x, D) \approx p(y | x, \theta_{MAP})$$

위의 식과 비교해보면 하나의 가장 "그럴싸한" 점이 분포 전체를 대변한다고 가정하고 이를 활용한 예측을 하는 것이다.

하나의 가장 그럴싸한 점을 찾는다는 것은 결국 최적화 문제를 푼다는 것을 의미한다. 결정 이론에서 두 번 최적화 문제를 풀어야 할 수도 있다고 했는데, posterior 분포 계산에서 최적화 문제를 푸는 접근 중 하나가 이것에 해당한다. 가장 그럴싸한 점을 찾는 것은 모델 공간에서 가장 밀도가 높은 점을 찾는 문제이며, 흔히 사용하는 접근은 미분을 통해 가장 빠르게 밀도가 증가하는 방향으로 모델을 이동시키는 방법으로 gradient descent나 second order method로 분류되는 Newton's method 등이 있다.

그리고 특히 재미있는 방법으로, 관측할 수 없는 latent 변수가 있을 때 사용하는 테크닉으로 expectation-maximization (EM) 알고리즘이 있다.

Deterministic Approximation

Point estimation은 하나의 점으로 분포를 근사하기 때문에 불확실성을 잘 표현하지 못한다. 이를 우회하는 방법은 분포를 다른 분포로 근사하는 것이다. 이때 근사하는 다른 분포가 다루기 쉬운 꼴을 지니고 있다면 해당 분포로 불확실성에 대해 논할 수 있다.

이런 접근의 대표적인 예로 variational inference가 있다. Posterior 분포 $p^{*}$와 계산의 편의를 위해 선택한 어떤 분포 $q$ 사이의 KL divergence를 최소화하는 $q$의 패러미터를 찾아 $q$를 사용해서 $p^{*}$를 근사하는 방법을 variational inference라 한다.

\begin{align} KL(q || \tilde{p}) & = \sum_{x} q(x) \log \frac{q(x)}{\tilde{p}(x)} \\ & = \sum_{x} q(x) \log \frac{q(x)}{Z p^*(x)} \\ & = \sum_x q(x) \log \frac{ q(x) }{ p^* (x) } - \log Z \end{align}

위의 식으로부터 $KL(q || \tilde{p})$를 최소화하는 것은 $KL(q || p^*)$의 최소화 문제와 같음을 알 수 있다.

Mean field, loopy belief propagation, expectation propagation 모두 일종의 variational inference로 생각할 수 있다.

Stochastic Approximation

샘플링 등을 통해 분포를 근사하는 방법도 있다. 우리가 히스토그램을 통해 분포의 모양을 근사하는 것과 같은 맥락의 이야기이다.

샘플링 기법의 예로 rejection sampling, importance sampling 등이 있다. Particle filter는 importance sampling을 순차적으로sequentially 적용한 아이디어이다.

가장 대표적인 stochastic approximation으로 Markov chain monte carlo (MCMC) 가 있으며, 그 예로 Metropolis-Hastings, Gibbs 샘플링 등이 있다. MCMC는 임의의 분포로부터 샘플을 뽑는 방법으로 고차원 공간에서도 샘플을 빠르게 뽑을 수 있는 좋은 성질이 있으며 기본적인 구현이 매우 간단하다는 장점도 있다.

Posterior의 근사가 아니라 최적화 문제를 푸는 기법으로 MCMC 알고리즘을 변형한 simulated annealing 기법이 있다.

References

위의 내용 소개는 mathematicalmonk의 Machine Learning 강의 3.5, 3.6, 3.7에 기반하여 나왔다.

조금 더 자세한 설명은 Zoubin Ghahramani의 MLSS 2013 강연 영상 세 편을 추천한다.

이와 거의 유사한 내용을 시계열 데이터를 다루는 관점에서 소개하는 논문으로 Barber, Cemgil, Chiappa의 Inference and estimation in probabilistic time series models가 있다.