C.W.K.
Stream
Lesson 05 of 06 · published

순차 베이즈 업데이트: 진화하는 믿음

~11 min · sequential, updating, belief-revision, bayes

Level 0통계 초심자
0 XP0/55 lessons0/14 achievements
0/100 XP to next level100 XP to go0% complete
"*한 번에 한 증거씩 업데이트하고 *올바른 곳에서 끝나는 믿음*이 *모든 정직한 추론 시스템의 베이즈 엔진*."

통찰

*베이즈 정리가 *순차적으로 적용될 때 가장 강력*. *각 새 증거가 *prior 를 posterior 로 업데이트*; *그 posterior 가 *다음 증거의 prior 가 됨*. *시간이 지나며, *데이터 누적과 함께 *어디서 시작했든 *믿음이 일관되게 진화* — *진실에 대해 *적어도 약간의 확률을 가진 prior 로 시작했고 *likelihood 가 정직하다면*.

재귀

1일차: prior(초기) + likelihood(증거 1) → posterior(증거 1 후).
2일차: prior(= 1 후 posterior) + likelihood(증거 2) → posterior(1+2 후).
3일차: prior(= 1+2 후 posterior) + likelihood(증거 3) → posterior(1+2+3 후).

*이게 *진단 임상의, 정보 분석가, 기상 예측자, 좋은 포커 플레이어가 *실제로 추론하는 방식*. *'증거 한 조각에서의 최종 판결' 이 아니라 *'증거 누적과 함께 진화하는 믿음'*. *규율은 *각 조각에 업데이트, *결정적 한 조각 기다리거나 *첫 인상에 닻 내리지 않는 것*.

수렴

*순차 업데이트의 *중요한 결과*: *충분한 독립 정직 증거와 함께, *어디서 시작했든 믿음이 수렴*. *매우 다른 prior 를 가진 두 베이즈주의자가 *증거 누적과 함께 *같은 posterior 로 수렴*, *둘 다 정직하게 업데이트한다면*. *이게 *'우리가 어떻게 불일치를 해결?' 에 대한 베이즈 답* — *충분한 증거 누적하면 *prior 가 중요하지 않게 됨*.

*수식어 '충분한 독립 정직 증거' 가 *많은 일을 함*. *수렴이 *증거가 약할 때 느림*; *prior 가 오랫동안 지배*. *수렴이 실패할 때 *증거가 상관됨 (같은 증거가 여러 번 업데이트됨) 또는 *한 쪽이 정직하게 업데이트 안 함*. *실제 불일치가 자주 지속되는 이유가 *이 실패 모드 중 하나 또는 둘 다 작동 중이라서*.

운영 기술

*베이즈 규율은 *'가장 강한 증거에 한 번 업데이트하고 결정' 이 아니야. *'각 증거가 도착할 때마다 업데이트, *그리고 *누적 posterior 가 다음 결정을 안내하게 두는 것'*. *이게 *진단, 예측, 기술 습득이 *실제로 작동하는 방식* — *그리고 *불확실성 하 정직한 추론이 *원칙적으로 어떻게 작동해야 하는지의 형식적 모델*.

Code

순차 업데이트: 동전-편향 학습·python
import numpy as np

# *동전 던지기 시퀀스에 *편향 학습하려고 순차 업데이트*.
# *편향 매개변수 p (앞면 확률) 에 대한 균등 prior 로 시작*.
# *각 던지기가 믿음 업데이트*.

p_grid = np.linspace(0.01, 0.99, 99)   # 고려할 편향 값
prior = np.ones_like(p_grid) / len(p_grid)    # 균등 prior

# *참 동전이 앞면 쪽으로 편향 (p_true = 0.7)*.
rng = np.random.default_rng(230)
p_true = 0.7

posteriors = [prior.copy()]
for n_flips in (5, 25, 100, 500):
    flips = rng.binomial(n=1, p=p_true, size=n_flips)
    heads = flips.sum()
    tails = n_flips - heads
    # *각 후보 p 가 주어졌을 때 관측 데이터의 likelihood*.
    likelihood = p_grid ** heads * (1 - p_grid) ** tails
    posterior = prior * likelihood
    posterior /= posterior.sum()
    mean_estimate = (p_grid * posterior).sum()
    print(f"{n_flips:>4} 던지기 후 ({heads} H / {tails} T): "
          f"p 의 posterior 평균 추정 = {mean_estimate:.4f}")
    prior = posterior   # *다음 라운드의 prior 가 이 라운드의 posterior*

print(f"\n참 p = {p_true}")
print("*추정이 더 많은 데이터 도착과 함께 *참 값으로 수렴하는 것 주목*.")
# *균등 prior ('우리가 아무것도 모른다' 라 말함) 로 시작했음에도,
# *posterior 가 *증거 누적과 함께 *참 p 로 수렴*.
# *다른 시작 prior 도 결국 같은 답으로 수렴*.

External links

Exercise

*현재 불확실한 믿음 하나 고르기* (프로젝트의 성공 가능성, 검정 중인 가설, 사람의 성격). *지금까지 누적된 증거 식별*. 그러고 나서 *순차적으로 업데이트*: *어떤 증거 전에도 prior 이름 붙이고, 그러고 나서 조각 별로 업데이트*. *최종 posterior 가 *gut 과 일치하는지* 주목*. *자주 다름* — *규율 잡힌 베이즈 posterior 가 *보통 gut 보다 더 신뢰할 만함*.
Hint
*순차 업데이트가 *각 증거 조각에 *개별적으로* 가중치 할당하게 강제, *그게 *가장 최근이나 가장 생생한 항목에 과중치 부여하는 gut-단축을 방지*.

Progress

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

댓글 0

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

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