확률론적 모델링 및 추론

기계 학습에서 우리는 미래 사건의 예측이나 의사 결정 등을 위해 데이터의 해석과 분석에 자주 관심을 둔다. 이 작업을 더 다루기 쉽게 만들기 위해, 우리는 종종 관측된 데이터를 생성하는 생성 과정(generative process)을 설명하는 모델을 구축한다.

$\quad$ 예를 들어, 동전 던지기 실험의 결과(“앞면” 또는 “뒷면”)를 두 단계로 설명할 수 있다. 첫째, 베르누이 분포의 매개변수로서 “앞면”이 나올 확률을 설명하는 매개변수 $\mu$ 를 정의한다(6장). 둘째, 베르누이 분포 $p(x\vert \mu) = \text{Ber}(\mu)$ 로부터 결과 $x \in {\text{앞면, 뒷면}}$ 를 샘플링할 수 있다. 매개변수 $\mu$ 는 특정한 데이터 세트 $\mathcal{X}$ 를 발생시키며 사용된 동전에 따라 달라진다. $\mu$ 는 사전에 알려져 있지 않고 결코 직접적으로 관측될 수 없으므로, 우리는 동전 던지기 실험의 관측된 결과가 주어졌을 때 $\mu$ 에 대한 무언가를 학습할 메커니즘이 필요하다. 다음에서는 확률론적 모델링이 이 목적을 위해 어떻게 사용될 수 있는지 논의할 것이다.

8.4.1 Probabilistic Models

확률론적 모델

확률론적 모델은 실험의 불확실한 측면을 확률 분포로 나타낸다. 확률론적 모델을 사용하는 것의 이점은 모델링, 추론, 예측 및 모델 선택을 위해 확률론(6장)의 통합되고 일관된 도구 세트를 제공한다는 것이다.
확률론적 모델은 모든 확률 변수의 결합 분포에 의해 지정된다.

$\quad$ 확률론적 모델링에서, 관측된 변수 $x$ 와 숨겨진 매개변수 $\theta$ 의 결합 분포 $p(x, \theta)$ 는 중심적인 중요성을 가진다. 이것은 다음의 정보들을 캡슐화한다.

  • 사전 확률과 우도 (곱의 법칙, 6.3절).
  • 모델 선택(8.6절)에서 중요한 역할을 할 주변 우도(marginal likelihood) $p(x)$ 는 결합 분포를 취하고 매개변수에 대해 적분하여(합의 법칙, 6.3절) 계산할 수 있다.
  • 사후 확률은 결합 분포를 주변 우도로 나누어 얻을 수 있다.

오직 결합 분포만이 이러한 특성을 가진다. 그러므로 확률론적 모델은 그것의 모든 확률 변수들의 결합 분포에 의해 지정된다.

8.4.2 Bayesian Inference

베이지안 추론

기계 학습의 핵심 과제는 모델과 데이터가 주어졌을 때 관측된 변수 $\mathcal{X}$ 를 바탕으로 모델의 숨겨진 변수 $\theta$ 의 값을 밝혀내는 것이다. 8.3.1절에서 우리는 최대 우도 또는 최대 사후 확률 추정을 사용하여 모델 매개변수 $\theta$ 를 추정하는 두 가지 방법에 대해 이미 논의했다. 두 경우 모두에서 우리는 $\theta$ 에 대한 단일한 최적의 값을 얻으며, 따라서 매개변수 추정의 핵심 알고리즘 문제는 최적화(Optimization) 문제를 푸는 것이 된다. 이러한 점 추정값(Point estimates) $\theta^{*}$ 가 알려지면, 우리는 이를 사용하여 예측을 수행한다. 더 구체적으로, 우도 함수에 $\theta^{*}$ 를 사용하여 예측 분포는 $p(x\vert \theta^*)$ 가 된다.

