반응형

 

1. 베이즈 정리란?

베이즈 정리는 조건부 확률을 다룰 때 사용됩니다.

이는 어떤 사건 A가 발생했다는 추가 정보가 주어졌을 때, 사건 B의 확률을 업데이트하는 데 사용됩니다.

이러한 조건부 확률은 다양한 분야에서 응용될 수 있습니다. 예를 들어 의학, 금융, 기계 학습 등에서 유용하게 쓰입니다.

 

 

2. 베이즈 정리 수학적 정의

베이즈 정리는 다음과 같은 공식으로 표현됩니다:

P(B) = P(A1 ∩ B) + P(A2 ∩ B) + P(A3 ∩ B) = P(A1)P(B|A1) + P(A2)P(B|A2) + P(A3)P(B|A3)

여기서 P(A)는 사건 A의 확률, P(B|A)는 A가 주어졌을 때 B의 조건부 확률을 의미합니다.

 

 

3. 실생활 예제

의학 분야에서 베이즈 정리를 사용하는 예를 들어보겠습니다. 예를 들어, 특정 질병에 대한 양성 반응률이 99%인 검사가 있다고 가정해 봅시다. 그러나 이 질병이 전체 인구 중 0.1%만이 가지고 있는 희귀병이라고 합시다. 이때 어떤 사람이 이 검사에서 양성 반응이 나왔다면, 실제로 그 사람이 그 질병을 가지고 있을 확률은 얼마일까요?

이를 계산하기 위해 베이즈 정리를 사용할 수 있습니다.

 

 

4. 코드 예제

def bayes_theorem(P_A, P_B_given_A, P_notA_given_B):
    """
    베이즈 정리 계산 함수
    P_A : 사건 A의 사전 확률
    P_B_given_A : 사건 A가 주어졌을 때 사건 B의 확률
    P_notA_given_B : 사건 B가 주어졌을 때 사건 A가 아닐 확률
    """
    # 사건 B의 전체 확률 계산
    P_B = P_B_given_A * P_A + P_notA_given_B * (1 - P_A)
    # 사건 A가 주어졌을 때 사건 B의 사후 확률 계산
    P_A_given_B = (P_B_given_A * P_A) / P_B
    return P_A_given_B

# 예제 값
P_A = 0.001  # 질병을 가지고 있을 확률
P_B_given_A = 0.99  # 질병이 있을 때 양성 반응을 보일 확률
P_notA_given_B = 0.01  # 질병이 없을 때 양성 반응을 보일 확률

# 베이즈 정리 적용
result = bayes_theorem(P_A, P_B_given_A, P_notA_given_B)

print(f"실제로 질병을 가지고 있을 확률: {result * 100:.2f}%")

 

 

이 코드는 주어진 확률을 바탕으로 해당 사람이 실제로 질병을 가지고 있을 확률을 계산합니다.
베이즈 정리는 이처럼 사전에 알려진 정보를 바탕으로 새로운 정보를 통합하고 업데이트하는 데 유용하게 사용됩니다.

반응형