Nonparametric Bayesian 이란?


이번 포스트에서는 Nonparametric Bayesian 이 무엇인지 원리적인 부분에 대해 소개하고자 합니다.

Nonparametric Bayesian 은 이름에서 볼 수 있듯이 두 통계학 용어를 섞어 놓은 분야입니다. 요약하면 Bayesian 방식으로 nonparametric model 을 다루는 방법론입니다. 이 말을 자세히 이해하기 위해 먼저 이 블로그에서 다룰 모델(model) 의 범위와 불확실성(uncertainty) 을 측정하는 방법에 대해 자세히 이해해보도록 하겠습니다.

확률: 불확실성의 측도(measure of uncertainty)

통계학이나 머신러닝 이론을 다루는 대부분의 교과서는 첫 장부터 대게 확률론(probability theory) 을 먼저 배우게 됩니다. 확률은 불확실한 문제 상황에서 실현 가능한 경우의 수 들을 고려한 후, 전체 상황 중 어떤 사건이 발생할 가능성이 얼마나 되는지 척도(yardstick) 로 사용되는 개념입니다. 간단한 예로는 주사위 2개를 던졌을 때 합이 7 이 나올 확률은 얼마인지, 동전을 5번 던졌을 때 앞면이 연속해서 3번 나올 확률은 얼마인지 등의 문제를 풀 때, 우리는 가능한 경우들을 모두 생각해보고, 그 중 관심을 가지는 사건이 일어날 경우의 수를 세어봅니다.

figure 주사위 2개를 던졌을 때 가능한 합의 경우의 수와 확률분포, 출처: Math Stack Exchange

확률은 통계학이든 머신러닝에서든, 데이터를 측정하고 인과관계를 추론하고 미래를 예측하는 데 있어 현재까지 제일 유용한 수학적 개념입니다 [1]. 물론 이런 접근이 성공을 100% 보장하는 것은 아닙니다. 그러나 불확실성의 측도(measure of uncertainty) 라는 관점에서 확률은 우리가 기하학에서 배우는 길이, 넓이 같은 단어처럼 일상적인 용어가 되었고 현대 과학에서는 이미 떼놓을 수 없는 도구가 되었습니다. 뿐만 아니라 임상 실험, 주식 투자, 기업 의사결정 같은 문제에서도 가변적이고 다루기 까다로운 조건들을 변수로 고려해서 모델링을 할 때 확률을 사용하게 됩니다.

통계적 모델(statistical model)이란?

정량적인(quantitative) 분석이 요구되는 분야를 공부하다 보면 모델링의 종류가 어떻게 되는지, 어떤 모델링을 적용해야 하는지 고민하게 됩니다. 물리적 법칙 또는 governing dynamics 를 반영하여 모델을 결정론적인(deterministic) 형태로 기술할 수도 있지만 이는 굉장히 제한된(혹은 통제된) 환경에서 사용 가능한 것입니다. 반면 데이터를 기반으로 불확실성에 대한 적절한 가정 하에 통계적 모형(statistical model) 을 구축해서 적용할 수 있습니다.

통계적 모델이 무엇인지 이해하기 위해 예제를 하나 들어보겠습니다 (참조 출연: 오하이오의 낚시꾼).

Q: 오하이오에서 식당을 운영하는 낚시꾼 사장님은 서빙을 담당할 직원을 뽑으려고 한다. 한 직원이 시간대별로 응대할 수 있는 테이블의 숫자는 1개이고, 전체 테이블의 개수가 10개라고 하자. 직원을 몇 명을 뽑아야 할까?

위 문제를 언뜻 보면 전체 테이블 숫자와 같은 10명을 뽑아야 할듯 합니다. 그러나 실제 문제는 이렇게 간단하지 않습니다. 현실에선 낚시꾼 사장님은 다음과 같은 변수들을 같이 고려해서 의사결정을 내려야 하기 때문입니다.

  1. 직원에게 지불해야 하는 시급: \( P \)
  2. 테이블 \( i \) 에서 시간대 \( t \) 에 발생하는 수입: \( M(i,t) \)
  3. 시간대 \( t \) 별 식당을 방문하는 손님 그룹의 수: \( N(t) \)

