나이브 베이즈 분류기

컴퓨터과학·AI
한 줄 정의: 각 특징이 서로 독립적이라고 단순하게 가정한 뒤, 베이즈 정리로 특정 범주에 속할 확률을 계산해 분류하는 알고리즘입니다.

쉽게 풀면

스팸 메일을 걸러낸다고 해봅시다. "무료", "당첨", "즉시 입금" 같은 단어가 들어 있으면 스팸일 가능성이 높다는 것을 과거 메일들로부터 배울 수 있습니다. 나이브 베이즈는 "이 단어들이 서로 아무 상관 없이 독립적으로 등장한다"는 다소 비현실적인(그래서 "나이브", 순진하다는) 가정을 하고, 각 단어가 스팸 메일과 정상 메일에 각각 얼마나 자주 나오는지를 곱해서 "이 메일이 스팸일 확률"과 "정상일 확률" 중 어느 쪽이 더 큰지를 계산합니다. 가정이 단순한 만큼 계산이 빠르고, 데이터가 적어도 꽤 잘 작동한다는 장점이 있습니다.

왜 중요한가

나이브 베이즈 분류기는 구현이 간단하고 학습이 빠르면서도 실전에서 준수한 성능을 보이기 때문에, 새로운 분류 문제를 다룰 때 가장 먼저 시도해보는 베이스라인 모델로 널리 쓰입니다. 텍스트 분류, 스팸 필터링, 의료 진단 보조 등 다양한 분야의 논문에서 복잡한 모델의 성능을 상대적으로 평가하기 위한 비교 기준으로 자주 등장합니다.

논문에서는 이렇게 쓰입니다

"텍스트 분류 실험에서 베이스라인 모델로 나이브 베이즈 분류기를 사용하였으며, 이는 계산 비용이 낮아 대규모 데이터셋에서도 빠르게 학습되었다."

이 문장은 "비교 기준이 되는 간단한 모델로 나이브 베이즈를 썼고, 특징들 사이의 독립 가정 덕분에 학습이 매우 빨랐다"는 뜻입니다.

"환자의 임상 검사 수치를 특징으로 사용하여 가우시안 나이브 베이즈 분류기로 질환 여부를 예측한 결과, 소규모 표본에서도 안정적인 분류 성능을 보였다."

이 문장은 "의료 데이터처럼 표본 수가 적은 상황에서도 나이브 베이즈가 비교적 안정적으로 작동했다"는 뜻입니다.

"소셜미디어 게시글의 감성 분석에 다항 나이브 베이즈 모델을 적용하고, 단어 출현 빈도를 특징으로 하여 긍정·부정·중립 세 범주로 분류하였다."

이 문장은 "텍스트에서 단어의 등장 횟수를 특징으로 삼아 감성을 세 범주로 나누는 데 나이브 베이즈를 사용했다"는 뜻입니다.

조금 더 깊게 보면

나이브 베이즈는 데이터 특성에 따라 몇 가지 변형으로 나뉘는데, 이산적인 단어 빈도에는 다항(multinomial) 나이브 베이즈, 연속적인 수치형 특징에는 가우시안 나이브 베이즈, 특징의 유무만 고려할 때는 베르누이 나이브 베이즈가 흔히 쓰입니다. 또한 학습 데이터에 없던 단어나 값이 등장해 확률이 0이 되는 문제를 막기 위해 라플라스 스무딩 같은 보정 기법을 함께 적용하는 경우가 많습니다.

주의할 점

나이브 베이즈는 특징들이 서로 독립이라는 가정이 실제 데이터와 어긋나는 경우가 많아, 결정 트리처럼 특징 간의 상호작용을 반영하는 모델보다 정확도가 낮을 수 있습니다. 다만 계산이 단순하고 빨라 대규모 텍스트 분류 등에서 여전히 실용적인 베이스라인으로 쓰입니다.

관련 용어