콘텐츠로 이동

베이지안 머신러닝 (Bayesian Machine Learning)

난이도: 중급~고급
선수 지식: 정규화 이론, 과적합과 과소적합, 손실 함수 기초
관련 문서: 오컴의 면도날 | 편향-분산 트레이드오프 | 캘리브레이션 | 나이브 베이즈


개요

머신러닝에는 두 가지 근본적인 세계관이 있다.

관점 빈도주의 (Frequentist) 베이지안 (Bayesian)
파라미터 고정된 미지의 상수 확률 변수 (불확실성 반영)
데이터 확률 변수 (반복 추출) 관측된 고정값
추정 MLE: \(\hat{\theta} = \arg\max P(D\|\theta)\) 사후 분포: \(P(\theta\|D)\)
불확실성 신뢰 구간 (빈도적 해석) 신용 구간 (직접적 확률)
정규화 별도의 정규화 항 추가 사전 분포가 자연스럽게 정규화 역할

베이지안 접근이 중요한 5가지 이유:

  1. 불확실성 정량화: 인식론적 불확실성 (Epistemic Uncertainty, 모델이 모르는 것)과 우연적 불확실성 (Aleatoric Uncertainty, 데이터 자체의 노이즈)을 구분할 수 있다
  2. 소량 데이터에 강함: 사전 지식을 사전 분포로 인코딩하여 적은 데이터에서도 합리적 추론이 가능하다
  3. 자연스러운 정규화: 사전 분포가 오컴의 면도날 역할을 하여 별도의 정규화 없이 과적합을 방지한다
  4. 순차 학습 (Sequential Learning): 오늘의 사후 분포가 내일의 사전 분포가 된다. 데이터가 점진적으로 들어오는 환경에 적합하다
  5. 모델 비교: 주변 우도 (Marginal Likelihood)를 통해 서로 다른 모델을 원칙적으로 비교할 수 있다

핵심 도전 과제는 사후 분포의 난해성 (Posterior Intractability)이다. 증거 (Evidence)를 계산하려면 파라미터 공간 전체에 대한 적분이 필요하다:

\[P(D) = \int P(D|\theta)P(\theta)\,d\theta\]

이 적분은 대부분의 실용적 모델에서 해석적으로 풀 수 없어, 근사 추론 (Approximate Inference) 기법이 필수적이다.


핵심 개념

