나이브 베이즈 분류기란 무엇인가요?
watsonx.ai로 나이브 베이즈 적용하기 AI 업데이트 구독
구름 픽토그램, 파이 차트, 그래프 픽토그램이 콜라주된 일러스트
나이브 베이즈 분류기란 무엇인가요?

나이브 베이즈 분류기는 텍스트 분류와 같은 분류 작업에 사용되는 감독형 머신 러닝 알고리즘입니다. 이 분류기는 분류 작업을 수행하는 데 확률 원칙을 사용합니다.

나이브 베이즈는 생성형 학습 알고리즘 계열의 일부로, 주어진 클래스 또는 카테고리의 입력 분포를 모델링하고자 합니다. 로지스틱 회귀와 같은 차별적 분류기와는 달리, 나이브 베이즈는 클래스 간 구분에 있어 가장 중요한 특징을 학습하지 않습니다.

AI를 위한 데이터 저장소

AI 확장을 위한 개선 및 비용 최적화 기회 등의 데이터 레이크하우스 전략을 데이터 아키텍처에 통합하는 것의 이점을 살펴보세요.<br>

관련 내용

생성형 AI에 관한 eBook 등록

튜토리얼에서 Python을 사용하여 이 분류기를 적용하는 방법을 알아보세요.
베이지안 통계에 대한 간략한 검토

