본문 바로가기
IT,SW,Data,Cloud,코딩

베이즈 정리, 나이브 베이즈

by 착실하게 2022. 2. 15.
반응형

1. 베이즈 정리

A 사건이 일어났을 때 B 사건이 일어날 확률을 계산 할때 (1) 사건들이 서로 독립인 경우와 (2) 사건들이 서로 영향을 미치는 경우를 구분해야 합니다. (2)인 경우 B 사건이 일어날 확률은 높아져야 하기 때문입니다. 이것을 조건부 확률이라고 합니다.

A와 B가 연달아 일어날 확률은 P(A) * P(B|A) 로 계산할 수 있으며, P(A) 는 사건 A가 먼저 일어났다는 의미에서 사전확률 P(B|A)는 사건B가 나중에 일어났다는 의미에서 사후확률이라고 합니다.

2. 나이브 베이즈

나이브 베이즈는 주로 텍스트마이닝에서 많이 사용됩니다.

텍스트 분석을 할 때, 어떠한 특정 단어가 나타날 확률을 일일이 구할 수 없으므로 모두 같다고 생각을 하고,
특정 단어가 있을 때 그것이 어떠한 분류에 속할지 조건부 확률을 구하는 것과 관련된 것이 나이브 베이즈 입니다.

예를 들어 콜센터 문의 내용 중 '금리'라는 단어가 있을 때 이 문서가 대출과 관련이 되어 있을 확률을 구하려면,  계산식은 다음과 같습니다.

P(대출|'금리') = P('금리'|대출) * P(대출) / P('금리')

단어가 1개만 있는 경우에 사용할 수 있는 계산입니다.

그런데, 만약 단어가 여러개 한꺼번에 고려할 때에는 위의 식을 사용할 수 없습니다.

이때 나이브 베이즈는 '구할 수 없는 확률은 동일하다'고 가정합니다.

예를 들어 '금리', '문의', '변동' 등의 단어가 나타났을 때 이것이 대출관련일 확률과 인플레이션 관련 문서일 확률을 구하려면 다음과 같은 계산식을 활용할 수 있습니다.

P(대출관련 | X) = P(대출관련) * P('금리'|대출관련) *  P('문의'|대출관련) * P('변동'|대출관련)

P(인플레이션 관련 | X) = P(인플레이션 관련) * P('금리'|인플레이션 관련) *  P('문의'|인플레이션 관련) * P('변동'|인플레이션 관련)

그리고 이 두 가지 확률을 비교해서 더 높은 쪽으로 예측을 하는 것입니다.

이것은 두 가지 분류로 예측하는 경우이고, 멀티클래스 옵션을 사용하면 나이브 베이즈로 2가지 확률이 아니라 여러 가지 분류를 할 수 있습니다.
model = MultinomialNB()

나이브 베이즈는 긍정/부정 예측에도 활용할 수 있고, 간단하면서 쉬워서 많이 활용이 됩니다.

반응형

댓글