여기서 \( P \) 는 고정된 비용이므로 결정적(deterministic) 변수 입니다 (낚시꾼 사장님은 마음이 착해서 시급을 최저임금보다 높게 준다고 가정합시다). 반면 2, 3번의 \( M(i,t), N(t)\) 는 확률적인(stochastic) 변수로 매시간마다 바뀌게 됩니다. 만약 직원을 전체 테이블 숫자만큼 채용하게 되면 테이블이 모두 꽉차는 \( (N(t) = 10) \) 피크 시간대에는 괜찮을지 몰라도 그렇지 않은 시간대는 \( (N(t) < 10) \) 손해를 볼 수 있습니다. 그러므로 낚시꾼 사장님은 이런 리스크를 고려해서 매출과 비용을 계산하여 적정 직원수를 채용해야 합니다. 낚시꾼 사장님이 하루에 \( T \) 시간동안 이 식당을 운영한다고 했을 때, 직원 \( X \) 명을 뽑았을 때 발생하는 매출 \( I \) 과 비용 \( C \) 을 계산해보면 아래와 같습니다 (기호 \( X \wedge N(t) \) 는 최소값 \( \min\{X, N(t)\} \) 을 뜻함):

여기서 \( \pi(X) \) 는 이윤에 해당합니다. 사장님이 이 식당을 손해 없이 운영하려면 매출이 비용보다 많은 \( \pi(X) > 0 \) 상태를 유지하는 \( X \) 를 찾아야합니다. 그러나 현실적으로 매출이 항상 비용보다 많기를 바라는 건 무리입니다. 왜냐하면 \( N(t) \) 와 \( M(i,t) \) 는 확률변수라서 최악의 경우일 때는 비용이 매출보다 큰 날도 발생할 수 있기 때문입니다. \( X \) 를 극단적으로 줄여서 운영하면 가능할수도 있지만 이윤이 하락하게 됩니다. 사장님은 부자가 되고 싶기 때문에 리스크를 좀 감당하려고 합니다. 그래서 경영 목표를 다음과 같이 바꿨습니다:

여기서 \( \alpha \) 는 매우 작은 값으로 (0.01 정도?) 낚시꾼 사장님이 감당할 리스크의 크기로 해석할 수 있습니다. 즉 \( (\star) \) 을 이용하면 손해가 발생할 확률이 \( \alpha \) 미만이 되는 범위 하에서 기대이윤(expected profit) \( \mathbb{E}[\pi(X)] \) 를 극대화하는 직원 수 \( X \) 를 찾는 문제가 됩니다. 고로 낚시꾼 사장님은 통계적으로 거의 손해를 보지 않는 범위 안에서 식당 운영이 가능해집니다.

분포를 알아내는 두 가지 방법: Parametric vs Nonparametric

그렇다면 남은 질문은, \( (\star) \) 에서 기대값과 확률은 어떻게 계산해야 할지입니다. 위의 예제를 다시 들여다보시면 결국 확률변수 \( M(i,t), N(t) \) 에 따른 매출 \( I \) 의 확률분포들을 알 수 있어야 \( (\star) \) 에 있는 기대값과 확률을 계산하는게 가능해집니다. 결론적으로 통계적 모델링은 적절한 가정 위에서 확률분포를 추정(inference) 하는 것이 목표입니다. 이는 머신러닝이든 통계학이든 공통적으로 추구하는 목표입니다.

figure 여러 종류의 확률분포, 출처: https://priorprobability.com

그런데 확률분포를 추론한다는 것은 어떤 의미일까요? 사실 유한한(finite) 개수의 데이터만 관찰해서 모집단의 정확한 분포를 알아낸다는 건 거의 불가능한 일입니다. 주어진 데이터를 통해 근사적(approximately)으로 확률분포를 추정할 수 밖에 없는데요, 이 때 어떤 전략을 취할지에 따라 모수적(parametric) 방법과 비모수적(nonparametric) 방법으로 나뉘게 됩니다. 두 방법의 차이를 (엄밀하지 않게) 직관적으로 서술한다면 아래와 같이 구분할 수 있습니다.

  1. Parametric: 데이터가 특정 확률분포를 따른다고 선험적으로(a priori) 가정한 후 그 분포를 결정하는 모수를 추정하는 방법. 추정해야 하는 모수의 개수가 고정(fixed) 되어 있고 절차적으로 변하지 않는다.
  2. Nonparametric: 특정 확률분포를 선험적으로 가정하지 않고 데이터에 따라 모델의 구조 및 모수의 개수가 유연하게(flexible) 바뀌는 방법 (주의: 모수가 없거나 부족하다는 뜻이 아니다)

