데이터 놀이터
Section 1 - Sprint 2. Statistics - 1. Bayes Theorem 본문
1. Bayes Theorem (베이지안 이론)
베이지안 이론은 사전 확률(prior)을 통해서 얻은 증거를 토대로 사후 확률(posterior)을 구하는 과정을 반복함으로써 점점 객관적인 지표를 찾아나가는 이론이다. 이를 이해하기 위해서는 이항 분포, 조건부 확률 등에 대한 이해가 필요하다.
(1) 이항 분포 (Binomial Distribution)
Yes or No 또는 구매/비구매 등 한 사건에 대해서 가능한 선택지가 2개인 분포를 말한다. 가장 대표적인 예시가 동전 던지기로 동전을 n번 던져 앞면이 k번 나올 확률을 구하는 것이다. 먼저 n번을 던져 앞면이 k번 나올 경우의 수를 구한 뒤 이에 맞는 확률을 곱해주면 된다.
# n번 던져서 k번 앞면이 나올 경우의 수
nCk -> n!/k!(n-k)!
# 확률 (앞면이 나올 확률 : p)
p^k * (1-p)^(n-k)
# 이항분포 확률 식
n!/k!(n-k)! * p^k * (1-p)^(n-k)
(2) 조건부 확률 (Conditional Distribution)
조건부 확률이란 어떠한 사건이 일어났다는 전제 하에 한 사건이 일어날 확률을 말한다. 표기는 P(A|B) 형태로 하며 B가 일어났을 때 A 사건이 일어날 확률이라고 해석하면 된다.
P(A|B) = P(A ∩ B) / P(B) # B가 일어났을 때 A가 일어날 확률
P(A ∩ B) = P(A|B) * P(B) # A와 B가 일어날 확률을 조건부 확률로 표현 가능
위의 공식들은 베이지안 이론에 직접적으로 사용되니 잘 이해하고 넘어가는 것이 좋다.
(3) 베이지안 이론
# P(A) -> 사전 확률, P(B|A)와 P(B|^A) -> 사전 테스트 데이터, P(A|B) -> 사후 확률
P(A|B) = P(A ∩ B) / P(B)
# 분자
P(A ∩ B) = P(B|A) * P(A)
# 분모
P(B) = P(B ∩ ^A) + P(B ∩ A)
= P(B|^A) * P(^A) + P(B|A) * P(A)
# 결론
P(A|B) = P(B|A) * P(A) / (P(B|^A) * P(^A) + P(B|A) * P(A))
베이지안 이론은 대표적으로 넷플릭스의 추천 알고리즘에 활용된다. 예를 들어, 실제 고객이 영화 10편을 보고 좋아요를 누른 영화 5편 중 3편이 액션영화, 싫어요를 누른 영화 5편 중 1편이 액션 영화라고 가정하자. 이때, 넷플릭스가 알고 싶은 정보는 과연 내가 다음에 이 사람에게 액션 영화를 추천을 해도 좋아할 확률은 얼마나 될까일 것이다.
- P(A) = 0.5(좋아요를 누를 확률 -> 사전확률 가정)
- P(B) (본 영화가 액션 영화일 확률)
- P(B|A) = 0.6 (좋아요를 누른 영화 중 액션영화)
- P(B|^A) = 0.2 (싫어요를 누른 영화 중 액션영화)라는 사실을 알 수 있다.
- P(B|A) (액션 영화를 추천했을 때 좋아요를 누를 확률 -> 사후확률)
위의 사실을 바탕으로 우리가 구하고자 하는 P(B|A)는 베이지안 정리로 0.6 * 0.5 / (0.2 * 0.5 + 0.6 * 0.5) = 0.75, 즉 액션 영화를 추천했을 때 좋아요를 누를 확률은 75%라고 알 수 있을 것이다. 사전 확률을 0.5로 주관적으로 설정했기 때문에 무슨 의미가 있냐고 할 수 있지만, 베이지안 이론의 정리의 핵심은 정보 업데이트에 있다. 이렇게 구한 사후 확률을 이용하여 새로운 사후 확률을 만들어내면서 객관적인 결과를 이끌어내게 된다. 따라서 정보의 양이 많을수록 그 정확도가 향상된다고 볼 수 있다.
출처 : https://www.youtube.com/watch?v=me--WQKQQAo
'코드스테이츠 AIB 17' 카테고리의 다른 글
Section 4 - Sprint 1. 환경과 관계형 데이터 베이스 - 2. SQL, RDB (0) | 2023.03.21 |
---|---|
Section 4 - Sprint 1. 환경과 관계형 데이터 베이스 - 1. 개발 환경 (0) | 2023.03.20 |
Section 2 Review - Machine Learning (0) | 2023.02.14 |
Section 1 - Sprint 1. Data Preprocessing & EDA (0) | 2023.01.06 |
코드스테이츠 AIB(AI 부트캠프) 17기 합격후기 (0) | 2022.12.29 |