Naive Bayes 설명: 2022년의 기능, 장점 및 단점, 애플리케이션

게시 됨: 2021-01-05

Naive Bayes는 분류 문제를 해결하는 데 사용하는 기계 학습 알고리즘입니다. 베이즈 정리를 기반으로 합니다. 사용 중인 가장 단순하지만 강력한 ML 알고리즘 중 하나이며 많은 산업 분야에서 응용 프로그램을 찾습니다.

분류 문제를 해결해야 하고 기능을 생성하고 가설을 생성했지만 상사가 모델을 보고 싶어한다고 가정해 보겠습니다. 수많은 데이터 포인트(수백만 데이터 포인트)와 데이터 세트를 훈련할 많은 변수가 있습니다. 이 상황에 대한 최상의 솔루션은 다른 분류 알고리즘에 비해 훨씬 빠른 Naive Bayes 분류기를 사용하는 것입니다.

이 기사에서는 이 알고리즘에 대해 자세히 논의하고 작동 방식을 알아보겠습니다. 우리는 또한 이 알고리즘이 얼마나 필수적인지 이해하기 위해 실제 응용 프로그램과 함께 장점과 단점에 대해 논의할 것입니다.

세계 최고의 대학에서 온라인으로 딥 러닝 과정 에 참여하세요. 석사, 대학원 대학원 프로그램, ML 및 AI 고급 인증 프로그램을 통해 빠르게 경력을 쌓을 수 있습니다.

시작하자:

목차

나이브 베이즈 설명

나이브 베이즈는 베이즈 정리를 사용하고 모든 예측 변수가 독립적이라고 가정합니다. 다시 말해, 이 분류기는 한 클래스의 특정 기능이 다른 기능의 존재에 영향을 미치지 않는다고 가정합니다.

예를 들면 다음과 같습니다. 과일이 둥글고 주황색이며 지름이 약 3.5인치이면 주황색으로 간주합니다. 이제 이러한 기능이 서로 존재하도록 요구하더라도 이 특정 과일이 주황색이라는 가정에 모두 독립적으로 기여합니다. 이것이 이 알고리즘의 이름에 'Naive'가 있는 이유입니다.

Naive Bayes 모델을 구축하는 것은 매우 간단하며 방대한 데이터 세트로 작업하는 데 도움이 됩니다. 또한 이 방정식은 성능 면에서 많은 고급 분류 기술을 능가하는 데 널리 사용됩니다.

다음은 Naive Bayes에 대한 방정식입니다.

P(c|x) = P(x|c) P(c) / P(x)

P(c|x) = P(x1 | c) x P(x2 | c) x … P(xn | c) x P(c)

여기서 P(c|x)는 클래스(c)에 대한 예측자(x)에 따른 사후 확률입니다. P(c)는 클래스의 사전 확률, P(x)는 예측자의 사전 확률, P(x|c)는 특정 클래스(c)에 대한 예측자의 확률입니다.

Naive Bayes는 모든 기능의 독립성을 고려하는 것 외에도 동등하게 기여한다고 가정합니다. 이것은 기억해야 할 중요한 포인트입니다.

나이브 베이즈는 어떻게 작동합니까?

Naive Bayes가 작동하는 방식을 이해하려면 예를 논의해야 합니다.

도난당한 자동차를 찾고 다음 데이터 세트가 있다고 가정합니다.

일련 번호. 색깔 유형 기원 훔쳐갔나요?
1 빨간색 스포츠 국내의
2 빨간색 스포츠 국내의 아니요
빨간색 스포츠 국내의
4 노란색 스포츠 국내의 아니요
5 노란색 스포츠 수입
6 노란색 SUV 수입 아니요
7 노란색 SUV 수입
8 노란색 SUV 국내의 아니요
9 빨간색 SUV 수입 아니요
10 빨간색 스포츠 수입

데이터 세트에 따르면 알고리즘이 다음과 같은 가정을 하고 있음을 이해할 수 있습니다.

  • 모든 기능이 독립적이라고 가정합니다. 예를 들어, 자동차의 색상 '노란색'은 원산지 또는 유형과 관련이 없습니다.
  • 모든 기능에 동일한 수준의 중요성을 부여합니다. 예를 들어 Color와 Origin만 알면 결과를 정확하게 예측할 수 있습니다. 이것이 바로 모든 기능이 동등하게 중요하고 결과에 동등하게 기여하는 이유입니다.

이제 데이터 세트를 사용하여 기능에 따라 도둑이 차를 훔쳤는지 여부를 분류해야 합니다. 각 행에는 개별 항목이 있고 열은 모든 자동차의 기능을 나타냅니다. 첫 번째 줄에는 도난당한 국내산 Red 스포츠카가 있습니다. 도둑이 Red Domestic SUV를 훔쳤는지 여부를 알아낼 것입니다(저희 데이터 세트에는 Red Domestic SUV에 대한 항목이 없습니다).