두 방법론마다 나름의 장단점이 있기에 어떤 모델을 써야할지는 전적으로 연구자에게 달려있습니다. 물론 상황에 따라 더 적절한 방법론을 택해야 예측력이 높아지겠지요? 두 방법론의 차이를 조금 더 들여다 보겠습니다.

figure 모수적(parametric) vs 비모수적(nonparametric) density estimation 방법 비교, 출처: P. Orbanz, 2014

위 그림은 밀도 추정(density estimation)과 같은 예시에서 두 방법의 차이를 보여줍니다. 왼쪽 그림은 데이터가 정규분포 \( \mathcal{N}(\mu, \sigma^{2}) \) 를 따른다고 가정한 후 최대우도추정법(MLE, Maximum Likelihood Estimation)을 통해 평균 \( \mu \) 과 표준편차 \( \sigma \) 을 추정해서 찾은 확률밀도함수 입니다. 즉, 정규분포라는 특정 확률분포를 미리 가정한 후 모수에 해당하는 \( (\mu, \sigma) \) 를 추정하는 방법이며, 데이터의 숫자가 늘어나도 모수의 개수는 2개이므로 고정되어 있기에 모수적 방법에 속합니다. 반면 오른쪽 그림은 커널밀도추정(KDE, Kernel Density Estimation) 방법론으로서, 각 데이터 포인트 \( x_{i} \) 를 평균으로 가지는 정규분포 \( \mathcal{N}(x_{i}, \sigma^{2}) \) 를 정의한 후 그 확률밀도함수들의 산술평균 \( p_{n}(x) = \frac{1}{n}\sum_{i=1}^{n}p_{\mathcal{N}(x_{i},\sigma^{2})}(x) \) 로 확률분포를 추정합니다. 이 방법론에서 사용되는 모수의 개수는 데이터의 개수 \( n \) 에 비례하기 때문에 비모수적 방법에 해당합니다.

figure 모수적(parametric) vs 비모수적(nonparametric) regression 방법 비교, 출처: P. Orbanz, 2014

두 방법의 차이는 density estimation 뿐만 아니라 다른 task 인 regression 에서도 볼 수 있습니다. 왼쪽 그림은 주어진 데이터를 linear regression 으로 추정한 것입니다. Linear regression 은 주어진 데이터가 선형함수(linear function)를 따른다고 가정하고 regressor 를 \( \{f(x) = ax + b: a,b\in\mathbb{R} \} \) 라는 함수공간에서 찾으려고 합니다. 그러므로 추정해야 하는 모수는 기울기 \( a \) 과 \( y \)-절편 \( b \) 뿐 입니다. 따라서 데이터의 숫자가 늘어나도 추정해야 하는 모수의 개수는 변하지 않습니다. 반면에 오른쪽 그림은 주어진 데이터의 패턴이 nonlinear 합니다. 그러므로 regressor 를 매끄러운 함수(smooth function) 들의 집합, 가령 \( C^{2} \) 내에서 찾으려고 합니다. 일반적으로 이런 함수들을 알고리즘으로 찾아내려면 무한급수(series) 형태로 함수를 변형한 후 급수의 계수(coefficient)들을 추정해야 합니다. 그러므로 추정해야할 모수의 개수가 기본적으로 무한대가 되기 때문에 비모수적 방법으로 분류됩니다.

