Yolo 비전 선전
선전
지금 참여하기
용어집

Naive Bayes

AI 및 ML에서 텍스트 분류, NLP, 스팸 감지 및 감정 분석을 위한 Naive Bayes 분류기의 단순성과 성능을 알아보세요.

나이브 베이즈는 매우 효율적인 확률적 분류기입니다. 머신러닝(ML)에 사용되는 매우 효율적인 확률 분류기입니다. 강력한 베이즈 정리의 원리를 적용하여 강력한 독립성 가정을 적용합니다. 이 알고리즘은 단순함에도 불구하고 종종 더 복잡한 더 정교한 기술과 경쟁하는 경우가 많습니다. 이 알고리즘은 지도 학습 알고리즘 제품군에 속하며 훈련 단계와 추론 엔진을 통해 예측을 생성할 때 모두 빠른 것으로 유명합니다. 추론 엔진. 비교적 적은 양의 훈련 데이터가 필요하기 때문에 소량의 학습 데이터를 필요로 하기 때문에 파라미터를 추정하는 데 상대적으로 적은 양의 훈련 데이터가 필요하기 때문에 분류 문제에 널리 사용되는 기본 방법입니다.

"순진한" 독립성 가정

'나이브'라는 용어는 알고리즘의 핵심 전제에서 비롯된 것으로, 클래스의 특정 피처의 존재가 다른 피처의 존재와 무관하다고 가정하는 특징의 존재가 다른 특징의 존재와 무관하다고 가정합니다. 예를 들어, 과일은 빨갛고 둥글고 사과로 간주할 수 있습니다. 나이브 베이즈 분류기는 이러한 각 특징을 고려합니다. 각각의 특징을 고려하여 가능한 상관 관계에 관계없이 해당 과일이 사과일 확률에 독립적으로 기여합니다. 상관관계에 관계없이 각 특징이 사과일 확률에 독립적으로 기여한다고 간주합니다.

실제 데이터에서 기능은 완전히 독립적인 경우는 거의 없습니다. 그러나 이러한 단순화를 통해 모델은 다음을 수행할 수 있습니다. 계산 복잡성을 크게 줄이고 다음과 같은 문제를 피할 수 있습니다. 고차원 데이터 세트에 대한 과적합과 같은 문제를 피할 수 있습니다. 따라서 베이지안 네트워크와 구별됩니다. 방향 비순환 그래프를 사용하여 변수 간의 복잡한 종속성과 인과 관계를 모델링하는 베이지안 네트워크와 구별됩니다. 반면 베이지안 네트워크는 엄격하게 종속된 시스템을 보다 정확하게 표현하는 반면, 나이브 베이즈는 다음을 우선시합니다. 계산 효율성을 우선시합니다.

실제 애플리케이션

나이브 베이즈는 특히 다음과 같은 고차원 데이터와 관련된 시나리오에서 탁월한 성능을 발휘합니다. 자연어 처리(NLP).

  • 스팸 필터링: 가장 유명한 애플리케이션 중 하나는 이메일 서비스의 스팸 탐지입니다. 분류기는 특정 단어(예: "무료")가 포함된 이메일이 스팸일 특정 단어(예: "무료", "당첨자", "긴급") 발생 시 이메일이 스팸일 확률을 계산합니다. "당첨자", "긴급"). "무료"와 "당첨자"라는 단어가 자주 함께 나타나더라도 함께 자주 나타나더라도 알고리즘은 이를 독립적인 증거로 취급하여 이메일을 효과적으로 분류합니다. 정확도.
  • 감정 분석: 기업에서 나이브 베이즈를 사용하는 이유 소셜 미디어 또는 고객 리뷰에 대한 여론을 측정하기 위해 소셜 미디어 또는 고객 리뷰에 대한 여론을 측정합니다. 이 모델은 긍정 또는 부정 단어의 빈도를 분석하여 텍스트 문자열을 텍스트 문자열을 긍정, 부정 또는 중립적인 감정을 표현하는 것으로 분류하여 브랜드가 평판을 모니터링하는 데 도움을 줍니다.

딥러닝과의 비교

나이브 베이즈는 텍스트에는 강력하지만 다음과 같은 복잡한 지각 작업에서는 종종 부족합니다. 컴퓨터 비전(CV). 이미지 데이터에서 픽셀 값은 상관관계가 높기 때문에, 독립적인 픽셀을 기반으로 객체를 식별하려고 할 때 "순진한" 가정이 무너집니다. 다음과 같은 작업의 경우 이미지 분류 또는 실시간 객체 탐지 등의 작업에는 정교한 딥 러닝(DL) 모델 이 선호됩니다.

다음과 같은 최신 아키텍처 YOLO11 와 같은 최신 아키텍처는 컨볼루션 레이어를 사용하여 나이브 베이즈가 무시하는 복잡한 특징 계층과 공간 관계를 포착합니다. 하지만 Naive 베이즈는 여전히 리소스 집약적인 학습을 하기 전에 기준선 정확도를 설정하는 데 유용한 벤치마크로 남아 있습니다.

구현 예시

동안 ultralytics 패키지는 딥러닝에 초점을 맞추고 있으며, 나이브 베이즈는 일반적으로 표준 scikit-learn 라이브러리를 사용합니다. 다음 예는 연속 데이터에 유용한 가우스 나이브 베이즈 모델을 훈련하는 방법을 보여줍니다.

import numpy as np
from sklearn.naive_bayes import GaussianNB

# Sample training data: [height, weight] and class labels (0 or 1)
X = np.array([[5.9, 175], [5.8, 170], [6.1, 190], [5.2, 120], [5.1, 115]])
y = np.array([0, 0, 0, 1, 1])

# Initialize and train the classifier
model = GaussianNB()
model.fit(X, y)

# Predict class for a new individual
prediction = model.predict([[6.0, 180]])
print(f"Predicted Class: {prediction[0]}")

장점 및 제한 사항

나이브 베이즈의 가장 큰 장점은 매우 짧은 추론 지연 시간과 확장성입니다. 다음과 같은 다른 알고리즘의 속도를 저하시킬 수 있는 대규모 데이터 세트를 처리할 수 있습니다. 서포트 벡터 머신(SVM). 또한 독립성 가정이 위반되는 경우에도 놀라울 정도로 우수한 성능을 발휘합니다.

그러나 독립적인 기능에 의존하기 때문에 속성 간의 상호작용을 포착할 수 없습니다. 예측이 단어의 조합에 의존하는 경우 이 단어의 조합(예: "좋지 않음")에 의존하는 경우, 나이브 베이즈는 주의 메커니즘을 활용하는 모델이나 주의 메커니즘을 활용하거나 트랜스포머. 또한 테스트의 카테고리가 데이터의 카테고리가 훈련 세트에 없는 경우, 모델은 해당 카테고리에 0의 확률을 할당하는데, 이 문제는 보통 라플라스 평활화.

Ultralytics 커뮤니티 가입

AI의 미래에 동참하세요. 글로벌 혁신가들과 연결하고, 협력하고, 성장하세요.

지금 참여하기