1. 베이즈 정리 (Bayes' Theorem)

\[P(\theta|D) = \frac{P(D|\theta)\,P(\theta)}{P(D)}\]
구성 요소 기호 의미 역할
사전 분포 (Prior) \(P(\theta)\) 데이터를 보기 전 파라미터에 대한 믿음 기존 지식 인코딩
우도 (Likelihood) \(P(D\|\theta)\) 주어진 파라미터에서 데이터가 관측될 확률 데이터가 전달하는 정보
사후 분포 (Posterior) \(P(\theta\|D)\) 데이터를 본 후 업데이트된 믿음 추론의 최종 결과
증거 (Evidence) \(P(D)\) 모든 파라미터에 대해 주변화한 데이터 확률 정규화 상수, 모델 비교에 사용

2. MAP vs 완전 베이지안 (Full Bayesian)

MAP 추정 (Maximum A Posteriori)은 사후 분포의 최빈값만 취한다:

\[\hat{\theta}_{MAP} = \arg\max_\theta P(\theta|D) = \arg\max_\theta \left[\log P(D|\theta) + \log P(\theta)\right]\]

MAP과 정규화의 관계: - 가우시안 사전 분포 \(P(\theta) \propto \exp(-\frac{\lambda}{2}\|\theta\|^2)\)L2 정규화 (Ridge) - 라플라스 사전 분포 \(P(\theta) \propto \exp(-\lambda\|\theta\|_1)\)L1 정규화 (Lasso)

완전 베이지안 추론은 사후 분포 전체를 사용하여 예측한다:

\[P(y^*|x^*, D) = \int P(y^*|x^*, \theta)\,P(\theta|D)\,d\theta\]

MAP은 점 추정이라 불확실성을 잃는 반면, 완전 베이지안은 예측의 불확실성을 자연스럽게 포함한다.

3. 사전 분포의 종류

유형 설명 예시 적용 시점
비정보적 (Non-informative) 파라미터에 대해 최소한의 가정 \(P(\theta) \propto 1\) (균일), Jeffreys prior 사전 지식이 전혀 없을 때
약정보적 (Weakly Informative) 합리적 범위만 제한 \(\mathcal{N}(0, 10^2)\), \(\text{Half-Cauchy}(0, 5)\) 대부분의 실무 상황에서 권장
강정보적 (Informative) 구체적 사전 지식 반영 이전 실험 결과의 사후 분포 도메인 전문가의 지식이 확실할 때

파라미터 유형별 사전 분포 선택 가이드: - 위치 파라미터 (회귀 계수 등): 정규 분포 \(\mathcal{N}(0, \sigma^2)\) - 스케일 파라미터 (분산 등): Half-Cauchy 또는 Inverse-Gamma - 확률 파라미터: Beta 분포 - 비율/양수 파라미터: 로그 정규 분포

4. 우도 (Likelihood)와 사후 분포 (Posterior)

우도는 데이터 생성 모델 (Data Generating Model)을 정의한다. i.i.d. 가정 하에서:

\[P(D|\theta) = \prod_{i=1}^{N} P(x_i|\theta)\]

사후 분포의 핵심 성질:

\[P(\theta|D) \propto P(D|\theta) \cdot P(\theta)\]

즉, 사후 분포 \(\propto\) 우도 \(\times\) 사전 분포이다.

Bernstein-von Mises 정리: 데이터가 충분히 많아지면, 사후 분포는 사전 분포의 선택에 관계없이 MLE를 중심으로 한 정규 분포에 수렴한다. 즉, 데이터가 사전 분포를 압도한다.


상세 내용

켤레 사전 분포 (Conjugate Priors)

사전 분포와 우도가 같은 분포 족에 속하면, 사후 분포도 같은 족이 되어 해석적 계산이 가능하다.

우도 켤레 사전 분포 사후 분포 활용 예시
Binomial \(\text{Beta}(\alpha, \beta)\) \(\text{Beta}(\alpha + k, \beta + n - k)\) 클릭률, 전환율 추정
Poisson \(\text{Gamma}(a, b)\) \(\text{Gamma}(a + \sum x_i, b + n)\) 이벤트 발생 빈도
Normal (known \(\sigma\)) \(\mathcal{N}(\mu_0, \sigma_0^2)\) \(\mathcal{N}(\mu_n, \sigma_n^2)\) 평균 추정
Multinomial \(\text{Dir}(\alpha_1, ..., \alpha_k)\) \(\text{Dir}(\alpha_1 + c_1, ..., \alpha_k + c_k)\) 토픽 모델링, NLP

Beta-Binomial 예시: 새 광고의 클릭률을 추정한다고 하자.

  • 사전 분포: 기존 광고들의 평균 클릭률 5%를 반영하여 \(\text{Beta}(5, 95)\) (평균 0.05)
  • 데이터: 200회 노출 중 18회 클릭
  • 사후 분포: \(\text{Beta}(5 + 18, 95 + 182) = \text{Beta}(23, 277)\)
  • 사후 평균: \(\frac{23}{23 + 277} = 0.0767\) (약 7.7%)
  • 순수 MLE: \(\frac{18}{200} = 0.09\) (9%)

사전 분포가 추정치를 기존 지식 쪽으로 수축 (Shrinkage)시킨다. 데이터가 적을수록 이 효과가 크고, 데이터가 많아지면 MLE에 수렴한다.

MCMC (Markov Chain Monte Carlo)

사후 분포에서 직접 샘플링하여 적분을 근사하는 방법이다.

Metropolis-Hastings

가장 기본적인 MCMC 알고리즘이다. 수락 비율 (Acceptance Ratio):

\[\alpha = \min\left(1, \frac{P(\theta^*|D)\,q(\theta_t|\theta^*)}{P(\theta_t|D)\,q(\theta^*|\theta_t)}\right)\]

여기서 \(q(\theta^*|\theta_t)\)는 제안 분포 (Proposal Distribution)이다.

HMC (Hamiltonian Monte Carlo)

물리학의 해밀턴 역학에서 영감을 받아, 파라미터 공간을 "공"이 구르듯이 탐색한다. 기울기 정보를 활용하므로 고차원에서 Metropolis-Hastings보다 훨씬 효율적이다.

NUTS (No-U-Turn Sampler)

HMC의 핵심 하이퍼파라미터 (경로 길이)를 자동 조정한다. Stan과 PyMC의 기본 샘플러이다.

MCMC 실전 팁: - 워밍업 (Warmup/Burn-in): 전체 샘플의 처음 50%는 버린다 - 다중 체인 (Multiple Chains): 최소 4개 체인을 독립적으로 실행한다 - 수렴 진단: \(\hat{R} < 1.01\)이어야 수렴으로 판단한다 - 발산 경고 (Divergence Warnings): 하나라도 발생하면 모델을 재설정해야 한다 (무시 금지!) - 유효 표본 크기 (ESS): 관심 파라미터당 최소 400 이상 확보한다

변분 추론 (Variational Inference, VI)

사후 분포 추론을 최적화 문제로 변환한다. 단순한 분포 \(q(\theta)\)로 진짜 사후 분포 \(P(\theta|D)\)를 근사한다.

ELBO (Evidence Lower Bound) 최대화:

\[\text{ELBO}(q) = \underbrace{\mathbb{E}_{q(\theta)}[\log P(D|\theta)]}_{\text{기대 로그 우도}} - \underbrace{D_{KL}(q(\theta) \| P(\theta))}_{\text{사전 분포와의 KL 발산}}\]

첫째 항은 데이터 적합도를, 둘째 항은 사전 분포로부터의 이탈을 페널티한다. VAE (Variational Autoencoder)도 이 프레임워크를 사용한다.

평균장 근사 (Mean-Field Approximation): \(q(\theta) = \prod_i q_i(\theta_i)\)로 파라미터 간 독립을 가정한다. 계산이 단순해지지만, 파라미터 간 상관관계를 포착하지 못한다.

기준 MCMC 변분 추론 (VI)
정확도 이론적으로 정확 (충분한 샘플 시) 근사적 (분포 가족 제한)
속도 느림 빠름
확장성 수천 파라미터까지 수백만 파라미터 가능
수렴 진단 \(\hat{R}\), ESS 등 잘 정립됨 수렴 보장 없음
적합한 상황 정확한 불확실성이 중요할 때 대규모 모델, 빠른 반복이 필요할 때
graph TD
    A[사후 분포 추론이 필요한가?] --> B{해석적 해가 존재하는가?}
    B -->|Yes| C[켤레 사전 분포 사용]
    B -->|No| D{파라미터 수가 많은가?}
    D -->|수천 이하| E{정확한 불확실성이 중요한가?}
    D -->|수만 이상| F[변분 추론 VI]
    E -->|Yes| G[MCMC / NUTS]
    E -->|No| F

베이지안 신경망 (Bayesian Neural Networks, BNN)

일반 신경망은 가중치를 점 추정하므로, 예측에 대한 불확실성을 알 수 없다. 훈련 데이터에서 멀리 떨어진 입력에도 높은 확신의 (잘못된) 예측을 내놓는 과잉 확신 (Overconfidence) 문제가 발생한다.

BNN은 가중치 자체를 확률 분포로 모델링한다:

\[P(y^*|x^*, D) = \int P(y^*|x^*, w)\,P(w|D)\,dw\]

주요 근사 방법:

  • Bayes by Backprop: 가중치의 변분 분포 \(q_\phi(w)\)를 학습. ELBO를 목적 함수로 사용한다
  • MC Dropout: 가장 실용적인 방법. 추론 시에도 Dropout을 켜고 \(T\)번 전방 패스를 수행한다
\[\hat{y}^* = \frac{1}{T}\sum_{t=1}^{T} f(x^*; \hat{w}_t), \quad \hat{w}_t \sim q(w)\]
\[\text{Var}(y^*) \approx \frac{1}{T}\sum_{t=1}^{T} f(x^*; \hat{w}_t)^2 - \hat{y}^{*2}\]
  • Deep Ensemble: \(M\)개의 독립적으로 학습한 모델의 예측을 결합한다. BNN은 아니지만, 실무에서 불확실성 추정에 가장 잘 작동하는 경우가 많다

불확실성 분해: - 인식론적 불확실성 (Epistemic): 모델이 충분히 학습하지 못해 발생. 데이터가 많아지면 감소. 모델 간 예측 분산으로 추정 - 우연적 불확실성 (Aleatoric): 데이터 자체의 노이즈. 더 많은 데이터로도 줄일 수 없음. 각 모델 내부의 예측 분산으로 추정

가우시안 프로세스 (Gaussian Process, GP)

GP는 함수에 대한 사전 분포이다:

\[f \sim \mathcal{GP}(m(x), k(x, x'))\]

여기서 \(m(x)\)는 평균 함수, \(k(x, x')\)는 커널 (공분산) 함수이다.

유한한 점 집합에서 GP는 다변량 정규 분포가 되므로, 예측 평균과 분산을 해석적으로 구할 수 있다:

\[\mu^* = K_{*}^T K^{-1} y\]
\[\sigma^{*2} = K_{**} - K_{*}^T K^{-1} K_{*}\]

여기서 \(K\)는 훈련 데이터 간 공분산 행렬, \(K_*\)는 훈련-테스트 간 공분산, \(K_{**}\)는 테스트 데이터의 사전 분산이다.

주요 커널 함수:

커널 수식 특성
RBF (Squared Exponential) \(k(x, x') = \sigma^2 \exp(-\frac{\|x-x'\|^2}{2l^2})\) 매끄러운 함수, 가장 널리 사용
Matern \(k(x, x') = \frac{2^{1-\nu}}{\Gamma(\nu)}(\frac{\sqrt{2\nu}\|x-x'\|}{l})^\nu K_\nu(...)\) 거칠기 조절 가능 (\(\nu\)=1/2, 3/2, 5/2)
Periodic \(k(x, x') = \sigma^2 \exp(-\frac{2\sin^2(\pi\|x-x'\|/p)}{l^2})\) 주기적 패턴 포착

한계: 공분산 행렬 역행렬 계산에 \(O(N^3)\)이 필요하여, 데이터가 수천 개를 넘으면 비실용적이다. 희소 GP (Sparse GP)는 \(M \ll N\)개의 유도점 (Inducing Points)을 사용하여 \(O(NM^2)\)으로 줄인다.

베이지안 최적화 (Bayesian Optimization)

평가 비용이 비싼 블랙박스 함수를 최소 횟수로 최적화하는 기법이다.

graph LR
    A[대리 모델 구축<br/>Surrogate Model] --> B[획득 함수 최적화<br/>Acquisition Function]
    B --> C[다음 탐색 지점 선정]
    C --> D[목적 함수 평가]
    D --> A

대리 모델로 주로 GP를 사용하며, 획득 함수 (Acquisition Function)로 탐색-활용 균형을 조절한다:

  • EI (Expected Improvement): \(\text{EI}(x) = \mathbb{E}[\max(f(x) - f^+, 0)]\) — 현재 최적값 \(f^+\) 대비 기대 개선량
  • UCB (Upper Confidence Bound): \(\text{UCB}(x) = \mu(x) + \kappa\,\sigma(x)\) — 평균 + 불확실성 가중치
  • PI (Probability of Improvement): \(\text{PI}(x) = P(f(x) > f^+)\) — 개선 확률

적합한 상황: 하이퍼파라미터 최적화 (grid/random search보다 효율적), 실험 설계, A/B 테스트 최적화 등 평가 횟수가 제한된 경우.


베이지안 추론 워크플로

graph TD
    P[사전 분포 설정<br/>Prior] --> U[데이터 관측<br/>Likelihood]
    U --> POST[사후 분포 계산<br/>Posterior]
    POST --> PRED[예측 분포<br/>Predictive Distribution]
    POST --> MC[모델 비교<br/>Marginal Likelihood]
    POST -->|"새 데이터 도착 시<br/>사후→사전으로"| P

    style P fill:#e1f5fe
    style POST fill:#fff3e0
    style PRED fill:#e8f5e9

베이지안 ML 방법론 분류

graph TD
    ROOT[베이지안 ML] --> EXACT[정확한 추론<br/>Exact Inference]
    ROOT --> APPROX[근사 추론<br/>Approximate Inference]

    EXACT --> CONJ[켤레 사전 분포]
    EXACT --> GP_E[가우시안 프로세스]

    APPROX --> SAMP[샘플링 기반]
    APPROX --> OPT[최적화 기반]

    SAMP --> MH[Metropolis-Hastings]
    SAMP --> HMC_N[HMC / NUTS]

    OPT --> VI_N[변분 추론 VI]
    OPT --> MAP_N[MAP 추정]
    OPT --> LA[라플라스 근사]

언제 사용하는가 / 언제 피하는가

베이지안이 빛나는 경우

상황 이유
소량 데이터 사전 분포가 정규화 역할을 하여 과적합 방지
불확실성이 중요한 의사결정 의료 진단, 자율주행 등 "얼마나 확신하는가"가 핵심
능동 학습 (Active Learning) 불확실성이 높은 곳을 선택적으로 탐색
하이퍼파라미터 최적화 베이지안 최적화로 효율적 탐색
순차적 의사결정 온라인 학습, 밴딧 문제에서 사전→사후 업데이트

빈도주의 / 점 추정이 나은 경우

상황 이유
대규모 데이터 Bernstein-von Mises에 의해 사전 분포 영향이 미미하고, 계산 비용만 증가
빠른 프로토타이핑 MCMC/VI 세팅보다 SGD가 훨씬 간단
매우 고차원 파라미터 수억 파라미터의 사후 분포는 현실적으로 추정 불가
해석 가능성이 덜 중요할 때 점 추정 모델이 더 직관적으로 설명 가능한 경우

흔한 오해와 함정

1. "사전 분포가 결과를 결정한다"

Bernstein-von Mises 정리에 의해, 데이터가 충분하면 사전 분포의 영향은 사라진다. 단, 소량 데이터에서는 사전 분포의 선택이 실제로 결과에 큰 영향을 미치므로, 민감도 분석 (Sensitivity Analysis)을 반드시 수행해야 한다.

2. "베이지안 = 느리다"

켤레 사전 분포를 사용하면 해석적으로 즉시 계산 가능하다. 변분 추론은 SGD와 비슷한 속도로 동작한다. MCMC만이 본질적으로 느린 것이며, 모든 베이지안 방법이 느린 것은 아니다.

3. "불확실성 추정 = 캘리브레이션된 확률"

베이지안 불확실성이라도 자동으로 잘 보정 (Calibrated)되지는 않는다. 모델이 잘못 설정되면 (Model Misspecification) 불확실성도 부정확해진다. 반드시 캘리브레이션을 별도로 검증해야 한다.

4. "비정보적 사전 분포는 항상 안전하다"

균일 사전 분포는 파라미터화 (Parameterization)에 따라 정보적일 수 있다. 예를 들어, \(\theta\)에 균일한 사전 분포가 \(\log\theta\)에서는 균일하지 않다. Jeffreys prior도 고차원에서는 문제를 일으킬 수 있다. 약정보적 사전 분포가 대부분의 상황에서 더 안전한 선택이다.

5. "MCMC가 수렴했으면 결과를 믿어도 된다"

\(\hat{R} < 1.01\)이고 트레이스 플롯이 깨끗해 보여도, 다봉 (Multimodal) 사후 분포에서 일부 모드만 탐색했을 수 있다. 다양한 초기값으로 여러 체인을 실행하고, 발산 경고가 없는지 반드시 확인해야 한다.

6. "베이지안 vs 빈도주의는 양자택일이다"

경험적 베이즈 (Empirical Bayes)는 빈도주의 방법으로 사전 분포의 하이퍼파라미터를 추정하여 두 패러다임을 연결한다. MAP 추정은 정규화된 MLE와 동일하다. 실무에서는 순수한 한쪽보다 혼합 접근이 흔하다.


다른 주제와의 연결

주제 연결
PAC 학습 PAC-Bayes는 베이지안 사전 분포를 사용한 일반화 바운드를 제공한다
정규화 이론 L1/L2 정규화는 각각 라플라스/가우시안 사전 분포의 MAP 추정에 해당한다
오컴의 면도날 베이지안 모델 비교는 자동으로 복잡도 페널티를 부여한다 (Bayesian Occam's Razor)
편향-분산 트레이드오프 사전 분포는 편향을 높이고 분산을 줄이는 역할을 한다
캘리브레이션 베이지안 불확실성도 별도 캘리브레이션 검증이 필요하다
하이퍼파라미터 최적화 베이지안 최적화는 하이퍼파라미터 튜닝의 핵심 기법이다
나이브 베이즈 베이즈 정리의 가장 단순한 분류 적용 사례
앙상블 방법 Deep Ensemble은 베이지안 근사로 해석할 수 있다
신경망 기초 BNN은 표준 신경망에 베이지안 추론을 적용한 확장이다
손실 함수 음의 로그 우도 손실은 MLE에 해당하며, 정규화 항 추가는 MAP에 해당한다

참고 문헌

  • Bishop, C. M. (2006). Pattern Recognition and Machine Learning, Chapter 3-4
  • Murphy, K. P. (2022). Probabilistic Machine Learning: An Introduction
  • McElreath, R. (2020). Statistical Rethinking — 실무 중심 베이지안 입문서로 추천
  • Gelman, A. et al. (2013). Bayesian Data Analysis (BDA3)