지금까지 우리는 $p(\mathbf{y} \mid \theta)$ 형태의 조건이 없는(unconditional) 모델에 초점을 맞추어 설명하였습니다. 그러나 지도 학습에서는 입력 $\mathbf{x}$가 주어졌을 때 출력 $\mathbf{y}$를 예측해야하므로 $p(\mathbf{y} \mid \mathbf{x}, \theta)$와 같은 조건부(conditional) 모델을 사용해야합니다. 이 경우 모델 파라미터 $\theta$에 대한 사후 분포는 다음고 ㅏ같습니다.
$$p(\theta \mid \mathcal{D})$$
여기서 $\mathcal{D} = \{ (\mathbf{x}_{n}, \mathbf{y}_{n}) : n = 1: N \}$으로 $N$개의 데이터쌍으로 구성된 학습 데이터셋입니다. 사후 분포 $p(\theta \mid \mathcal{D})$을 계산하는 방법은 이전에 살펴본 베이지안 추론 원칙 (사전 분포, 우도, 베이즈 정리)를 그대로 적용하면 됩니다.
모델 파라미터에 대한 이러한 베이지안 방식은 추론을 수행하기 때문에 이 접근법을 베이지안 머신러닝(Bayesian Machine Learning; BML)이라고 합니다. 쉽게 말해, 파라미터 값을 하나의 정답으로 고정하는 것이 아니라 데이터가 허용하는 모든 가능성을 확률적으로 고려해 예측과 의사결정을 수행하는 것이 핵심입니다.
1. 플러그인 근사(Plugin approximation)
파라미터의 사후 분포를 구한 뒤에는 미지의 파라미터 $\theta$를 적분으로 없애는 주변화(Marginalization)을 거쳐 입력 $x$에 대한 출력 $y$에 대한 예측 분포를 구할 수 있습니다.
$$p(y \mid x, \mathcal{D}) = \int p(y \mid x, \theta) p(\theta \mid \mathcal{D}) \; d\theta$$
하지만 이 적분은 보통 계산이 불가능하거나 비용이 매우 비쌉니다. 그래서 아주 단순한 근사로 가장 좋은 하나의 모델 $\hat{\theta}$만 있다고 가정하는 방법이 있습니다. 가장 대표적인 방식이 MLE값으로 $\hat{\theta}$를 선택하는 것이죠. 이 가정은 사후 분포가 $\hat{\theta}$에서 무한히 좁고 무한히 높은 스파이크라고 해석하게 됩니다. 수학적으로 디랙-델타 함수(Dirac-Delta Function)을 이용해 다음과 같이 표현합니다.
$$p(\theta \mid \mathcal{D}) = \delta(\theta - \hat{\theta})$$
이렇게 점추정만 남기면 예측 분포는 다음과 같이 $\hat{\theta}$를 대입(plugin)하는 것만으로도 쉽게 얻을 수 있습니다.
$$\begin{align} p(y \mid x, \mathcal{D}) &= \int p(y \mid x, \theta) p(\theta \mid \mathcal{D}) \; d\theta \\ &\approx \int p(y \mid x, \theta) \delta(\theta - \hat{\theta}) \; d\theta \\ &= p(y \mid x, \hat{\theta}) \end{align}$$
마지막 등식에서는 디랙-델타 함수의 시프팅 성질(Sifting Property)를 활용하였스빈다. 이 방식은 과적합과 과확신의 문제가 있습니다. $\hat{\theta}$가 학습 데이터에 지나치게 최적화된다면 보지 못한 데이터에서는 성능이 떨어질수도 있으며 단 하나의 $\hat{\theta}$만 고려하기 때문에 모델의 불확실성을 평가하지 못합니다. 완전 베이지안 방식은 모든 가능한 $\theta$에 대해서 적분하여 이러한 문제를 완화할 수 있지만 계산비용이 매우 큽니다. 다행히도 몇 개의 그럴듯한 $\theta$만 추려서 평균하는 간단한 근사기법도 플러그인보다 예측 성능과 불확실성 추정이 개선되는 경우가 많습니다.
1.1 스칼라 입력, 이진 출력(scalar input, binary output)
출력 값 $y$가 두 가지 클래스 중 하나로 예측된다고 가정하면 우리는 이를 이진 분류(Binary Classification)이라고 말합니다. 여기서는 다음과 같은 로지스틱 회귀 모델을 사용해보도록 하겠습니다.
$$p(y \mid x ; \theta) = \text{Ber}(y \mid \sigma(w^{T}x + b))$$
이때 $\sigma(a) = \frac{e^{a}}{1 + e^{a}}$는 시그모이드 함수로 임의의 실수 $a \in \mathbb{R}$을 $\sigma(a) \in [0, 1]$로 매핑하게 됩니다. 그리고 $\text{Ber}(y \mid \mu)$는 평균인 베르누이 분포라고 하죠. 따라서 다음과 같이 쓸 수 있습니다.
$$p(y = 1 \mid x; \theta) = \sigma(w^{T}x + b) = \frac{1}{1 + e^{-(w^{T}x + b)}}$$
데이터로는 아이리스 데이터를 학습한다고 가정하겠습니다. 즉, 꽃받침 길이 $x_{n}$으로 아이리스 품종이 Setosa(0)인지 Versicolor(1)인지 $y_{n}$을 예측하게 되는 것이죠. 학습방식은 MLE를 통해 $\hat{\theta} = (\hat{b}, \hat{w})$를 추정해보겠습니다. MLE 결과를 점추정으로 삼아서 그대로 대입하면 다음과 같은 결과를 얻을 수 있습니다.
$$p(y = 1 \mid x, \mathcal{D}) \approx p(y = 1 \mid x, \hat{\theta}) = \sigma(\hat{b} + \hat{w}x)$$