위에서 설명한 parametric 과 nonparametric 의 구분은 사실 덜 엄밀한 분류 방법입니다. 수학적으로 좀 더 명확하게 서술해보겠습니다. 데이터가 관찰 또는 수집되는 공간을 \( \mathcal{X} \) 라고 표기하겠습니다. 이 공간을 우리는 데이터 공간(data space) 또는 표본 공간(sample space)이라고 부릅니다. 수학 시간 때 배워온 자연수(\( \mathbb{N} \)), 정수(\( \mathbb{Z} \)), 실수(\( \mathbb{R},\mathbb{R}^{d} \)), 복소수(\( \mathbb{C} \)) 집합 등 우리가 흔히 사용하는 공간들이 \( \mathcal{X} \) 의 예 입니다 [2]. 그리고 이 공간 위에서 여러 확률분포(probability distribution)들을 정의할 수 있습니다. 가령 실수 공간 \( \mathbb{R} \) 이라면 정규분포(normal distribution) \( \mathcal{N}(\mu,\sigma^{2}) \) 나 지수분포(exponential distribution) \( \text{Exp}(\lambda) \) 등을 정의할 수 있겠지요. 이런 확률분포들을 모두 모아놓은 집합을 우리는 \( \mathbf{PM}(\mathcal{X}) \) 라고 표기하겠습니다. 당연하지만 이런 확률분포들은 셀 수 없을 정도로 무한히(uncountably) 많습니다 [2].

따라서 어떤 분포가 주어진 데이터를 모델링하기 적절한지 비교 분석을 하려면 모수공간(parameter space) 을 미리 결정해야 합니다. 이 모수공간을 \( \Phi \) 로 표기하고 그 원소 \( \theta\in\Phi \) 를 모수(parameter)라 하겠습니다. 그리고 이 \( \theta \) 를 통해 결정되는 확률분포 \( P_{\theta} \) 들의 집합을 \( M \) 으로 정의하겠습니다:

이 \( M \) 을 통계적 모델(statistical model) 혹은 줄여서 모델(model) 이라 부릅니다. 이 때 모수공간 \( \Phi \) 가 유한차원(finite-dimension) 이면 \( M \) 을 parametric model 이라 정의하고, \( \Phi \) 가 무한차원(infinite-dimension)이면 nonparametric model 이라 정의하게 됩니다. 위에서 설명한 두 방법론의 차이는 이와 같이 수학적으로 모수공간 \( \Phi \) 의 차원(dimension)의 개수에 따라 구별할 수 있습니다.

모델의 불확실성은 어떻게 추정하는가?

지금까지 확률분포를 추정하는 통계적 모델링의 방법론으로서 parametric 과 nonparametric 의 차이에 대해 알아보았습니다. 그렇다면 Nonparametric Bayesian 은 무엇일까요? 이를 설명하기 위해선 먼저 불확실성의 종류에 대해 알아볼 필요가 있습니다.

불확실성은 크게 아래 그림처럼 우연적인(aleatoric) 것과 인식적인(epistemic) 것으로 구분이 됩니다. 명확한 구별 방법은 아니지만 aleatoric 은 주로 데이터에 내재된 우연성에 의해 발생하는 불확실성이고, epistemic 은 잘못된 모델링 혹은 측정 방법에 기인한 불확실성입니다.

figure Taxonomy of Uncertainty, 출처: J. Y. Dantan et al., 2013

Bayesian 방법론은 흔히들 Bayes 정리 (Bayes’ theorem) 에 근간을 둔다고 합니다. 틀린 말은 아닙니다만, Bayes 정리를 사용한다고 모델이 Bayesian 이 된다는 뜻이 아닙니다. Bayesian 방법론의 기본적 원리는 모든 불확실성을 확률로 다루는 것 입니다. Bayesian 은 통계적 모델링에 사용되는 확률분포 \( P_{\theta} \) 를 결정하는 모수 \( \theta \) 는 본질적으로 unknown 이기 때문에 불확실성을 가지고 있다고 봅니다. 그러므로 Bayesian 방법론은 모델의 불확실성(model uncertainty)을 다루기 위해 모수 \( \theta \in \Phi \) 를 확률변수로 다룹니다. 즉 어떤 \( \Theta : \omega \mapsto \theta \) 를 도입해서 \( Q \) 라는 확률분포를 따른다고 전제합니다. 이 또다른 확률분포를 모델 \( M \) 의 사전분포(prior distribution) 라 합니다. 요컨데, Bayesian 은 다음과 같이 두 단계로 데이터가 생성된다고 가정합니다:

그리고 Bayes 정리를 통해 관찰된 데이터로 \( Q(\Theta \in \cdot | X_{1}=x_{1},\ldots, X_{n}=x_{n}) \) 라는 사후분포(posterior distribution) 를 유도할 수 있습니다. 요컨데, 이 사후분포를 통해서 모수 \( \Theta \) 의 불확실성을 고려하여 통계적 모델의 확률분포를 추정하는 것이 가능한 것입니다.

figure A Flow of Bayesian Inference, 출처: J. C. Doll & S. J. Jacquemin, 2018

위에서 설명한 내용을 종합하면 Nonparametric Bayesian 은 모수공간 \( \Phi \) 가 무한차원 이고 \( \Phi \) 에 사전분포 \( Q \) 를 도입한 통계적 모델로서 최종적으로 사후분포를 계산해서 모수 \( \Theta \) 의 분포를 추정하는게 목적이라고 정리할 수 있습니다. 그렇다면 무한차원에 정의된 확률분포는 어떻게 상상해야 할까요? 확률론에서는 이 분포를 모수공간 \( \Phi \) 에 정의된 확률과정(stochastic process) 으로부터 유도가 가능합니다. Nonparametric Bayesian 강의에서 초반부부터 Dirichlet Process 를 포함하여 Indian Buffet ProcessGaussian Process 처럼 여러 확률과정들이 도입되는 이유가 이런 배경에서 기인했기 때문입니다.

figure Nonparametric Bayesian 에서 사용되는 확률과정들의 관계들, 출처: J. Xuan et al., 2019

Why Nonparametric Bayesian?

모델이나 데이터에서 발생하는 불확실성의 정량화(quantification)는 머신러닝 연구분야에서 큰 주제 중 하나입니다. 의료나 금융처럼 불확실성이 의사결정에 큰 영향을 미치는 분야 외에도 로봇을 제어하거나 의료영상 데이터를 학습시킬 때 모델 예측이 틀릴 확률이나 확신(confidence)이 어느 정도 되는지 같이 요구됩니다. 이런 측면에서 nonparametric Bayesian 은 통계적 모델의 불확실성을 추정하는데 있어 유망한 방법론 중 하나입니다.

figure 의료영상에서 Uncertainty Estimation, 출처: G. Wang et al., 2019

figure Uncertainty 를 고려한 Learning from Demonstration, 출처: S. Choi et al., 2018

또한 hyperparameter optimizationNAS(Neural Architecture Search) 같은 AutoML 분야에서도 Bayesian 방법론을 사용하는 연구가 활발하게 진행되고 있습니다. AutoML 은 기본적으로 expensive-to-evaluate 상황에서 blackbox optimization 을 수행해야 합니다. 매번 오랜 시간동안 학습해야하는 모델의 최적선택을 해야하기 때문에 성능의 불확실성을 고려해서 유연하게(flexible) 최적화를 수행하는 nonparametric Bayesian 방법론이 유효한 선택이 되는 것입니다. 이 분야는 AutoML 에 관심을 가지는 각 연구소에서 현재 진행중인 주제이며 앞으로 많은 결과들이 쏟아질거라 기대됩니다.

figure 3D 의료영상에서 Gumbel-softmax 샘플링을 활용한 NAS, 출처: S. Kim et al., 2019

Comment

[1] 이런 해석에 대해 좀 더 궁금하신 분은 Bernardo 와 Smith 의 참고문헌(2000) 참조.

[2] 이론적으로는 Borel measure 를 정의할 수 있는 거리공간(metric space)이면 우리가 기본적으로 다룰 수 있는 공간입니다.

[3] 여기서 셀 수 없다(uncountable) 라는 의미는 수사적인 표현이 아니라 수학적인 용어입니다. 어떤 뜻인지 궁금하시다면 집합론(set theory) 교과서를 한 번 읽어보시길 추천합니다.

참고문헌