$\quad$ 6.3절에서 논의했듯이, 사후 분포의 특정 통계량(사후 확률을 최대화하는 매개변수 $\theta^*$ 등)에만 전적으로 집중하는 것은 정보의 손실을 초래하며, 이는 의사 결정을 위해 예측 $p(x\vert \theta^*)$ 를 사용하는 시스템에서 치명적일 수 있다. 이러한 의사 결정 시스템은 일반적으로 우도와는 다른 목적 함수(예: 제곱 오차 손실 또는 오분류 오차)를 가진다. 그러므로 전체 사후 분포를 유지하는 것은 매우 유용할 수 있으며 더 강력한(robust) 의사 결정으로 이어진다. 베이지안 추론(Bayesian inference)은 바로 이 사후 분포를 찾는 것에 관한 것이다(Gelman et al., 2004). 데이터 세트 $\mathcal{X}$ , 매개변수 사전 확률 $p(\theta)$ , 그리고 우도 함수에 대해 사후 확률은

$$ p(\theta\vert \mathcal{X}) = \frac{p(\mathcal{X}\vert \theta)p(\theta)}{p(\mathcal{X})} , \quad p(\mathcal{X}) = \int p(\mathcal{X}\vert \theta)p(\theta) d\theta , \quad (8.22) $$

베이즈 정리를 적용하여 얻어진다. 핵심 아이디어는 베이즈 정리를 활용하여 매개변수 $\theta$ 와 데이터 $\mathcal{X}$ 사이의 관계(우도에 의해 주어짐)를 역으로 뒤집어 사후 분포 $p(\theta\vert \mathcal{X})$ 를 얻는 것이다.

$\quad$ 매개변수에 대한 사후 분포를 갖는다는 것의 함의는, 이를 사용하여 매개변수로부터 데이터로 불확실성을 전파할 수 있다는 점이다. 더 구체적으로, 매개변수에 대한 분포 $p(\theta)$ 가 있을 때 우리의 예측은 다음과 같을 것이다.

$$ p(x) = \int p(x\vert \theta)p(\theta) d\theta = \mathbb{E}_\theta[p(x\vert \theta)] , \quad (8.23) $$

그리고 이 예측은 주변화되거나(marginalized) 적분되어 사라진 모델 매개변수 $\theta$ 에 더 이상 의존하지 않는다. 식 (8.23)은 예측이 모든 타당한 매개변수 값 $\theta$ 에 대한 평균이라는 것을 드러내며, 여기서 타당성(plausibility)은 매개변수 분포 $p(\theta)$ 에 의해 캡슐화된다.

$\quad$ 8.3절의 매개변수 추정과 여기서의 베이지안 추론을 논의했으니, 학습에 대한 이 두 가지 접근법을 비교해 보자. 최대 우도 또는 MAP 추정을 통한 매개변수 추정은 매개변수의 일관된 점 추정값 $\theta^*$ 를 산출하며, 해결해야 할 핵심 계산 문제는 ‘최적화’이다. 대조적으로, 베이지안 추론은 (사후) 분포를 산출하며, 해결해야 할 핵심 계산 문제는 ‘적분’이다. 점 추정값을 사용한 예측은 간단한 반면, 베이지안 프레임워크에서의 예측은 식 (8.23)과 같이 또 다른 적분 문제를 푸는 것을 요구한다. 그러나 베이지안 추론은 사전 지식을 통합하고, 부가 정보를 설명하며, 구조적 지식을 통합하는 원칙적인 방법을 제공하는데, 이 모든 것은 매개변수 추정의 맥락에서는 쉽게 수행되지 않는다. 더욱이, 매개변수의 불확실성을 예측으로 전파하는 것은 위험 평가를 위한 의사 결정 시스템이나 데이터 효율적인 학습 맥락의 탐색에서 가치가 있을 수 있다.