예를 들어 Bayes Theorem을 다음과 같이 다시 작성할 수 있습니다.

P(y | X) = [P(X | y) P(y)P(X)]/P(X)

여기서 y는 도둑이 차를 훔쳤는지 여부를 나타내는 클래스 변수(Was it Stolen?)를 나타냅니다. X는 기능을 나타냅니다.

X = x1, x2, x3, …., xn)

여기서 x1, x2,…, xn은 기능을 나타냅니다. Type, Origin 및 Color로 매핑할 수 있습니다. 이제 X를 교체하고 연쇄 규칙을 확장하여 다음을 얻습니다.

P(y | x1, ..., xn) = [P(x1 | y) P(x2 | y) ... P(xn | y) P(y)]/[P(x1) P(x2) ... P(xn )]

데이터 세트를 사용하고 해당 값을 방정식에 입력하여 각각에 대한 값을 얻을 수 있습니다. 분모는 데이터 세트의 모든 항목에 대해 정적 상태를 유지하여 제거하고 비례성을 주입합니다.

P(y | x1, …, xn) ∝ P(y) i = 1nP(xi | y)

이 예에서 y에는 예 또는 아니오의 두 가지 결과만 있습니다.

y = argmaxyP(y) i = 1nP(xi | y)

모든 기능에 대한 사후 확률 P(y|x)를 계산하기 위해 빈도 테이블을 만들 수 있습니다. 그런 다음 빈도 테이블을 우도 테이블로 만들고 나이브 베이지안 방정식을 사용하여 모든 클래스의 사후 확률을 찾습니다. 예측 결과는 사후 확률이 가장 높은 클래스가 됩니다. 가능성 및 빈도 표는 다음과 같습니다.

색상의 빈도 테이블:

색깔 도난당했습니까(예) 도난당했습니까(아니요)
빨간색 2
노란색 2

색상의 가능성 표:

색깔 도난당한 건가요 [P(예)] [P(No)]
빨간색 3/5 2/5
노란색 2/5 3/5

유형의 빈도 표:

유형 도난당했습니까(예) 도난당했습니까(아니요)
스포츠 4 2
SUV 1

유형의 가능성 테이블:

유형 도난당한 건가요 [P(예)] [P(No)]
스포츠 4/5 2/5
SUV 1/5 3/5

원산지 주파수 테이블:

기원 도난당했습니까(예) 도난당했습니까(아니요)
국내의 2
수입 2

기원의 가능성 표:

기원 도난당한 건가요 [P(예)] [P(No)]
국내의 2/5 3/5
수입 3/5 2/5

우리의 문제는 X에 대해 3개의 예측 변수를 가지고 있으므로 이전에 본 방정식에 따르면 사후 확률 P(Yes | X)는 다음과 같습니다.

P(예 | X) = P(빨간색 | 예) * P(SUV | 예) * P(국내 | 예) * P(예)

= ⅗ x ⅕ x ⅖ x 1

= 0.048

P(아니오 | X)는 다음과 같습니다.

P(아니요 | X) = P(빨간색 | 아니요) * P(SUV | 아니요) * P(국산 | 아니요) * P(아니요)

= ⅖ x ⅗ x ⅗ x 1

= 0.144

따라서 사후 확률 P(No | X)가 사후 확률 P(Yes | X)보다 높기 때문에 Red Domestic SUV는 '도난당했나요?'에서 '아니오'로 표시됩니다. 부분.

이 예는 Naive Bayes Classifier의 작동 방식을 보여 주어야 합니다. Naive Bayes 설명을 더 잘 이해하려면 이제 장점과 단점을 논의해야 합니다.

나이브 베이즈의 장점과 단점

장점

  • 이 알고리즘은 빠르게 작동하며 많은 시간을 절약할 수 있습니다.
  • Naive Bayes는 다중 클래스 예측 문제를 해결하는 데 적합합니다.
  • 기능의 독립성에 대한 가정이 사실이라면 다른 모델보다 더 잘 수행할 수 있고 훨씬 적은 훈련 데이터가 필요합니다.
  • 나이브 베이즈는 수치 변수보다 범주형 입력 변수에 더 적합합니다.

단점

  • Naive Bayes는 모든 예측 변수(또는 기능)가 독립적이며 실제 생활에서는 거의 발생하지 않는다고 가정합니다. 이는 실제 사용 사례에서 이 알고리즘의 적용 가능성을 제한합니다.
  • 이 알고리즘은 테스트 데이터 세트의 범주가 훈련 데이터 세트에서 사용할 수 없는 범주형 변수에 0 확률을 할당하는 '빈도가 없는 문제'에 직면합니다. 이 문제를 극복하기 위해 스무딩 기술을 사용하는 것이 가장 좋습니다.
  • 어떤 경우에는 추정이 틀릴 수 있으므로 확률 출력을 매우 심각하게 받아들이지 않아야 합니다.

