Bayesian Methods & Probabilistic Programming
사전 지식과 관측 데이터를 결합하여 확률을 갱신하는 베이즈 추론의 역학과, 복잡한 확률 모델을 코드로 기술하고 시뮬레이션하는 확률적 프로그래밍의 원리를 다루는 학습 노드입니다.
sys.entry
M
Me
hyunyoun's Blog
posts6 min read
1. Overview
베이지안 방법론 및 확률형 프로그래밍(Bayesian Methods & Probabilistic Programming, BMP)은 정적인 확률 계산을 넘어 학습과 경험을 통해 지능적으로 데이터를 해석하는 메커니즘을 다룹니다.
이론의 핵심인 **베이즈 정리(Bayes' Theorem)**는 새로운 정보가 들어올 때 기존의 믿음(Prior)을 어떻게 합리적으로 수정(Posterior)해야 하는지에 대한 물리적 규칙을 제공합니다. 또한, **확률적 프로그래밍(Probabilistic Programming)**은 이러한 복잡한 확률 관계를 선언적 코드로 표현하고, MCMC(Markov Chain Monte Carlo)와 같은 샘플링 기법을 통해 해를 구하는 현대적 접근법입니다. 이를 통해 불확실성이 큰 환경에서 로봇의 위치를 추적하거나(Kalman Filter), 복잡한 마케팅 효과를 예측하는 등 고도의 추론 시스템을 구축하는 능력을 갖춥니다.
2. Scope & Boundaries
In-Scope
- Bayesian Inference: 사전 확률(Prior), 가능도(Likelihood), 사후 확률(Posterior)의 갱신 역학
- Conjugate Priors: 수학적 계산 편의를 위한 공액 사전 분포의 물리적 선택
- Probabilistic Models: 생성 모델(Generative Models)과 계층적 베이지안 모델링
- Sampling Physics: MCMC, 깁스 샘플링(Gibbs Sampling)을 통한 확률 분포의 수치적 근사
Out-of-Scope
- 빈도주의 통계학(Frequentist Statistics)의 깊은 이론 (04-02 SIE 영역으로 위임)
- 심층 강화 학습의 구체적인 신경망 아키텍처 (11-02 DLN 영역으로 위임)
Boundaries
- BMP vs. Classic Programming: 클래식 프로그래밍이 '명형어의 결정론적 실행'이라면, BMP는 '결과로부터 원인을 추론하는 역방향 확률 연산'에 집중합니다.
3. Counterexample
- 단순히 "조건부 확률 공식을 쓰는 것"은 BMP 학습이 아닙니다. 왜 특정 데이터가 적을 때 **사전 확률(Prior)**의 설정이 결과에 물리적으로 지배적인 영향을 주는지 편향성(Bias)의 관점에서 설명할 수 있어야 하고, MCMC 샘플링이 특정 상태에서 왜 '수렴(Convergence)'하지 못하고 겉도는지 마르코프 체인의 물리적 성질을 근거로 지적하지 못한다면 BMP의 본질을 이해하지 못한 것입니다.
4. Prerequisites
- Probability Spaces & Random Variables (Basic): 조건부 확률과 독립성 이해가 필수입니다. (04-01 PRV)
- Statistical Inference & Estimation (Recommended): 가능도(Likelihood)와 모수 추정 개념이 권장됩니다. (04-02 SIE)
5. Learning Map
- Belief Update: 베이즈 정리를 통해 새로운 데이터가 지식의 지도를 어떻게 물리적으로 바꾸는지 익힙니다.
- Prior Architecture: 도메인 지식을 사전 분포라는 수리적 형태로 고정하는 법을 배웁니다.
- Programmatic Inference: 확률 모델을 코드로 선언하고 샘플링 엔진에게 추론을 맡깁니다.
- Quantifying Uncertainty: 단순한 예측값이 아닌, 그 예측이 틀릴 확률까지 포함된 '확률적 답변'을 도출합니다.
6. Learning Topics
Basic
Core: 베이즈 정리와 사후 확률 (Bayesian Foundations)
- Why to Learn: 정보가 불완전한 상황에서 데이터를 증거로 삼아 믿음을 갱신하는 과학적 방법론을 갖추기 위합입니다.
- What to Learn:
- 베이즈 공식: 의 물리적 성분 분석
- 사전 확률(Prior)과 사후 확률(Posterior)의 시간순 물리 변화
- 증거(Evidence) 항이 갖는 정규화(Normalization)의 의미
- How to Learn:
- 질병 진단 키트의 정확도(민감도/특이도)를 보고, 양성 반응 시 실제 유병 확률을 계산하는 고전적 실습
- 데이터()가 하나씩 추가될 때마다 사후 확률 분포가 어떻게 뾰족해지는지 시각화 분석
- Implement: 실시간 데이터 스트림을 받아 특정 사건의 발생 확률을 반복적으로 갱신하는 베이지안 업데이트 엔진
Recommended
Core: 확률적 프로그래밍의 기초 (PPL Foundations)
- Why to Learn: 복잡한 수식을 손으로 푸는 대신, 코드로 모델을 정의하여 기계가 추론하게 하기 위해서입니다.
- What to Learn:
- 확률형 프로그래밍 언어(PPL)의 철학: 결정론적 변수 vs 확률적 변수(Stochastic)
- 관측(Observe)과 추론(Infer) 명령의 수리적 역학
- Pyro, Stan, PyMC 등 주요 라이브러리의 개념 모델링
- How to Learn:
- "동전의 무게가 앞면으로 치우쳐 있다"는 가설을 PPL 코드로 선언하고 관측 데이터를 주입해보는 실습
- 프로그램의 제어 흐름(if, for) 내부에 확률 변수가 포함될 때 발생하는 추론의 복잡도 분석
- Implement: 특정 도메인(예: 기상 예측)의 인과 관계를 PPL로 기술한 간단한 추론 모델
Practical
Core: MCMC와 샘플링 기법 (Sampling Mechanics)
- Why to Learn: 해석적으로 풀 수 없는 거대한 확률 적분 문제를 수치적 샘플링으로 해결하기 위함입니다.
- What to Learn:
- 마르코프 체인(Markov Chain)의 물리적 전이와 정상 분포(Stationary Distribution)
- 메트로폴리스-헤이스팅스(Metropolis-Hastings) 알고리즘의 제안-수락 물리
- 깁스 샘플링: 다변수 분포를 조건부 분포들의 시퀀스로 쪼개는 기술
- How to Learn:
- 복잡한 함수의 적분값을 무작위 점 던지기(Monte Carlo)를 통해 근사하는 연습
- MCMC의 초기 '번인(Burn-in)' 구간이 왜 필요한지 샘플링 궤적 시각화를 통해 이해
- Implement: 임의의 확률 분포 함수를 입력받아 MCMC를 통해 해당 분포를 따르는 샘플을 생성하는 생성기
Advanced
Core: 계층적 베이지안과 불확실성 (Advanced Bayesian)
- Why to Learn: 데이터가 부족한 그룹의 정보를 전체 그룹의 경향성으로 보완(Partial Pooling)하여 강력한 모델을 만들기 위해서입니다.
- What to Learn:
- 계층적 모델(Hierarchical Model): '파라미터의 파라미터'를 갖는 물리 구조
- 불확실성 정량화(UQ): 알고리즘의 답변에 대한 '자신감'을 수치로 표현
- 변분 추론(Variational Inference): 샘플링 대신 최적화 문제로 추론을 치환하는 고속 역학
- How to Learn:
- 여러 학교의 성적 변동을 분석할 때, 각 학교의 특수성과 전체 학교의 평균을 동시에 반영하는 모델링 실습
- 베이지안 신경망(BNN)이 가중치를 상수가 아닌 분포로 가질 때의 이점을 물리적으로 탐구
- Implement: 데이터의 노이즈(Aleatoric)와 모델의 무지(Epistemic)에 의한 불확실성을 구분하여 출력하는 예측 엔진
7. Terminology
8. References
Primary
- [P1] CS2023 - DS/Discrete Probability — Conditional probability rules.
- [P4] DS-BoK - Data Analytics / Bayesian Inference — Advanced analytics core.
Secondary
- [Statistical Rethinking] Richard McElreath — Intuitive Bayesian modeling for scientists.
- [Bayesian Data Analysis] Andrew Gelman — The rigorous Bayesian "Bible".
Industry
- [Uber Pyro: Deep Probabilistic Programming] — Industry scale PPL applications.
- [Google CausalImpact: Bayesian Causal Inference] — Bayesian methods in marketing.
9. Final Checklist
Primary
- 베이즈 정리를 사용하여 사전 확률이 0인 사건은 어떤 데이터가 들어와도 사후 확률이 0이 될 수밖에 없는 물리적 한계를 입증할 수 있는 가? (P1)
- '독립(Independence)'과 '조건부 독립(Conditional Independence)'의 차이를 베이지안 네트워크 예시를 통해 물리적으로 설명 가능한가? (P1)
Secondary
- PPL(확률적 프로그래밍) 환경에서 '샘플러(Sampler)'가 사후 분포를 찾아가는 과정을 물리학적 입자 이동 모형인 HMC(Hamiltonian Monte Carlo) 관점에서 설명할 수 있는 가?
- 베이지안 추론이 빈도주의적 최대 우도 추정(MLE)과 결과적으로 동일해지는 특수한 물리적 상황(균등 사전 분포)을 소통 가능한가?
Industry
- 게임 밸런싱이나 추천 시스템 설계 시, 콜드 스타트(Cold Start) 문제를 해결하기 위해 사전 분포(Prior)를 어떻게 물리적으로 설계할지 전략을 수립할 수 있는 가? (SFIA)
- 자율 주행이나 로봇 공학에서 센서 데이터의 노이즈를 베이즈 갱신을 통해 실시간으로 제거하고 객체의 위치를 추론하는 로직을 제안할 수 있는 가?