$\quad$ 베이지안 추론이 매개변수에 대해 학습하고 예측을 수행하기 위한 수학적으로 원칙적인 프레임워크이긴 하지만, 식 (8.22)와 (8.23)에서 보듯 우리가 풀어야 할 적분 문제 때문에 수반되는 몇 가지 실질적인 과제들이 있다. 더 구체적으로, 우리가 매개변수에 대해 켤레 사전 확률(Conjugate prior, 6.6.1절)을 선택하지 않는다면, 식 (8.22)와 (8.23)의 적분은 해석적으로 다루기 어려우며(analytically intractable), 우리는 사후 확률, 예측, 또는 주변 우도를 닫힌 형태(closed form)로 계산할 수 없다. 이러한 경우 우리는 근사법(approximations)에 의존해야 한다. 여기서 우리는 마르코프 연쇄 몬테카를로(MCMC)와 같은 확률론적 근사법이나, 라플라스 근사법, 변분 추론(Variational inference), 또는 기댓값 전파(Expectation propagation)와 같은 결정론적 근사법을 사용할 수 있다.

$\quad$ 이러한 과제들에도 불구하고, 베이지안 추론은 대규모 토픽 모델링, 클릭률 예측, 제어 시스템에서의 데이터 효율적인 강화 학습, 온라인 랭킹 시스템, 그리고 대규모 추천 시스템을 포함한 다양한 문제에 성공적으로 적용되어 왔다.

Remark. 기계 학습 문헌에서는 (확률) “변수”와 “매개변수” 사이에 다소 임의적인 분리가 존재할 수 있다. 매개변수는 추정되는(예: 최대 우도를 통해) 반면, 변수는 일반적으로 주변화되어 적분된다. 이 책에서 우리는 이러한 분리에 대해 그다지 엄격하지 않은데, 왜냐하면 원칙적으로 우리는 어떤 매개변수에든 사전 확률을 부여하고 이를 적분해 낼 수 있으며, 그렇게 되면 앞서 언급한 분리에 따라 해당 매개변수는 확률 변수로 변할 것이기 때문이다.

8.4.3 Latent-Variable Models

잠재 변수 모델

실제로는 모델의 일부로서 (모델 매개변수 $\theta$ 외에) 추가적인 잠재 변수 $z$ 를 두는 것이 때때로 유용하다 (Moustaki et al., 2015). 이러한 잠재 변수들은 모델을 명시적으로 매개변수화하지 않는다는 점에서 모델 매개변수 $\theta$ 와 다르다. 잠재 변수들은 데이터 생성 과정을 설명할 수 있으며, 이를 통해 모델의 해석 가능성에 기여한다. 또한 종종 모델의 구조를 단순화하고 우리가 더 단순하고 풍부한 모델 구조를 정의할 수 있게 해 준다. 모델 구조의 단순화는 종종 모델 매개변수 수의 감소와 수반된다 (Paquet, 2008; Murphy, 2012). 잠재 변수 모델에서의 학습은 (적어도 최대 우도를 통해서는) 기댓값 최대화(EM, Expectation Maximization) 알고리즘을 사용하여 원칙적인 방법으로 수행될 수 있다 (Dempster et al., 1977; Bishop, 2006). 이러한 잠재 변수가 유용한 예로는 차원 축소를 위한 주성분 분석(PCA, 10장), 밀도 추정을 위한 가우시안 혼합 모델(GMM, 11장), 시계열 모델링을 위한 은닉 마르코프 모델(HMM, Maybeck, 1979)이나 동적 시스템(Ghahramani and Roweis, 1999; Ljung, 1999), 그리고 메타 학습 및 작업 일반화(Hausman et al., 2018; Sæmundsson et al., 2018)가 있다. 이러한 잠재 변수의 도입이 모델 구조와 생성 과정을 더 쉽게 만들 수 있지만, 11장에서 보게 되듯 잠재 변수 모델에서의 학습은 일반적으로 어렵다.

$\quad$ 잠재 변수 모델은 또한 매개변수로부터 데이터를 생성하는 과정을 정의할 수 있게 해주므로, 이 생성 과정을 살펴보자. 데이터를 $x$ , 모델 매개변수를 $\theta$ , 잠재 변수를 $z$ 로 표기하면, 우리는 다음과 같은 조건부 분포를 얻는다.

