Klasyfikatory Naive Bayes są popularnym wyborem przy problemach z klasyfikacją. Istnieje wiele powodów, w tym:
- „Zeitgeist” - powszechna świadomość po sukcesie filtrów antyspamowych około dziesięć lat temu
- Łatwy do napisania
- Model klasyfikatora jest szybki w budowie
- Model można modyfikować za pomocą nowych danych treningowych bez konieczności jego odbudowywania
Są jednak „naiwne” - tzn. Zakładają, że funkcje są niezależne - kontrastuje to z innymi klasyfikatorami, takimi jak klasyfikatory Maximum Entropy (których obliczenia są powolne).
Zwykle nie można założyć założenia niezależności, aw wielu (większości?) Przypadkach, w tym na przykład w filtrze spamu, jest to po prostu błędne.
Dlaczego więc Naive Bayes Classifier nadal działa bardzo dobrze w takich aplikacjach, nawet jeśli funkcje nie są od siebie niezależne?