베이지안 머신러닝 (Bayesian Machine Learning)
난이도: 중급~고급
선수 지식: 정규화 이론, 과적합과 과소적합, 손실 함수 기초
관련 문서: 오컴의 면도날 | 편향-분산 트레이드오프 | 캘리브레이션 | 나이브 베이즈
핵심 요약: 불확실성(Uncertainty)을 수치로 표현하는 ML. “70% 확률로 양성”이라고 했을 때 그것이 진짜 70%를 의미하도록 만드는 것이 베이지안 접근이다. 사전 지식(Prior)을 데이터와 결합하여 사후 분포(Posterior)를 구하며, 소량 데이터에서도 합리적 추론이 가능하다.
머신러닝에는 두 가지 근본적인 세계관이 있다.
| 관점 | 빈도주의 (Frequentist) | 베이지안 (Bayesian) |
|---|---|---|
| 파라미터 | 고정된 미지의 상수 | 확률 변수 (불확실성 반영) |
| 데이터 | 확률 변수 (반복 추출) | 관측된 고정값 |
| 추정 | MLE: | 사후 분포: |
| 불확실성 | 신뢰 구간 (빈도적 해석) | 신용 구간 (직접적 확률) |
| 정규화 | 별도의 정규화 항 추가 | 사전 분포가 자연스럽게 정규화 역할 |
베이지안 접근이 중요한 5가지 이유:
- 불확실성 정량화: 인식론적 불확실성 (Epistemic Uncertainty, 모델이 모르는 것)과 우연적 불확실성 (Aleatoric Uncertainty, 데이터 자체의 노이즈)을 구분할 수 있다
- 소량 데이터에 강함: 사전 지식을 사전 분포로 인코딩하여 적은 데이터에서도 합리적 추론이 가능하다
- 자연스러운 정규화: 사전 분포가 오컴의 면도날 역할을 하여 별도의 정규화 없이 과적합을 방지한다
- 순차 학습 (Sequential Learning): 오늘의 사후 분포가 내일의 사전 분포가 된다. 데이터가 점진적으로 들어오는 환경에 적합하다
- 모델 비교: 주변 우도 (Marginal Likelihood)를 통해 서로 다른 모델을 원칙적으로 비교할 수 있다
핵심 도전 과제는 사후 분포의 난해성 (Posterior Intractability)이다. 증거 (Evidence)를 계산하려면 파라미터 공간 전체에 대한 적분이 필요하다:
이 적분은 대부분의 실용적 모델에서 해석적으로 풀 수 없어, 근사 추론 (Approximate Inference) 기법이 필수적이다.
탄생 배경
섹션 제목: “탄생 배경”베이지안 머신러닝의 역사는 수백 년에 걸친 지적 여정이다.
- 18세기, Thomas Bayes: 영국의 장로교 목사였던 Bayes는 사후에 출판된 논문 “An Essay towards solving a Problem in the Doctrine of Chances”(1763)에서 조건부 확률의 역전 — 즉 베이즈 정리(Bayes’ Theorem)의 원형을 제시했다. 흥미롭게도 Bayes 본인은 이 결과를 출판할 만큼 중요하다고 생각하지 않았고, 친구인 Richard Price가 유고를 정리하여 발표했다.
- 18~19세기, Pierre-Simon Laplace: 베이즈 정리를 독립적으로 재발견하고 체계적으로 발전시켰다. Laplace는 이를 천체역학, 인구 통계, 사법 판결 등 광범위한 문제에 적용했으며, 현대적 형태의 베이즈 정리를 정립한 실질적 공로자이다.
- 20세기, MCMC 혁명: 1953년 Metropolis et al.이 몬테카를로 시뮬레이션을 제안하고, 1970년 Hastings가 이를 일반화하면서 MCMC(Markov Chain Monte Carlo)가 탄생했다. 이전까지 “이론적으로는 아름답지만 계산할 수 없다”고 여겨졌던 베이지안 추론이 드디어 실용적으로 가능해졌다.
- 현대, BNN과 확장: 1990년대 Neal의 베이지안 신경망(BNN) 연구를 거쳐, 2010년대에는 Gal & Ghahramani의 MC Dropout(2016), Lakshminarayanan et al.의 Deep Ensemble(2017) 등 대규모 신경망에 베이지안 불확실성을 접목하는 실용적 방법들이 등장했다.
비유: 사후 분포 = 형사의 수사
섹션 제목: “비유: 사후 분포 = 형사의 수사”베이지안 추론의 핵심인 사후 분포(Posterior Distribution)를 형사의 수사에 비유하면 직관적으로 이해할 수 있다.
- 사전 분포(Prior) = 초기 용의자 목록: 사건이 발생하면 형사는 경험과 상식에 기반한 초기 추측을 한다. “통계적으로 피해자의 지인일 가능성이 높다”는 식의 사전 믿음이다.
- 증거(Likelihood) = 수사 과정에서 발견한 단서: 지문, 알리바이, CCTV 영상 등 새로운 증거가 수집된다. 각 증거는 특정 용의자의 혐의를 강화하거나 약화시킨다.
- 사후 분포(Posterior) = 업데이트된 확신: 증거가 쌓일수록 형사의 믿음이 변한다. 처음에는 여러 용의자에게 분산되어 있던 확신이, 증거가 많아질수록 특정 용의자에게 집중된다.
- 순차적 업데이트: 새 증거가 나올 때마다 현재의 사후 분포가 다음 단계의 사전 분포가 된다. 이것이 베이지안 추론의 순차 학습(Sequential Learning) 특성이다.
핵심은 증거가 충분하면 초기 믿음(사전 분포)에 관계없이 결론이 수렴한다는 것이다 — Bernstein-von Mises 정리가 수학적으로 보장하는 바이다.
핵심 개념
섹션 제목: “핵심 개념”1. 베이즈 정리 (Bayes’ Theorem)
섹션 제목: “1. 베이즈 정리 (Bayes’ Theorem)”
| 구성 요소 | 기호 | 의미 | 역할 |
|---|---|---|---|
| 사전 분포 (Prior) | 데이터를 보기 전 파라미터에 대한 믿음 | 기존 지식 인코딩 | |
| 우도 (Likelihood) | 주어진 파라미터에서 데이터가 관측될 확률 | 데이터가 전달하는 정보 | |
| 사후 분포 (Posterior) | 데이터를 본 후 업데이트된 믿음 | 추론의 최종 결과 | |
| 증거 (Evidence) | 모든 파라미터에 대해 주변화한 데이터 확률 | 정규화 상수, 모델 비교에 사용 |
2. MAP vs 완전 베이지안 (Full Bayesian)
섹션 제목: “2. MAP vs 완전 베이지안 (Full Bayesian)”MAP 추정 (Maximum A Posteriori)은 사후 분포의 최빈값만 취한다:
MAP과 정규화의 관계:
- 가우시안 사전 분포 → L2 정규화 (Ridge)
- 라플라스 사전 분포 → L1 정규화 (Lasso)
완전 베이지안 추론은 사후 분포 전체를 사용하여 예측한다:
MAP은 점 추정이라 불확실성을 잃는 반면, 완전 베이지안은 예측의 불확실성을 자연스럽게 포함한다.
3. 사전 분포의 종류
섹션 제목: “3. 사전 분포의 종류”| 유형 | 설명 | 예시 | 적용 시점 |
|---|---|---|---|
| 비정보적 (Non-informative) | 파라미터에 대해 최소한의 가정 | (균일), Jeffreys prior | 사전 지식이 전혀 없을 때 |
| 약정보적 (Weakly Informative) | 합리적 범위만 제한 | , | 대부분의 실무 상황에서 권장 |
| 강정보적 (Informative) | 구체적 사전 지식 반영 | 이전 실험 결과의 사후 분포 | 도메인 전문가의 지식이 확실할 때 |
파라미터 유형별 사전 분포 선택 가이드:
- 위치 파라미터 (회귀 계수 등): 정규 분포
- 스케일 파라미터 (분산 등): Half-Cauchy 또는 Inverse-Gamma
- 확률 파라미터: Beta 분포
- 비율/양수 파라미터: 로그 정규 분포
4. 우도 (Likelihood)와 사후 분포 (Posterior)
섹션 제목: “4. 우도 (Likelihood)와 사후 분포 (Posterior)”우도는 데이터 생성 모델 (Data Generating Model)을 정의한다. i.i.d. 가정 하에서:
사후 분포의 핵심 성질:
즉, 사후 분포 우도 사전 분포이다.
숫자로 이해하기
섹션 제목: “숫자로 이해하기”동전 던지기로 베이지안 업데이트(Bayesian Update)를 체험해 보자.
문제: 동전을 10번 던져서 앞면이 7번 나왔다. 이 동전의 앞면 확률 는?
- 사전 분포(Prior): — 아무 사전 지식 없음 (균일 분포(Uniform Distribution))
- 데이터(Data): 10번 중 앞면 7번, 뒷면 3번
- 사후 분포(Posterior):
- 사후 기대값(Posterior Mean):
빈도주의(Frequentist) MLE는 이지만, 베이지안 추정은 0.67로 사전 분포(Prior Distribution)가 약간 0.5 쪽으로 “당겨준다” — 이것이 자연스러운 정규화(Natural Regularization) 효과이다.
만약 사전에 “이 동전은 공정할 것 같다”는 강한 믿음이 있다면 을 사전 분포로 사용하고, 사후 분포는 , 기대값은 이 된다. 사전 지식이 강할수록 데이터의 영향이 줄어든다.
Bernstein-von Mises 정리: 데이터가 충분히 많아지면, 사후 분포는 사전 분포의 선택에 관계없이 MLE를 중심으로 한 정규 분포에 수렴한다. 즉, 데이터가 사전 분포를 압도한다.
상세 내용
섹션 제목: “상세 내용”켤레 사전 분포 (Conjugate Priors)
섹션 제목: “켤레 사전 분포 (Conjugate Priors)”사전 분포와 우도가 같은 분포 족에 속하면, 사후 분포도 같은 족이 되어 해석적 계산이 가능하다.
| 우도 | 켤레 사전 분포 | 사후 분포 | 활용 예시 |
|---|---|---|---|
| Binomial | 클릭률, 전환율 추정 | ||
| Poisson | 이벤트 발생 빈도 | ||
| Normal (known ) | 평균 추정 | ||
| Multinomial | 토픽 모델링, NLP |
Beta-Binomial 예시: 새 광고의 클릭률을 추정한다고 하자.
- 사전 분포: 기존 광고들의 평균 클릭률 5%를 반영하여 (평균 0.05)
- 데이터: 200회 노출 중 18회 클릭
- 사후 분포:
- 사후 평균: (약 7.7%)
- 순수 MLE: (9%)
사전 분포가 추정치를 기존 지식 쪽으로 수축 (Shrinkage)시킨다. 데이터가 적을수록 이 효과가 크고, 데이터가 많아지면 MLE에 수렴한다.
MCMC (Markov Chain Monte Carlo)
섹션 제목: “MCMC (Markov Chain Monte Carlo)”사후 분포에서 직접 샘플링하여 적분을 근사하는 방법이다.
Metropolis-Hastings
섹션 제목: “Metropolis-Hastings”가장 기본적인 MCMC 알고리즘이다. 수락 비율 (Acceptance Ratio):
여기서 는 제안 분포 (Proposal Distribution)이다.
HMC (Hamiltonian Monte Carlo)
섹션 제목: “HMC (Hamiltonian Monte Carlo)”물리학의 해밀턴 역학에서 영감을 받아, 파라미터 공간을 “공”이 구르듯이 탐색한다. 기울기 정보를 활용하므로 고차원에서 Metropolis-Hastings보다 훨씬 효율적이다.
NUTS (No-U-Turn Sampler)
섹션 제목: “NUTS (No-U-Turn Sampler)”HMC의 핵심 하이퍼파라미터 (경로 길이)를 자동 조정한다. Stan과 PyMC의 기본 샘플러이다.
MCMC 실전 팁:
- 워밍업 (Warmup/Burn-in): 전체 샘플의 처음 50%는 버린다
- 다중 체인 (Multiple Chains): 최소 4개 체인을 독립적으로 실행한다
- 수렴 진단: 이어야 수렴으로 판단한다
- 발산 경고 (Divergence Warnings): 하나라도 발생하면 모델을 재설정해야 한다 (무시 금지!)
- 유효 표본 크기 (ESS): 관심 파라미터당 최소 400 이상 확보한다
변분 추론 (Variational Inference, VI)
섹션 제목: “변분 추론 (Variational Inference, VI)”사후 분포 추론을 최적화 문제로 변환한다. 단순한 분포 로 진짜 사후 분포 를 근사한다.
ELBO (Evidence Lower Bound) 최대화:
첫째 항은 데이터 적합도를, 둘째 항은 사전 분포로부터의 이탈을 페널티한다. VAE (Variational Autoencoder)도 이 프레임워크를 사용한다.
평균장 근사 (Mean-Field Approximation): 로 파라미터 간 독립을 가정한다. 계산이 단순해지지만, 파라미터 간 상관관계를 포착하지 못한다.
| 기준 | MCMC | 변분 추론 (VI) |
|---|---|---|
| 정확도 | 이론적으로 정확 (충분한 샘플 시) | 근사적 (분포 가족 제한) |
| 속도 | 느림 | 빠름 |
| 확장성 | 수천 파라미터까지 | 수백만 파라미터 가능 |
| 수렴 진단 | , ESS 등 잘 정립됨 | 수렴 보장 없음 |
| 적합한 상황 | 정확한 불확실성이 중요할 때 | 대규모 모델, 빠른 반복이 필요할 때 |
베이지안 신경망 (Bayesian Neural Networks, BNN)
섹션 제목: “베이지안 신경망 (Bayesian Neural Networks, BNN)”일반 신경망은 가중치를 점 추정하므로, 예측에 대한 불확실성을 알 수 없다. 훈련 데이터에서 멀리 떨어진 입력에도 높은 확신의 (잘못된) 예측을 내놓는 과잉 확신 (Overconfidence) 문제가 발생한다.
BNN은 가중치 자체를 확률 분포로 모델링한다:
주요 근사 방법:
- Bayes by Backprop: 가중치의 변분 분포 를 학습. ELBO를 목적 함수로 사용한다
- MC Dropout: 가장 실용적인 방법. 추론 시에도 Dropout을 켜고 번 전방 패스를 수행한다
- Deep Ensemble: 개의 독립적으로 학습한 모델의 예측을 결합한다. BNN은 아니지만, 실무에서 불확실성 추정에 가장 잘 작동하는 경우가 많다
불확실성 분해:
- 인식론적 불확실성 (Epistemic): 모델이 충분히 학습하지 못해 발생. 데이터가 많아지면 감소. 모델 간 예측 분산으로 추정
- 우연적 불확실성 (Aleatoric): 데이터 자체의 노이즈. 더 많은 데이터로도 줄일 수 없음. 각 모델 내부의 예측 분산으로 추정
가우시안 프로세스 (Gaussian Process, GP)
섹션 제목: “가우시안 프로세스 (Gaussian Process, GP)”GP는 함수에 대한 사전 분포이다:
여기서 는 평균 함수, 는 커널 (공분산) 함수이다.
유한한 점 집합에서 GP는 다변량 정규 분포가 되므로, 예측 평균과 분산을 해석적으로 구할 수 있다:
여기서 는 훈련 데이터 간 공분산 행렬, 는 훈련-테스트 간 공분산, 는 테스트 데이터의 사전 분산이다.
주요 커널 함수:
| 커널 | 수식 | 특성 |
|---|---|---|
| RBF (Squared Exponential) | 매끄러운 함수, 가장 널리 사용 | |
| Matern | 거칠기 조절 가능 (=1/2, 3/2, 5/2) | |
| Periodic | 주기적 패턴 포착 |
한계: 공분산 행렬 역행렬 계산에 이 필요하여, 데이터가 수천 개를 넘으면 비실용적이다. 희소 GP (Sparse GP)는 개의 유도점 (Inducing Points)을 사용하여 으로 줄인다.
베이지안 최적화 (Bayesian Optimization)
섹션 제목: “베이지안 최적화 (Bayesian Optimization)”평가 비용이 비싼 블랙박스 함수를 최소 횟수로 최적화하는 기법이다.
대리 모델로 주로 GP를 사용하며, 획득 함수 (Acquisition Function)로 탐색-활용 균형을 조절한다:
- EI (Expected Improvement): — 현재 최적값 대비 기대 개선량
- UCB (Upper Confidence Bound): — 평균 + 불확실성 가중치
- PI (Probability of Improvement): — 개선 확률
적합한 상황: 하이퍼파라미터 최적화 (grid/random search보다 효율적), 실험 설계, A/B 테스트 최적화 등 평가 횟수가 제한된 경우.
베이지안 추론 워크플로
섹션 제목: “베이지안 추론 워크플로”베이지안 ML 방법론 분류
섹션 제목: “베이지안 ML 방법론 분류”언제 사용하는가 / 언제 피하는가
섹션 제목: “언제 사용하는가 / 언제 피하는가”베이지안이 빛나는 경우
섹션 제목: “베이지안이 빛나는 경우”| 상황 | 이유 |
|---|---|
| 소량 데이터 | 사전 분포가 정규화 역할을 하여 과적합 방지 |
| 불확실성이 중요한 의사결정 | 의료 진단, 자율주행 등 “얼마나 확신하는가”가 핵심 |
| 능동 학습 (Active Learning) | 불확실성이 높은 곳을 선택적으로 탐색 |
| 하이퍼파라미터 최적화 | 베이지안 최적화로 효율적 탐색 |
| 순차적 의사결정 | 온라인 학습, 밴딧 문제에서 사전→사후 업데이트 |
빈도주의 / 점 추정이 나은 경우
섹션 제목: “빈도주의 / 점 추정이 나은 경우”| 상황 | 이유 |
|---|---|
| 대규모 데이터 | Bernstein-von Mises에 의해 사전 분포 영향이 미미하고, 계산 비용만 증가 |
| 빠른 프로토타이핑 | MCMC/VI 세팅보다 SGD가 훨씬 간단 |
| 매우 고차원 파라미터 | 수억 파라미터의 사후 분포는 현실적으로 추정 불가 |
| 해석 가능성이 덜 중요할 때 | 점 추정 모델이 더 직관적으로 설명 가능한 경우 |
실전 사례: MCMC 발산 경고를 무시한 대가
섹션 제목: “실전 사례: MCMC 발산 경고를 무시한 대가”MCMC 기반 베이지안 추론을 프로덕션에 배포할 때, 발산 경고(Divergence Warning)를 무시하면 어떤 일이 벌어지는지를 보여주는 사례이다.
한 의료 AI 스타트업에서 약물 투여량 최적화를 위한 베이지안 약동학(Pharmacokinetic) 모델을 개발했다. 개발 과정에서 다음과 같은 일이 발생했다:
- 모델 학습 시 Stan에서 발산 경고 12건 발생: 개발자는 “12건은 전체 샘플 수 대비 무시할 수 있는 수준”이라고 판단하고, 값이 1.01 미만이라는 이유로 모델을 그대로 배포했다
- 특정 환자 그룹에서 비정상적 예측: 체중이 극단적으로 낮거나 높은 환자에 대해 투여량 추천이 비합리적으로 높게 나왔다. 사후 분포의 꼬리(Tail) 부분이 제대로 탐색되지 않아, 극단적 파라미터 값에 대한 불확실성이 과소 추정된 것이다
- 근본 원인: 발산은 사후 분포의 기하학적 구조(Geometry)가 MCMC 샘플러에게 어려운 영역이 있음을 의미한다. 이 경우 체중 관련 파라미터와 다른 파라미터 사이의 강한 상관관계(Funnel Geometry)가 문제였다
해결 과정:
- 모델을 재매개변수화(Reparameterization)하여 파라미터 간 상관관계를 줄였다 (비중심화 매개변수화, Non-centered Parameterization)
- 사전 분포를 약정보적(Weakly Informative)으로 재설정하여 극단적 파라미터 값을 부드럽게 제한했다
- 재학습 후 발산 경고가 0건으로 줄었고, 극단적 환자에 대한 예측도 합리적 범위 안에 들어왔다
교훈: MCMC의 발산 경고는 “무시해도 되는 경미한 문제”가 아니라, 모델의 사후 분포가 신뢰할 수 없다는 강력한 신호이다. 발산이 하나라도 발생하면 모델의 재설계가 필요하다.
흔한 오해와 함정
섹션 제목: “흔한 오해와 함정”1. “사전 분포가 결과를 결정한다”
섹션 제목: “1. “사전 분포가 결과를 결정한다””Bernstein-von Mises 정리에 의해, 데이터가 충분하면 사전 분포의 영향은 사라진다. 단, 소량 데이터에서는 사전 분포의 선택이 실제로 결과에 큰 영향을 미치므로, 민감도 분석 (Sensitivity Analysis)을 반드시 수행해야 한다.
2. “베이지안 = 느리다”
섹션 제목: “2. “베이지안 = 느리다””켤레 사전 분포를 사용하면 해석적으로 즉시 계산 가능하다. 변분 추론은 SGD와 비슷한 속도로 동작한다. MCMC만이 본질적으로 느린 것이며, 모든 베이지안 방법이 느린 것은 아니다.
3. “불확실성 추정 = 캘리브레이션된 확률”
섹션 제목: “3. “불확실성 추정 = 캘리브레이션된 확률””베이지안 불확실성이라도 자동으로 잘 보정 (Calibrated)되지는 않는다. 모델이 잘못 설정되면 (Model Misspecification) 불확실성도 부정확해진다. 반드시 캘리브레이션을 별도로 검증해야 한다.
4. “비정보적 사전 분포는 항상 안전하다”
섹션 제목: “4. “비정보적 사전 분포는 항상 안전하다””균일 사전 분포는 파라미터화 (Parameterization)에 따라 정보적일 수 있다. 예를 들어, 에 균일한 사전 분포가 에서는 균일하지 않다. Jeffreys prior도 고차원에서는 문제를 일으킬 수 있다. 약정보적 사전 분포가 대부분의 상황에서 더 안전한 선택이다.
5. “MCMC가 수렴했으면 결과를 믿어도 된다”
섹션 제목: “5. “MCMC가 수렴했으면 결과를 믿어도 된다””이고 트레이스 플롯이 깨끗해 보여도, 다봉 (Multimodal) 사후 분포에서 일부 모드만 탐색했을 수 있다. 다양한 초기값으로 여러 체인을 실행하고, 발산 경고가 없는지 반드시 확인해야 한다.
6. “베이지안 vs 빈도주의는 양자택일이다”
섹션 제목: “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)