$$ p(x \vert z, \theta) \quad (8.24) $$

이 분포는 임의의 모델 매개변수와 잠재 변수에 대해 데이터를 생성할 수 있게 해 준다. $z$ 가 잠재 변수라는 점을 고려하여, 우리는 그들에 대해 사전 확률 $p(z)$ 를 부여한다.

$\quad$ 이전에 논의한 모델들과 마찬가지로, 잠재 변수를 가진 모델은 8.3절과 8.4.2절에서 논의한 프레임워크 내에서 매개변수 학습 및 추론에 사용될 수 있다. 학습을 용이하게 하기 위해(예: 최대 우도 추정 또는 베이지안 추론을 통해), 우리는 2단계 절차를 따른다. 첫째, 잠재 변수에 의존하지 않는 모델의 우도 $p(x \vert \theta)$ 를 계산한다. 둘째, 이 우도를 매개변수 추정이나 베이지안 추론에 사용하며, 이때 각각 8.3절과 8.4.2절과 정확히 동일한 수식을 사용한다.

$\quad$ 우도 함수 $p(x \vert \theta)$ 는 모델 매개변수가 주어졌을 때 데이터의 예측 분포이므로, 우리는 잠재 변수를 주변화(marginalize out)해야 한다.

$$ p(x \vert \theta) = \int p(x \vert z, \theta) p(z) dz , \quad (8.25) $$

여기서 $p(x \vert z, \theta)$ 는 (8.24)에 주어져 있고 $p(z)$ 는 잠재 변수에 대한 사전 확률이다. 우도는 잠재 변수 $z$ 에 의존해서는 안 되며, 오직 데이터 $x$ 와 모델 매개변수 $\theta$ 만의 함수여야 한다는 점에 유의하라.
우도는 데이터와 모델 매개변수의 함수이지만, 잠재 변수와는 독립적이다.

$\quad$ (8.25)의 우도는 최대 우도를 통한 매개변수 추정을 직접적으로 허용한다. 8.3.2절에서 논의한 대로 모델 매개변수 $\theta$ 에 대한 추가적인 사전 확률을 사용하면 MAP 추정도 바로 적용할 수 있다. 더욱이, 우도 (8.25)를 사용하면 잠재 변수 모델에서의 베이지안 추론(8.4.2절)이 일반적인 방식으로 작동한다: 우리는 모델 매개변수에 사전 확률 $p(\theta)$ 를 부여하고 베이즈 정리를 사용하여 주어진 데이터 세트 $\mathcal{X}$ 에 대한 모델 매개변수의 사후 분포를 얻는다.

$$ p(\theta \vert \mathcal{X}) = \frac{p(\mathcal{X} \vert \theta) p(\theta)}{p(\mathcal{X})} \quad (8.26) $$

(8.26)의 사후 확률은 베이지안 추론 프레임워크 내에서 예측을 위해 사용될 수 있다; (8.23) 참조.

$\quad$ 이 잠재 변수 모델에서 우리가 갖는 한 가지 과제는 우도 $p(\mathcal{X} \vert \theta)$ 가 (8.25)에 따른 잠재 변수의 주변화를 요구한다는 것이다. $p(x \vert z, \theta)$ 에 대해 켤레 사전 확률 $p(z)$ 를 선택하는 경우를 제외하면, (8.25)의 주변화는 해석적으로 다루기 어려우며(analytically intractable), 우리는 근사법에 의존해야 한다 (Bishop, 2006; Paquet, 2008; Murphy, 2012; Moustaki et al., 2015).

$\quad$ 매개변수 사후 확률 (8.26)과 유사하게, 우리는 다음과 같이 잠재 변수에 대한 사후 확률을 계산할 수 있다.

$$ p(z \vert \mathcal{X}) = \frac{p(\mathcal{X} \vert z) p(z)}{p(\mathcal{X})} , \quad p(\mathcal{X} \vert z) = \int p(\mathcal{X} \vert z, \theta) p(\theta) d\theta , \quad (8.27) $$

