AI VIDEO BRIEFING
나이브 베이즈 분류기란? 스팸 필터 예시로 보는 단어 확률 기반 분류의 작동 원리 정리
스팸 메일을 어떻게 자동으로 걸러낼까요. 단어가 정상과 스팸에서 나타날 확률을 곱해 점수를 비교하는 나이브 베이즈 분류기의 작동 원리를, 스팸 필터 예시와 확률 0 문제 해결법까지 쉽게 설명합니다.

핵심 메시지
쉽게 이해하기
친구·가족이 보낸 정상 메시지와, 광고나 사기 같은 스팸이 섞여 들어온다고 하자. 나이브 베이즈는 이 둘을 가려내는 고전적이면서도 강력한 방법이다. 출발점은 단순하다. 정상 메시지에 등장하는 모든 단어로 히스토그램을 만들고, 각 단어가 정상 메시지에서 나타날 확률을 계산한다. 예컨대 'dear'가 정상 메시지 전체 17개 단어 중 8번 나왔다면 확률은 0.47이다. 스팸 메시지에 대해서도 똑같이 단어별 확률을 구한다.
이렇게 계산한 단어별 확률은 '가능도(likelihood)'라고도 부른다. 이제 'dear friend'라는 새 메시지가 들어왔다고 하자. 먼저 메시지가 무슨 내용이든 정상일 확률에 대한 초기 추정값을 정하는데, 학습 데이터 12개 중 8개가 정상이므로 0.67로 잡는다. 이 초기 추정값을 '사전확률(prior)'이라 한다. 여기에 'dear'와 'friend'가 정상에서 나타날 확률을 차례로 곱하면 0.09라는 점수가 나온다.
같은 방식으로 스팸 점수도 구한다. 스팸의 사전확률 0.33에 두 단어의 스팸 내 확률을 곱하면 0.01이 된다. 정상 점수 0.09가 스팸 점수 0.01보다 크므로, 'dear friend'는 정상 메시지로 판정한다. 이 점수들은 엄밀히는 '메시지가 dear friend일 때 정상/스팸일 확률'에 비례하는 값이다.
여기엔 함정이 하나 있다. 'lunch money money money money'처럼 학습 데이터의 스팸에 'lunch'가 한 번도 없었다면, 'lunch'의 스팸 확률이 0이 되고, 0을 곱하는 순간 money가 아무리 많아도 스팸 점수는 무조건 0이 된다. 즉 'lunch'가 든 메시지는 영원히 스팸으로 분류되지 못한다. 이를 막기 위해 보통 모든 단어에 1씩(그리스 문자 알파로 표기) 더해, 어떤 확률도 0이 되지 않게 만든다.
마지막으로 이 알고리즘이 왜 '나이브(순진)'한지 보자. 나이브 베이즈는 단어 순서를 전혀 따지지 않는다. 'dear friend'와 'friend dear'의 점수가 똑같다. 언어에는 문법과 자주 쓰는 구절이 있지만, 나이브 베이즈는 메시지를 그저 단어가 담긴 자루로 취급한다. 모든 구절을 추적하는 일은 사실상 불가능하기 때문이다. 머신러닝 용어로는 단어 간 관계를 무시해 '편향(bias)'이 높지만, 실전에서 잘 통해 '분산(variance)'은 낮다고 말한다.
주요 인사이트
- 나이브 베이즈의 결정은 '확률의 곱셈과 비교'다. 각 단어가 어느 쪽에서 더 잘 나오는지를 곱해 합산 점수를 만들고, 더 높은 쪽으로 분류한다.
- 사전확률은 '아무 정보도 없을 때의 출발 추정'이다. 보통 학습 데이터의 분포(정상 8 대 스팸 4)로 잡지만 원칙적으로 0과 1 사이 어떤 값이든 될 수 있다.
- 확률 0 문제는 작지만 치명적이다. 단 하나의 미등장 단어가 전체 점수를 0으로 만들 수 있어, 알파=1 같은 평활화로 모든 단어에 최소 빈도를 부여하는 것이 실무의 표준이다.
- '순진함'이 곧 강점이 되기도 한다. 단어 순서를 버려 모델은 단순해지고 계산은 가벼워지지만, 스팸 분류 같은 과제에서는 놀랄 만큼 좋은 성능을 낸다.
자주 묻는 질문
나이브 베이즈는 어떻게 메시지를 분류하나요?
메시지에 든 각 단어가 정상과 스팸에서 나타날 확률을 구하고, 각각의 사전확률에 이 확률들을 곱해 두 점수를 만듭니다. 그런 다음 점수가 더 높은 쪽으로 메시지를 분류합니다.
학습에 없던 단어가 나오면 어떤 문제가 생기나요?
그 단어의 확률이 0이 되어, 0을 곱하는 순간 다른 단어가 아무리 많아도 점수가 0이 됩니다. 이를 막기 위해 모든 단어에 보통 1씩(알파) 더해주는 평활화를 적용해 어떤 확률도 0이 되지 않게 합니다.
왜 '나이브(순진)'하다고 부르나요?
단어 순서를 전혀 고려하지 않고 메시지를 단어 자루처럼 다루기 때문입니다. 'dear friend'와 'friend dear'의 점수가 같습니다. 문법을 무시해 편향은 높지만 실전 성능이 좋아 분산은 낮습니다.
원문과 출처
이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.
YouTube 원본 영상 보기 ↗