2012-05-14 3 views
3

제 학사 학위 논문에서 텍스트 분류 문제에 대해 MultinomialNaiveBayes 분류자를 사용하여 AdaBoostM1을 사용해야합니다. 문제는 대부분의 경우 M1이 부스트없이 MultinomialNaiveBayes보다 나쁘거나 동일하다는 것입니다.weka AdaBoost가 결과를 향상시키지 못합니다.

AdaBoostM1 m1 = new AdaBoostM1(); 
m1.setClassifier(new NaiveBayesMultinomial()); 
m1.buildClassifier(training); 

그래서 나는 에이다 부스트 결과를 개선 할 수 없을 것입니다 어떻게하지 않습니다

나는 다음과 같은 코드를 사용할 수 있습니까? 불행히도 대부분의 사람들이 AdaBoost에 매우 만족하는 것처럼 웹에서 다른 것을 발견 할 수 없었습니다.

+1

그래서 분류기가 자체 교육 데이터에서 실수를하는 경우에만 부스팅을하는 것이 해결책 인 것 같습니다. Naive Bayes가 일반적으로 100 %에 가까운 정확도를 달성하기 때문에 여기서는 부스트를 이해하지 못합니다. –

답변

5

AdaBoost는 바이너리/이분법/2 클래스 분류 자이며 1/2 정확도보다 나은 약한 학습자를 부양하도록 설계되었습니다. AdaBoostM1은 M 클래스 분류 기준이지만 약한 학습자는 1/M 정도의 우연도를 예상 할 때 1/2 정확도보다 나은 것을 요구합니다. 균형 조정/가중치 부여는 처음에는 동등한 보급 클래스를 얻는 데 사용되지만 AdaBoost 고유의 가중치 조정은이를 빠르게 파괴 할 수 있습니다. 해결책은 Kappa 또는 Informedness (AdaBook)와 같은 우연히 수정 된 측정에 기초하여 증폭하는 것입니다.

M이 자라기 때문에, 예를 들어. 텍스트 분류에서는 이러한 불일치가 커지므로 우연한 분류 기준보다 훨씬 더 강력합니다. 따라서 M = 100 인 경우 AdaBoostM1에서 기회는 약 1 %이지만 최소 정확도는 50 %입니다.

기본 분류 기준이 더 강력 해지면 (즉, 우연히 우연히 만날 수는없는) 상황을 개선하기위한 부스트 범위가 줄어들어 검색 영역의 매우 특정한 부분으로 이미 안내됩니다. 점차 오류 및 이상 치에 과도한 영향을 미칠 가능성이 커지고 있으므로 다양한 변종의 균형을 조정할 범위가 없습니다.

여기 (MATLAB 코드 및 XLS 시트 및 초기 논문 포함) informedness에 자원의 수 : http://david.wardpowers.info/BM 다른 기회 보정 카파 조치와 비교가 여기에 있습니다 : 에이다 부스트를위한 http://aclweb.org/anthology-new/E/E12/E12-1035.pdf

WEKA 구현과 실험을 사용하여 소책자 정보 제공 - 저자에게 연락하십시오.

4

텍스트 분류에 Naive Bayes를 제압하는 것은 어렵습니다. 또한, boosting은 높은 bias의 약한 분류기를 위해 고안되었으며, 증폭이 잘 수행됩니다. 부스트 효과는 바이어스를 줄이지 만 분산을 증가시킵니다. 따라서 AdaBoost + Naive Bayes 콤보가 Naive Bayes를 능가하기를 원한다면 커다란 교육 데이터 세트를 갖고 국경을 통과해야합니다. 훈련 세트를 확장해도 Naive Bayes의 성능은 향상되지 않습니다 (AdaBoost는 여전히 확대 훈련 데이터 세트).

+0

답변 해 주셔서 감사합니다. 내가 할 수 있다면, 나는이 세 가지를 모두 받아 들일 것이다. –

2

Naive Bayes에서 증폭을 시험하는 다음 문서를 읽고 싶을 수 있습니다. 그것은 많은 부분이 일반적으로 자연 도메인 세트에서 예상대로 강화하는 것은 순진 베이지안 분류기의 정확성을 개선하지 않습니다 보여줍니다

http://onlinelibrary.wiley.com/doi/10.1111/1467-8640.00219/abstract

은 좋은 통찰력을 제공합니다 바랍니다.