여기서 $p(z)$ 는 잠재 변수에 대한 사전 확률이며, $p(\mathcal{X} \vert z)$ 는 모델 매개변수 $\theta$ 를 적분해 낼 것을 요구한다.

$\quad$ 해석적으로 적분을 푸는 것의 어려움을 고려할 때, 잠재 변수와 모델 매개변수를 동시에 주변화하는 것은 일반적으로 불가능함이 분명하다 (Bishop, 2006; Murphy, 2012). 계산하기 더 쉬운 수량은 잠재 변수에 대한 사후 분포이지만, 다음과 같이 모델 매개변수에 조건부로 주어진 경우이다.

$$ p(z \vert \mathcal{X}, \theta) = \frac{p(\mathcal{X} \vert z, \theta) p(z)}{p(\mathcal{X} \vert \theta)} , \quad (8.28) $$

여기서 $p(z)$ 는 잠재 변수의 사전 확률이고 $p(\mathcal{X} \vert z, \theta)$ 는 (8.24)에 주어져 있다.

$\quad$ 10장과 11장에서 우리는 각각 PCA와 가우시안 혼합 모델에 대한 우도 함수를 도출한다. 더욱이, 우리는 PCA와 가우시안 혼합 모델 모두에 대해 잠재 변수에 대한 사후 분포 (8.28)을 계산한다.

Remark. 다음 장들에서 우리는 잠재 변수 $z$ 와 불확실한 모델 매개변수 $\theta$ 사이에 그렇게 명확한 구분을 짓지 않고, 모델 매개변수 역시 관측되지 않기 때문에 “잠재적” 또는 “은닉된” 것으로 부를 수도 있다. 잠재 변수 $z$ 를 사용하는 10장과 11장에서는 모델 매개변수 $\theta$ 와 잠재 변수 $z$ 라는 두 가지 다른 유형의 은닉 변수를 가지게 되므로 그 차이에 주의를 기울일 것이다.

$\quad$ 우리는 확률론적 모델의 모든 요소가 확률 변수라는 사실을 활용하여 그것들을 표현하기 위한 통합된 언어를 정의할 수 있다. 8.5절에서 우리는 확률론적 모델의 구조를 표현하기 위한 간결한 그래픽 언어를 보게 될 것이다. 후속 장들에서 확률론적 모델들을 설명하기 위해 이 그래픽 언어를 사용할 것이다.

8.4.4 Further Reading

기계 학습에서의 확률론적 모델(Bishop, 2006; Barber, 2012; Murphy, 2012)은 사용자가 데이터와 예측 모델에 대한 불확실성을 원칙적인 방식으로 포착할 수 있는 방법을 제공한다. Ghahramani(2015)는 기계 학습에서의 확률론적 모델에 대한 짧은 리뷰를 제시한다. 확률론적 모델이 주어졌을 때, 운이 좋다면 우리가 관심 있는 매개변수를 해석적으로(analytically) 계산할 수 있을지도 모른다. 그러나 일반적으로 해석적인 해는 드물며, 샘플링(Gilks et al., 1996; Brooks et al., 2011) 및 변분 추론(Jordan et al., 1999; Blei et al., 2017)과 같은 계산적 방법들이 사용된다. Moustaki 등(2015)과 Paquet(2008)은 잠재 변수 모델에서의 베이지안 추론에 대한 좋은 개요를 제공한다.

$\quad$ 최근 몇 년 동안, 소프트웨어에 정의된 변수들을 확률 분포에 해당하는 확률 변수로 취급하는 것을 목표로 하는 여러 프로그래밍 언어들이 제안되었다. 그 목적은 확률 분포의 복잡한 함수를 작성할 수 있게 하는 동시에, 이면에서는 컴파일러가 베이지안 추론의 규칙들을 자동으로 처리하도록 하는 것이다. 이 빠르게 변화하는 분야를 확률론적 프로그래밍(probabilistic programming)이라고 부른다.