그림 4.20 (a)에서 볼 수 있듯, 꽃받침 길이가 길어질수록 Versicolor(1)일 확률이 S‑자 곡선처럼 상승합니다. 여기서 결정경계(decision boundary)를 다음과 같이 얻을 수 있습니다.
$$\begin{align} p(y = 1 \mid x^{*}, \hat{\theta}) = 0.5 \Rightarrow \hat{b} + \hat{w}x = 0 \Rightarrow x^{*} = -\frac{b}{w} \end{align}$$
그림에서는 $x^{*} \approx 5\text{cm}$정도로 나오게 됩니다. 하지만, 플러그인 방식은 $\hat{\theta}$ 한 점만 고려하기 때문에 파라미터 추정의 불확실성과 그로 인한 예측 불확실성을 무시합니다. 이를 반영하려면 사후 분포 $p(\theta \mid \mathcal{D})$를 근사한 뒤 몬테카를로 적분으로 예측분포를 얻어야합니다.
$$\begin{align} p(y = 1 \mid x, \mathcal{D}) \approx \frac{1}{S}\sum_{s = 1}^{S} p(y = 1 \mid x, \theta_{s}) \end{align}$$
여기서 $s \sim p(\theta \mid \mathcal{D})$입니다. 그림 4.20 (b)는 이 평균과 95%의 신뢰구간을 보여줍니다. 입력값마다 확률이 구간으로 표시되며 모델의 불확실성을 이해할 수 있죠. 이때, 결정 경계의 분포 역시 몬테카를로 샘플링으로 추정할 수 있습니다.
$$p(x^{*} \mid \mathcal{D}) \approx \frac{1}{S} \sum_{s = 1}^{S} \delta(x^{*} + \frac{b_{s}}{w_{w}})$$
이 간단한 분류 과제에서는 플러그인·베이지안 차이가 크지 않을 수 있습니다. 그러나 의료·금융처럼 리스크가 큰 분야에서는 모델이 얼마나 확신하는지를 아는 것이 결정적입니다. 요약하면, 파라미터 불확실성을 함께 다루면 더 신뢰할 수 있는 예측과 견고한 의사결정을 이끌어 낼 수 있습니다.
1.2 이진 입력, 스칼라 출력(binary input, scalar output)
이번에는 이진 입력에 스칼라 값이 출력되는 모델을 고려해보겠습니다. 이를 위해 택배 도착 시간 $y \in \mathbb{R}$을 A회사와 B회사 중 어느 회사를 이용했는지에 따라 예측해보도록 하겠습니다. 입력 변수로 $x \in \{ 0, 1 \}$이 입력되며 $x = 0$이라면 A회사이고 $x = 1$이라면 B회사입니다. 이를 위해 다음과 같은 판별 모델을 사용하겠습니다.
$$p(y \mid x, \theta) = \mathcal{N}(y \mid \mu_{x}, \sigma^{2}_{x})$$
여기서 $\mathcal{N}(y \mid \mu, \sigma^{2}) = \frac{1}{\sqrt{2\pi\sigma^{2}}} \text{exp} \left( -\frac{1}{2\sigma^{2}} (y - \mu)^{2} \right)$으로 가우시안 분포입니다. 그리고 모델 파라미터는 $\theta = (\mu_{0}, \mu_{1}, \sigma_{0}, \sigma_{1})$이 되겠죠.
$\theta$를 결정하기 위해 두 가지 학습방식을 고려해볼 수 있습니다. 바로 MLE와 베이지안 접근 방식이죠. 특히, 베이지안 방식은 $\theta$의 불확실성을 함께 추론하기 때문에 예측 분포 $p(y \mid x, \mathcal{D})$의 불확실성도 자연스럽게 반영합니다. 반면, MLE와 같은 플러그인 근사 $p(y \mid x, \hat{\theta})$는 이를 고려하지 않죠.
학습 데이터가 1개라는 극단적인 예시를 들어보도록 하겠습니다. $\mathcal{D} = \{ (x_{1} = 0, y_{1} = 15), (x_{2} = 1, y_{2} = 20) \}$이라고 하면 MLE 추정을 수행하면 $\hat{\theta} = (15, 20, 0, 0)$으로 나오게 됩니다. 이는 플러그인 예측은 분산이 0이라 불확실성을 전혀 표현하지 못합니다.