체크아웃: 기계 학습 모델 설명

Naive Bayes의 응용 설명

다음은 이 알고리즘이 응용 프로그램을 찾는 몇 가지 영역입니다.

텍스트 분류

대부분의 경우 Naive Bayes는 다중 클래스 문제를 해결하는 데 있어 독립성과 고성능을 가정하기 때문에 텍스트 내 분류를 사용합니다. 속도와 효율성으로 인해 다른 알고리즘보다 높은 성공률을 자랑합니다.

감정 분석

머신 러닝의 가장 눈에 띄는 영역 중 하나는 감정 분석이며 이 알고리즘은 여기에서도 매우 유용합니다. 감정 분석은 고객이 특정 주제(제품 또는 서비스)에 대해 긍정적으로 생각하는지 부정적으로 생각하는지 식별하는 데 중점을 둡니다.

추천 시스템

Collaborative Filtering의 도움으로 Naive Bayes Classifier는 사용자가 특정 제품(또는 리소스)을 원하는지 여부를 예측하는 강력한 추천 시스템을 구축합니다. Amazon, Netflix 및 Flipkart는 추천 시스템을 사용하여 고객에게 제품을 제안하는 저명한 회사입니다.

기계 학습 알고리즘 자세히 알아보기

Naive Bayes는 다중 클래스 문제를 해결하기 위한 간단하고 효과적인 기계 학습 알고리즘입니다. 감정 분석 및 텍스트 분류와 같은 기계 학습 응용 프로그램의 많은 주요 영역에서 사용됩니다.

기계 학습뿐만 아니라 클라우드 인프라를 사용하여 기계 학습의 효과적인 배포를 가르치는 프로그램을 만들려면 국내 최고의 공학 학교인 IIT Madras와 함께 기계 학습 및 클라우드 고급 인증 프로그램을 확인하십시오. 이 프로그램의 목표는 미국에서 가장 선택적인 기관의 문을 열고 학습자가 높고 성장하는 기술을 습득하기 위해 놀라운 교수진 및 리소스에 액세스할 수 있도록 하는 것입니다.

나이브 베이즈 알고리즘이란?

분류의 어려움을 처리하기 위해 Naive Bayes 기계 학습 기술을 사용합니다. Bayes Theorem이 이를 뒷받침합니다. 다양한 산업 분야에서 사용되는 가장 기본적이면서도 강력한 기계 학습 알고리즘 중 하나입니다. 분류 문제에 대해 작업 중이고 기능과 가설을 이미 설정했지만 상사가 모델을 보고 싶어한다고 가정해 보겠습니다. 데이터 세트를 훈련시키려면 많은 수의 데이터 요소(수천 개의 데이터 요소)와 많은 변수가 있어야 합니다. 이러한 상황에서는 다른 분류 알고리즘보다 훨씬 빠른 Naive Bayes 분류기가 최선의 선택이 될 것입니다.

나이브 베이의 장점과 단점은 무엇입니까?

다중 클래스 예측 문제의 경우 Naive Bayes가 좋은 선택입니다. 기능 독립성의 전제가 사실이라면 훨씬 적은 훈련 데이터를 사용하면서 다른 모델보다 성능이 뛰어날 수 있습니다. 범주형 입력 변수는 수치 입력 변수보다 나이브 베이즈에 더 적합합니다.

Naive Bayes에서는 모든 예측 변수(또는 특성)가 독립적인 것으로 가정되며, 이는 실생활에서 거의 발생하지 않습니다. 이것은 실제 시나리오에서 알고리즘의 사용성을 제한합니다. 어떤 경우에는 추정치가 다를 수 있으므로 확률 출력을 심각하게 받아들이지 않아야 합니다.

순진한 베이의 실제 적용은 무엇입니까?

다중 클래스 문제를 처리할 때 자율성과 고성능을 전제로 하기 때문에 Naive Bayes는 텍스트 내 분류에 자주 사용됩니다. 감정 분석은 기계 학습의 가장 인기 있는 응용 프로그램 중 하나이며 이 기술도 도움이 될 수 있습니다. 감성 분석의 목표는 고객이 특정 문제(제품 또는 서비스)에 대해 호의적인지 부정적인지 여부를 결정하는 것입니다. Naive Bayes Classifier는 협업 필터링을 사용하여 사용자가 주어진 제품(또는 리소스)을 즐길지 여부를 예측할 수 있는 정교한 추천 시스템을 만듭니다.