본문 바로가기
C.W.K.
Stream
Lesson 04 of 05 · published

베이즈 규칙: 증거로 확률 갱신하기

~10 min · bayes, prior, posterior, evidence

Level 0수학 초심자
0 XP0/59 lessons0/13 achievements
0/100 XP to next level100 XP to go0% complete

조건의 방향을 뒤집는 식

증거 를 본 뒤 가설 의 확률을 구하려면, 가 참일 때 그 증거가 나올 확률과 증거 전의 확률을 함께 써. 조건부확률의 정의를 정리한 식이지만, 추론에서는 믿음을 갱신하는 절차로 읽을 수 있어.

  • 사전확률 : 증거를 보기 전 가설의 확률
  • 우도 : 가설이 참일 때 증거가 관측될 확률
  • 사후확률 : 증거를 본 뒤 갱신된 확률
  • 증거 : 가능한 가설 전체에서 증거가 나올 확률이자 정규화 항

양성이라고 99%가 아니다

유병률 1%, 민감도 99%, 특이도 99%인 검사를 생각해봐. 10,000명을 검사하면 환자 100명 중 약 99명이 양성이고, 건강한 9,900명 중 약 99명도 거짓 양성이야. 양성 198명 가운데 실제 환자는 약 절반, 곧 약 50%지. 검사 성능만 보고 사전확률을 빼먹으면 조건을 거꾸로 읽게 돼.

머신러닝에서의 정확한 자리

  • 나이브 베이즈: 특성의 조건부 독립을 가정해 분류를 단순하게 계산해.
  • 베이지안 신경망: 가중치나 함수에 분포를 두고 데이터로 사후분포를 갱신해.
  • 변분추론: 계산하기 어려운 사후분포를 다루기 쉬운 분포족으로 근사해.

RLHF와 DPO를 ‘정책의 베이지안 사후갱신’이라고 부르는 건 비유로는 가능하지만 알고리즘 자체의 정의는 아니야. 둘은 선호 데이터를 이용해 정책을 최적화하는 학습법이고, 명시적인 사전분포와 사후분포를 계산하지 않아도 실행돼.

베이즈 규칙은 증거의 힘을 사전확률과 함께 읽게 해. 를 뒤바꾸지 마.

Code

기저율이 중요한 질병 검사 예제·python
# 질병 검사 예시
prior = 0.01            # 1% 유병률
sensitivity = 0.99      # P(양성 | 질병)
specificity = 0.99      # P(음성 | 무질병)

p_pos_given_disease   = sensitivity
p_pos_given_no_disease = 1 - specificity

# P(양성) — 전체 확률
p_pos = p_pos_given_disease * prior + p_pos_given_no_disease * (1 - prior)

# Bayes
posterior = (p_pos_given_disease * prior) / p_pos
print(f"P(질병 | 양성) = {posterior:.3f}")  # ~0.500

External links

Exercise

질병 검사 예제에서 사전확률을 1%에서 50%로 바꾸고 양성 뒤의 사후확률을 다시 계산해. 민감도와 특이도는 그대로인데 결과가 왜 달라지는지 설명해.
Hint
민감도와 특이도가 각각 99%이고 사전확률이 50%면 양성 뒤 사후확률도 99%야. 같은 우도라도 사전확률이 달라지면 사후확률이 달라져.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.