그림 4.21에서 볼 수 있듯이 기대 배송 시간(ETA)은 A회사가 B회사보다 더 빠르지만 분산의 경우 A회사가 더 큽니다. 즉, 마감 시각을 엄수하려면 꽤나 위험한 선택일 수도 있습니다. 결국, 즉 “평균”만 보면 A사가 빠르지만, 불확실성까지 보면 B사가 더 안전할 수 있습니다. 향후 리스크를 고려한 최적 의사결정 방법도 더 자세히 알아보도록 하겠습니다.
이 사례는 각 회사의 데이터가 단 1건뿐인 극단적 상황이지만, 실제로는 데이터가 희소하거나(long‑tail) 새로운 조합의 범주형 특성이 나타날 때 동일한 문제가 반복됩니다. 충분히 관측되지 않은 입력에 대해 신뢰할 만한 예측과 위험 평가를 하려면, 파라미터·예측의 불확실성을 함께 모델링하는 베이지안 접근이 중요합니다.
2. 스케일 업(Scaling up)
지금까지는 1차원 입력-1차원 출력만 다루고 파라미터 개수도 2개~4개에 불과하였습니다. 하지만, 실제 문제는 대개 1) 이미지 픽셀, 수천 개의 텍스트 임베딩, 수백 개의 센서 값 등과 같이 고차원의 입력을 다루게 되며 2) 여러 클래스 동시 예측, 다중 레이블, 연속값 벡터 등과 같이 고차원의 출력을 다룰 때도 있습니다. 3) 이를 위해서는 그에 따라 수많은 파라미터를 갖는 모델을 사용해야하죠.
이때는 $p(\theta \mid \mathcal{D})$와 $p(y \mid x, \mathcal{D})$와 같은 사후분포와 사후 예측 분포(post‑predictive)를 정확히 계산하는 일이 연산적으로 매우 까다로워집니다. (차원이 높아질수록 적분·샘플링 비용과 메모리 사용량이 폭증.)
'인공지능 > Probabilistic Machine Learning (intro)' 카테고리의 다른 글
| [PML intro] Ch4 Statistics (Sec4.7 Frequentist Statistics - 1) (1) | 2025.07.25 |
|---|---|
| [PML intro] Ch4 Statistics (Sec4.6 Bayesian Statistics - 8) (3) | 2025.07.24 |
| [PML intro] Ch4 Statistics (Sec4.6 Bayesian Statistics - 6) (0) | 2025.07.22 |
| [PML intro] Ch4 Statistics (Sec4.6 Bayesian Statistics - 5) (0) | 2025.07.22 |
| [PML intro] Ch4 Statistics (Sec4.6 Bayesian Statistics - 4) (0) | 2025.07.19 |