DS가 되기 위한 여정 👩‍💻

AI/Linear Algebra, Math

[elice 머신러닝] 확률 변수와 조건부 확률

Tashapark 2025. 5. 4. 19:50
728x90

*elice 강의안

 

 

 

 

=============> 확률문제도 기억이 안 나..

문제 요약:

  • 박스 안에 숫자 공들이 있음:
    • ‘1번’이 적힌 공: 5개
    • ‘2번’이 적힌 공: 3개
  • 주머니:
    • 1번 주머니: 까만 구슬 7개, 흰 구슬 3개
    • 2번 주머니: 까만 구슬 4개, 흰 구슬 6개

절차:

  1. 박스에서 무작위로 공 하나를 꺼냄 (1번 또는 2번이 적혀 있음)
  2. 그 번호에 해당하는 주머니에서 무작위로 구슬을 하나 꺼냄
    → 이때, 꺼낸 구슬이 흰색일 확률은?

=> a+b = 113

 


 베이지안 확률 계산 

- 중복제거를 잊으면 안 됨 set()

import numpy as np

# 집합 A, B 설정
A = [1, 2, 3, 4]
B = [2, 4, 6, 8, 10, 12]

# prior 계산 함수
P_A = len(A)/len(set(A+B))
P_B = len(B)/len(set(A+B))

print("prior of A : {}\n".format(P_A))
print("prior of B : {}\n".format(P_B))

# A 사건이 일어난 경우 B의 사건이 일어날 likelihood 계산
like_A =len(set(A) & set(B))/ len(A)

print("likelihood of A : {}\n".format(like_A))

# B 사건이 일어난 경우 B의 사건이 일어날 likelihood 계산
like_B = len(set(B) & set(A))/ len(B)

print("likelihood of B : {}\n".format(like_B))

# prior이 P(A)이고, B 사건이 일어났을 때, A 사건의 posterior 확률 계산
pos_A = (like_A * P_A) / P_B

print("posterior of A : {}\n".format(pos_A))

# prior이 P(B)이고, A 사건이 일어났을 때, B 사건의 posterior 확률 계산
pos_B = (like_B * P_B) / P_A

print("posterior of B : {}\n".format(pos_B))
728x90
반응형