홈
topics
Naïve Bayes
나이브 베이즈 분류기는 텍스트 분류와 같은 분류 작업에 사용되는 감독형 머신 러닝 알고리즘입니다. 이 분류기는 분류 작업을 수행하는 데 확률 원칙을 사용합니다.
나이브 베이즈는 생성형 학습 알고리즘 계열의 일부로, 주어진 클래스 또는 카테고리의 입력 분포를 모델링하고자 합니다. 로지스틱 회귀와 같은 차별적 분류기와는 달리, 나이브 베이즈는 클래스 간 구분에 있어 가장 중요한 특징을 학습하지 않습니다.
AI 확장을 위한 개선 및 비용 최적화 기회 등의 데이터 레이크하우스 전략을 데이터 아키텍처에 통합하는 것의 이점을 살펴보세요.<br>
나이브 베이즈는 베이즈 정리를 기반으로 하기 때문에 확률적 분류기라고도 합니다. 베이지안 통계의 기초를 설명하지 않고는 이 알고리즘을 설명하기 어려울 것입니다. 베이즈 규칙(Bayes' Rule)이라고도 하는 이 정리를 통해 조건부 확률을 '반전'시킬 수 있습니다. 참고로, 조건부 확률은 다른 이벤트가 발생했다고 가정할 때의 이벤트의 확률을 나타내며 다음 공식으로 표시됩니다.
베이즈 정리는 순차적 이벤트를 사용한다는 점에서 구별되며, 여기서 나중에 얻은 추가 정보가 초기 확률에 영향을 미칩니다. 이러한 확률은 사전 확률과 사후 확률로 표시됩니다. 사전 확률은 특정 조건에서 맥락화되기 전의 이벤트의 초기 확률 또는 한계 확률입니다. 사후 확률은 데이터를 관찰한 후 이벤트가 발생할 확률입니다.
이 개념을 설명하기 위해 통계 및 머신 러닝 문헌(ibm.com 외부 링크)에서 많이 사용되는 예시는 의료 검사입니다. 예를 들어, 당뇨병이 있는지 확인하기 위해 검사를 받는 Jane이라는 사람이 있다고 가정해 보겠습니다. 당뇨병에 걸릴 전체 확률이 5%라고 가정해 보겠습니다. 이 5%가 사전 확률이 됩니다. 그러나 검사에서 양성 결과를 얻으면 이 추가 정보를 설명하기 위해 사전 확률이 업데이트되고 사후 확률이 됩니다. 이 예는 베이즈 정리를 사용하여 다음 방정식으로 나타낼 수 있습니다.
그러나 식단, 연령, 가족력 등과 같은 다른 변수를 고려할 때 이전 확률에 대한 우리의 지식이 정확하지 않을 수 있으므로 일반적으로 무작위 표본의 확률 분포를 활용하여 방정식을 P(Y|X) = P(X|Y)P(Y)/P(X)로 단순화합니다.
나이브 베이즈 분류기는 몇 가지 주요 가정에 따라 작동한다는 점에서 다르게 작동하므로 '나이브'라는 칭호를 얻었습니다. 이 분류기는 나이브 베이즈 모델의 예측 변수가 조건부로 독립적이거나 모델의 다른 특징과 관련이 없다고 가정합니다. 또한 모든 특징이 결과에 동일하게 기여한다고 가정합니다. 이러한 가정은 실제 시나리오에서 종종 위반되지만(예: 이메일 작성 시 다음 단어가 앞에 오는 단어에 종속됨) 분류 문제를 계산적으로 더 다루기 쉽게 만들어 단순화시킵니다. 즉, 이제 각 변수에 대해 단일 확률만 필요하므로 모델 계산을 더 쉽게 만들어 줍니다. 이러한 비현실적인 독립성 가정에도 불구하고, 분류 알고리즘은 특히 표본 크기가 작을 때 잘 수행됩니다.
이 가정을 염두에 두고 이제 나이브 베이즈 분류기의 부분을 좀 더 면밀히 살펴볼 수 있습니다. 베이즈 정리와 유사하게 조건부 확률과 사전 확률을 사용하여 다음 공식을 사용해 사후 확률을 계산하겠습니다.
이제 나이브 베이즈 알고리즘의 작동 방식을 설명하기 위해 텍스트 분류 사용 사례를 상상해 보겠습니다. 스팸 필터를 개선하려는 이메일 공급자를 생각해 보세요. 훈련 데이터는 '스팸' 또는 '스팸 아님'으로 분류된 이메일의 단어로 구성됩니다. 여기에서 클래스 조건부 확률과 사전 확률을 계산하여 사후 확률을 산출합니다. 나이브 베이즈 분류기는 해당 이메일의 클래스 그룹(예: '스팸' 또는 '스팸 아님') 중에서 최대 사후 확률을 갖는 클래스를 반환하는 방식으로 작동합니다. 이 계산은 다음 공식으로 표시됩니다.
각 클래스는 동일한 텍스트를 참조하기 때문에 실제로 이 방정식에서 분모를 제거하여 다음과 같이 단순화할 수 있습니다.
그런 다음 테스트 데이터 세트의 성능을 기반으로 하여 훈련 데이터 세트에 기반한 학습 알고리즘의 정확도를 평가합니다.
이것을 조금 더 살펴보기 위해 우리는 이 공식을 구성하는 개별 부분에 대해 한 단계 더 깊이 들어갈 것입니다. 클래스 조건부 확률은 이메일에 있는 각 단어의 개별 가능성입니다. 이는 '스팸' 또는 '스팸 아님'의 각 범주에 대한 각 단어의 빈도를 결정하여 계산되는데 이를 최대가능도 추정법(MLE)이라고도 합니다. 이 예에서 '귀하께'라는 문구가 있는지 검사하는 경우 모든 스팸 및 스팸이 아닌 이메일에서 해당 단어가 얼마나 자주 발생하는지 계산합니다. 이는 아래 공식으로 나타낼 수 있으며, 여기서 y는 '귀하께'이고 x는 '스팸'입니다.
사전 확률은 이전에 베이즈 정리에서 설명한 것과 똑 같습니다. 훈련 세트를 기반으로 이메일이 '스팸' 또는 '스팸 아님'일 전체 확률을 계산할 수 있습니다. 클래스 라벨 '스팸'에 대한 사전 확률은 다음 수식으로 표시됩니다.
사전 확률은 두 값을 곱하여 개별 사후 확률을 생성할 때 클래스 조건부 확률에 대한 '가중치' 역할을 합니다. 여기에서 최대 사후(MAP) 추정치를 계산하여 스팸 또는 스팸 아님이라는 클래스 라벨을 할당합니다. 나이브 베이지안 방정식의 최종 방정식은 다음과 같이 나타낼 수 있습니다.
또는 나이브 베이즈가 일반적으로 다음과 같은 형식으로 사용되기 때문에 최종 방정식은 로그 공간에 표시할 수도 있습니다.
분류기를 평가하는 한 가지 방법은 혼동 행렬을 그리는 것입니다. 이는 행렬 내의 실제 값과 예측 값을 표시합니다. 행은 일반적으로 실제 값을 나타내고 열은 예측 값을 나타냅니다. 많은 가이드에서는 이 그림을 아래와 같이 2 x 2 플롯으로 설명합니다.
그러나 0부터 9까지의 이미지를 예측하는 경우 10 x 10 플롯을 갖게 됩니다. 분류기가 4의 이미지와 9의 이미지를 '혼동'한 횟수를 알고 싶다면 네 번째 행과 아홉 번째 열만 확인하면 됩니다.
나이브 베이즈 분류기에는 한 가지 유형만 있는 것이 아닙니다. 가장 많이 사용되는 유형은 특징 값의 분포에 따라 다릅니다. 여기에는 다음이 포함됩니다.
이 모든 것은 Python 라이브러리의 Scikit Learn(ibm.com 외부 링크)을 통해 구현할 수 있습니다(sklearn이라고도 함).
기타 다수의 알고리즘과 함께 나이브 베이즈는 대량의 데이터를 유용한 정보로 변환하는 데이터 마이닝 알고리즘 계열에 속합니다. 나이브 베이즈의 일부 적용 사례는 다음과 같습니다.
IBM Cloud Pak for Data는 모든 클라우드에서 AI 및 분석에 모든 데이터를 사용할 수 있도록 데이터 패브릭을 제공하는 확장 가능한 개방형 데이터 플랫폼입니다.
AI 모델을 구축하고 실행하며 관리합니다. 오픈 소스 코드 또는 시각적 모델링을 사용하여 모든 클라우드에서 데이터를 준비하고 모델을 구축합니다. 결과를 예측하고 최적화합니다.
다음 단계로 나아가 비즈니스를 위한 생성형 AI 및 머신 러닝을 실행하고 확장해 보세요.
프롬프트 엔지니어링, 대규모 언어 모델, 최고의 오픈 소스 프로젝트 등 AI 및 생성형 AI의 기본 개념을 알아보세요.
본 논문에서 IBM Research는 클래스 조건부 특성 분포의 엔트로피 감소가 나이브 베이즈 분류기의 오류에 어떤 영향을 미치는지 경험적으로 보여줍니다.
IBM Research는 몬테카를로 시뮬레이션을 사용하여 나이브 베이즈가 완전히 독립적인 특징과 기능적으로 종속적인 특징이라는 두 가지 경우에 가장 효과적으로 작동한다는 것을 보여줍니다.
분류 기반 머신 러닝 문제 해결의 기본 사항을 살펴보고 현재 가장 많이 사용되는 몇 가지 알고리즘에 대한 비교 연구를 살펴보세요.
scikit-learn을 사용하여 다항 나이브 베이즈를 이용한 널리 사용되는 텍스트 분류 작업(스팸 필터링)을 완료하세요.