인공지능을 위한 통계학 기초

베이지안 통계

최 수빈 2025. 2. 22. 20:49

 

베이즈 정리와 사전/사후 확률

 

베이즈 정리는 기존의 사전 확률을 새로운 증거를 바탕으로 갱신하여 사후 확률을 계산하는 방법을 제공

→ 통계적 추론, 머신러닝, 의학적 진단 등 다양한 분야에서 활용

 

베이즈 정리


P(A|B) = P(B|A) * P(A) / {P(B)

 

  • 사전 확률 (Prior Probability, (P(A))): 새로운 정보를 얻기 전 특정 사건 (A) 가 발생할 확률
  • 우도 (Likelihood, (P(B|A))): 사건 (A) 가 발생했을 때 증거 (B) 가 나타날 확률
  • 사후 확률 (Posterior Probability, (P(A|B))): 증거 (B) 가 주어졌을 때 사건 (A) 가 발생할 확률
  • 증거 (Evidence, (P(B))): 증거 (B) 가 발생할 전체 확률

 

활용 사례

  • 조건부 확률 계산: 데이터 기반 의사 결정
  • 스팸 필터링: 나이브 베이즈 분류기를 사용하여 이메일이 스팸인지 아닌지 판단
  • 의료 진단: 질병의 사전 확률과 검사 결과를 활용하여 정확한 진단 가능

 

베이지안 추론

사전 확률을 새로운 데이터에 따라 갱신하는 방법론

모든 불확실성을 확률로 표현

→ 새로운 데이터를 지속적으로 반영하여 예측 성능을 향상하는 데 유용

 

베이지안 추론 과정

  1. 사전 분포 설정 (Prior Distribution): 초기 확률 분포를 설정
  2. 우도 계산 (Likelihood Calculation): 관측 데이터가 주어진 조건에서 발생할 확률을 계산
  3. 사후 분포 도출 (Posterior Distribution Calculation): 새로운 데이터를 반영하여 확률을 갱신

장점

  • 작은 표본에서도 효과적
  • 불확실성 정량화 가능
  • 복잡한 모델에 적용 가능

단점

  • 계산이 복잡할 수 있음
  • 사전 분포 설정의 주관성이 존재

 

베이지안 통계의 응용

  1. 베이지안 네트워크: 확률적 그래프 모델을 사용하여 변수 간 관계 모델링
  2. 나이브 베이즈 분류기: 텍스트 분류, 스팸 필터링 등에 활용
  3. 베이지안 최적화: 하이퍼파라미터 튜닝에 사용
  4. 베이지안 딥러닝: 신경망의 가중치 불확실성을 모델링하여 신뢰성 있는 예측 수행
  5. 순차적 학습 및 온라인 학습: 데이터가 지속적으로 입력될 때 모델을 업데이트하는 방식
  6. 베이지안 모델 선택: 데이터에 가장 적합한 모델을 확률적으로 선택

 

PyMC를 활용한 간단한 베이지안 추론 예제

import pymc as pm
import numpy as np
import matplotlib.pyplot as plt
import arviz as az  # arviz 추가

# 모델 정의
with pm.Model() as model:
    mu = pm.Normal('mu', mu=0, sigma=1)  # 사전 분포 설정
    obs = pm.Normal('obs', mu=mu, sigma=1, observed=np.random.randn(100))
    trace = pm.sample(1000, return_inferencedata=True)  # 샘플링 수행

# 사후 분포 시각화
az.plot_posterior(trace)  # arviz 사용
plt.show()

 

Initializing NUTS using jitter+adapt_diag...
Multiprocess sampling (4 chains in 4 jobs)
NUTS: [mu]
                                                                                                                   
  Progress                   Draws   Divergences   Step size   Grad evals   Sampling Speed    Elapsed   Remaining  
 ───────────────────────────────────────────────────────────────────────────────────────────────────────────────── 
  ━━━━━━━━━━━━━━━━━━━━━━━━   2000    0             1.39        1            1475.48 draws/s   0:00:01   0:00:00    
  ━━━━━━━━━━━━━━━━━━━━━━━━   2000    0             1.05        1            1319.02 draws/s   0:00:01   0:00:00    
  ━━━━━━━━━━━━━━━━━━━━━━━━   2000    0             1.30        1            1179.29 draws/s   0:00:01   0:00:00    
  ━━━━━━━━━━━━━━━━━━━━━━━━   2000    0             1.45        1            1078.49 draws/s   0:00:01   0:00:00    
                                                                                                                   
 
Sampling 4 chains for 1_000 tune and 1_000 draw iterations (4_000 + 4_000 draws total) took 2 seconds.

 

 

  • 사전 분포 설정: μ ~ 𝓝(0,1) (정규 분포)
  • 관측 데이터: 100개의 랜덤 샘플을 정규 분포에서 생성하여 입력
  • 샘플링 수행: MCMC 방법을 사용하여 사후 분포 샘플링
  • 사후 분포 시각화: plot_posterior 함수로 확인

 

베이지안 방법론의 확장

  • 머신러닝: 베이지안 최적화를 통한 하이퍼파라미터 튜닝
  • 딥러닝: 베이지안 신경망을 이용하여 모델의 불확실성 정량화
  • 의료 통계: 신약 개발 및 임상 시험 분석
  • 재무 분석: 확률적 자산 가격 모델링

베이지안 통계는 기존 빈도주의 통계보다 더 유연하고 강력한 방법론을 제공함

특히, 데이터가 적거나 불확실성이 높은 문제에서 효과적으로 활용가능