순진한 베이지안 분류 기가 왜 그렇게 잘 작동합니까?


38

Naive Bayes 분류기는 분류 문제에 널리 사용됩니다. 다음과 같은 여러 가지 이유가 있습니다.

  • "Zeitgeist"-약 10 년 전에 스팸 필터가 성공한 후 널리 인식
  • 쓰기 쉽다
  • 분류기 모델은 빠른 빌드
  • 모델을 다시 만들지 않고도 새로운 교육 데이터로 모델을 수정할 수 있습니다

그러나 이들은 '순진'합니다. 즉, 기능이 독립적이라고 가정합니다. 이는 최대 엔트로피 분류기와 같은 다른 분류기와 대조됩니다 (계산 속도가 느림).

독립성 가정은 일반적으로 가정 할 수 없으며 스팸 필터 예를 포함하여 많은 경우 (대부분의 경우), 단순히 잘못된 것입니다.

그렇다면 왜 Naive Bayes Classifier가 기능이 서로 독립적이지 않은 경우에도 여전히 그러한 애플리케이션에서 우수한 성능을 발휘합니까?

답변:


23

이 백서 는 기능이 독립적 일 때뿐만 아니라 서로 기능의 종속성이 기능간에 유사 할 때 베이가 좋다는 것을 증명하는 것 같습니다 (수학을 따를 수 없음).

이 논문에서, 우리는 순진 베이 즈의 뛰어난 분류 성능에 대한 새로운 설명을 제안한다. 본질적으로 의존성 분포를 보여줍니다. 즉, 노드의 로컬 종속성이 각 클래스에 균등하게 또는 불균일하게 분배되는 방식과 모든 노드의 로컬 종속성이 함께 일관되게 (특정 분류 지원) 또는 일관되지 않게 (서로 제거) 어떻게 작동하는지가 중요한 역할을합니다. 따라서 속성 간의 종속성이 아무리 강하더라도 종속성이 클래스에 균등하게 분배되거나 종속성이 서로 상쇄되는 경우 순진한 베이가 여전히 최적 일 수 있습니다.


1
질적으로 말이됩니다. 종속 기능은 가중치를 부여하므로 고른 분포 또는 취소 된 분포는이 가중치를 취소합니다. 그러나 "lop-sided"종속성은 여전히 ​​제대로 수행되지 않을까요? 스팸 예제의 경우 + 스팸 기능에 대한 많은 종속성이 필요하지만 일반적인 경우 스팸 기능은 아닙니다. 그러나 특정 주제에 대해 많은 합법적 인 이메일을받을 수 있으므로이 경우 + 스팸 기능의 균형을 유지하는 종속 기능이 많이 있습니다.
winwaed

3
나는 또한이 논문을 추천한다 : cs.stanford.edu/people/ang/papers/…
Dov

25

대부분의 기계 학습 문제는 쉽습니다!

John Langford의 블로그를 참조하십시오 . 그가 실제로 말하고있는 것은 ML이 문제를 쉽게 만들어 준다는 것인데, 이는 연구자들에게 광범위한 간단한 문제에 방법을 적용해야하는지 또는 더 어려운 문제를 공격해야하는지에 대한 문제를 제시합니다. 그러나 부산물은 많은 문제에 대해 데이터가 선형 적으로 분리 가능 하거나 (거의 거의) 선형 선형 분류 기가 잘 작동한다는 것입니다! 원래 스팸 필터 페이퍼의 작성자는 Naive Bayes를 사용하기로 선택했지만 Perceptron, SVM, Fisher Discriminant Analysis, Logistic Regression, AdaBoost 또는 그 밖의 다른 기능도 사용했을 것입니다.

알고리즘을 코딩하는 것이 상대적으로 쉽다는 사실이 도움이됩니다. 예를 들어 SVM을 코딩하려면 QP Solver 가 있거나 사소한 작업이 아닌 SMO 알고리즘 을 코딩해야합니다 . 물론 libsvm을 다운로드 할 수 있었지만 초기에는이 옵션을 사용할 수 없었습니다. 그러나 코딩하기 쉽고 (질문과 같이 증분 업데이트가 가능한) 다른 간단한 알고리즘 (위에서 언급 한 Perceptron 포함)이 있습니다.

어려운 비선형 문제의 경우 비선형 문제를 처리 할 수있는 방법이 필요합니다. 그러나 심지어 커널 방법 을 사용 하는 경우에도 비교적 간단한 작업이 될 수 있습니다 . 문제는 종종 "어떤 분류기를 사용해야합니까"가 아니라 "데이터에 효과적인 커널 함수를 어떻게 설계합니까"가됩니다.


"쉬운"은 상대적이라고 생각하지만 스팸 분류는 12 년 전쯤에 대부분의 사람들이 생각한 것보다 '쉽습니다'. 커널 방법은 빠르고 간단한 분류기를 생성하는 접근 방법 일 수 있지만 "데이터에 효과적인 커널 기능을 어떻게 설계합니까?"는 일부 기계 학습이 "인간 학습"이되는 것처럼 보입니다 (예 : 데이터 및 상호 관계)?
winwaed

1
그렇습니다. 상대적이며 많은 문제가 있으므로 여전히 어려운 문제가 많이 있습니다! ML과 인간 학습 사이의 경계는 항상 흐릿하다고 생각합니다. 만약 당신이 멋진 멋진 확률 론적 모델을 만들고 있다면 같은 일을하고 있습니다. 좋은 오래된 NFLT 는 하나의 방법으로 모든 문제를 해결할 수는 없지만 복잡한 방법이므로 모델 / 커널 / 알고리즘 또는 데이터를 최대한 활용하는 데 필요한 모든 것을 인간에게 필요로합니다.
tdc

사실-분명히 흐릿한 선!
winwaed

1
왜 공감해야합니까? 의견이 있으십니까?
tdc

7

세분화 분류 도구에서 Naive Bayesian Classifiers를 광범위하게 사용한 후, 모든 예측 변수를 사용할 수있을 때 NBC가 선형 판별 및 CART / CHAID와 정확하게 비교할 수 있음을 보여주는 출판 된 논문과 일관된 경험이 있습니다.

(정확한 솔루션으로 가장 적합한 솔루션을 예측할 때의 "히트 율"과 교정으로 인해 75 %의 멤버십 추정치가 70 % -80 %의 경우에 적합합니다.)

내 두 센트는 NBC가 다음과 같은 이유로 잘 작동한다는 것입니다.

  • 예측 변수 간의 상호 상관은 생각만큼 강력하지 않습니다 (상호 적 정보 점수 0.05-0.15가 일반적 임)
  • NBC는 불연속 다항식 변수를 잘 처리 할 수 ​​있으므로 변수를 세분화하거나 순서 변수를 기수로 취급하지 않아도됩니다.
  • NBC는 모든 변수를 동시에 사용하지만 CART / CHAID는 몇 가지만 사용합니다.

그리고 모든 변수가 관찰되는 시점입니다. 팩에서 NBC를 실제로 끌어내는 것은 하나 이상의 예측 변수가 없거나 관찰되지 않으면 정상적으로 저하된다는 것입니다. 이 경우 CART / CHAID 및 선형 판별 분석이 평평하게 중지됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.