나이브 베이즈는 베이즈 정리를 기반으로 하기 때문에 확률적 분류기라고도 합니다. 베이지안 통계의 기초를 설명하지 않고는 이 알고리즘을 설명하기 어려울 것입니다. 베이즈 규칙(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의 이미지를 '혼동'한 횟수를 알고 싶다면 네 번째 행과 아홉 번째 열만 확인하면 됩니다.

나이브 베이즈 분류기의 유형

나이브 베이즈 분류기에는 한 가지 유형만 있는 것이 아닙니다. 가장 많이 사용되는 유형은 특징 값의 분포에 따라 다릅니다. 여기에는 다음이 포함됩니다. 

  • 가우스 나이브 베이즈(GaussianNB): 이는 나이브 베이즈 분류기의 변형으로, 가우스 분포, 즉 정규 분포 및 연속 변수와 함께 사용됩니다. 이 모델은 각 클래스의 평균과 표준 편차를 구하여 피팅됩니다. 
  • 다항 나이브 베이즈(MultinomialNB): 이 유형의 나이브 베이즈 분류기는 특징이 다항 분포에서 추출된 것으로 가정합니다. 이 변형은 빈도 수와 같은 불연속 데이터를 사용할 때 유용하며 일반적으로 스팸 분류와 같은 자연어 처리 사용 사례에 적용됩니다. 
  • 베르누이 나이브 베이즈(Bernoulli Naïve Bayes, BernoulliNB): 이것은 부울 변수, 즉 True 및 False 또는 1과 0과 같은 두 개의 값을 갖는 변수와 함께 사용되는 나이브 베이즈 분류기의 또 다른 변형입니다. 

이 모든 것은 Python 라이브러리의 Scikit Learn(ibm.com 외부 링크)을 통해 구현할 수 있습니다(sklearn이라고도 함).

나이브 베이즈 분류기의 장단점
장점
  • 덜 복잡함: 다른 분류기에 비해 나이브 베이즈는 매개변수를 추정하기 쉽기 때문에 더 단순한 분류기로 간주됩니다. 결과적으로 이는 데이터 과학 및 머신 러닝 과정에서 학습된 최초의 알고리즘 중 하나입니다.  
  • 우수한 확장성: 로지스틱 회귀와 비교할 때 나이브 베이즈는 조건부 독립성 가정이 유지될 때 상당히 정확한, 빠르고 효율적인 분류기로 간주됩니다. 또한 스토리지 요구 사항이 낮습니다. 
  • 고차원 데이터 처리 가능: 문서 분류와 같은 사용 사례에는 많은 수의 차원이 있을 수 있으며, 이는 다른 분류기로는 관리하기 어려울 수 있습니다. 
단점:   
  • 빈도 0 발생: 훈련 세트 내에 범주 변수가 없으면 빈도가 0이 됩니다. 예를 들어, 클래스 'spam'이 주어졌을 때 단어 '귀하'에 대한 최대가능도 추정기를 찾으려고 하지만 '귀하'라는 단어가 훈련 데이터에 존재하지 않는다고 가정해 보겠습니다. 이 경우 확률은 0이 되며, 이 분류기는 모든 조건부 확률을 함께 곱하므로 이는 사후 확률도 0이 된다는 것을 의미합니다. 이 문제를 방지하기 위해 라플라스 평활화를 활용할 수 있습니다. 
  • 비현실적인 핵심 가정: 조건부 독립성 가정은 전반적으로 잘 수행되지만, 이 가정이 항상 유지되는 것은 아니므로 잘못된 분류로 이어질 수 있습니다. 
나이브 베이즈 분류기의 적용

기타 다수의 알고리즘과 함께 나이브 베이즈는 대량의 데이터를 유용한 정보로 변환하는 데이터 마이닝 알고리즘 계열에 속합니다. 나이브 베이즈의 일부 적용 사례는 다음과 같습니다.

  • 스팸 필터링: 스팸 분류는 문헌에 인용된 나이브 베이즈의 가장 많이 사용되는 적용 사례 중 하나입니다. 이 사용 사례에 대한 자세한 내용은 Oreilly의 이 장(ibm.com 외부 링크)을 확인하세요.  
  • 문서 분류: 문서와 텍스트 분류는 밀접한 관련이 있습니다. 나이브 베이즈의 또 다른 인기 있는 사용 사례는 콘텐츠 분류입니다. 뉴스 미디어 웹사이트의 콘텐츠 카테고리를 생각해 보세요. 모든 콘텐츠 범주는 사이트의 각 문서를 기반으로 하는 주제 분류로 분류할 수 있습니다. Federick Mosteller와 David Wallace는 1963년 논문(ibm.com 외부 링크)에서 베이지안 추론을 처음 적용한 것으로 알려져 있습니다. 
  • 감성 분석: 텍스트 분류의 또 다른 형태이지만, 감성 분석은 특정 제품 및 브랜드에 대한 의견과 태도를 더 잘 이해하고 정량화하기 위해 마케팅에서 일반적으로 활용됩니다. 
  • 정신 상태 예측: fMRI 데이터를 사용해서 나이브 베이즈를 활용하여 인간의 다양한 인지 상태를 예측했습니다. 이 연구의 목표(ibm.com 외부 링크)는 특히 뇌 손상 환자의 감추어진 인지 상태를 더 잘 이해하도록 돕는 것이었습니다.
관련 제품
IBM Cloud Pak for Data

IBM Cloud Pak for Data는 모든 클라우드에서 AI 및 분석에 모든 데이터를 사용할 수 있도록 데이터 패브릭을 제공하는 확장 가능한 개방형 데이터 플랫폼입니다.

IBM Cloud Pak for Data 자세히 알아보기
IBM Watson Studio

AI 모델을 구축하고 실행하며 관리합니다. 오픈 소스 코드 또는 시각적 모델링을 사용하여 모든 클라우드에서 데이터를 준비하고 모델을 구축합니다. 결과를 예측하고 최적화합니다.

IBM Watson Studio 자세히 알아보기
watsonx.ai

다음 단계로 나아가 비즈니스를 위한 생성형 AI 및 머신 러닝을 실행하고 확장해 보세요.

watsonx.ai 살펴보기
리소스 생성형 AI 기술을 위한 무료 실습 학습

프롬프트 엔지니어링, 대규모 언어 모델, 최고의 오픈 소스 프로젝트 등 AI 및 생성형 AI의 기본 개념을 알아보세요.

낮은 엔트로피 분포에 대한 나이브 베이즈 분류기 분석

본 논문에서 IBM Research는 클래스 조건부 특성 분포의 엔트로피 감소가 나이브 베이즈 분류기의 오류에 어떤 영향을 미치는지 경험적으로 보여줍니다.

나이브 베이즈 성능에 영향을 미치는 데이터 특성 분석

IBM Research는 몬테카를로 시뮬레이션을 사용하여 나이브 베이즈가 완전히 독립적인 특징과 기능적으로 종속적인 특징이라는 두 가지 경우에 가장 효과적으로 작동한다는 것을 보여줍니다.

Python 및 scikit-learn을 사용하여 분류 알고리즘 학습

분류 기반 머신 러닝 문제 해결의 기본 사항을 살펴보고 현재 가장 많이 사용되는 몇 가지 알고리즘에 대한 비교 연구를 살펴보세요.

다항식 나이브 베이즈 알고리즘을 사용한 데이터 분류

scikit-learn을 사용하여 다항 나이브 베이즈를 이용한 널리 사용되는 텍스트 분류 작업(스팸 필터링)을 완료하세요.

다음 단계 안내

AI 빌더를 위한 차세대 엔터프라이즈 스튜디오인 IBM watsonx.ai로 생성형 AI, 파운데이션 모델 및 머신 러닝 기능을 학습, 검증, 조정 및 배포하세요. 적은 데이터로 짧은 시간 내에 AI 애플리케이션을 구축하세요.

watsonx.ai 살펴보기 라이브 데모 예약하기