Chcesz wiedzieć, dlaczego w ogóle kłopotamy się wygładzaniem w klasyfikatorze Naive Bayes (kiedy zamiast tego możemy wyrzucić nieznane funkcje).
Odpowiedź na twoje pytanie brzmi: nie wszystkie słowa muszą być nieznane we wszystkich klasach.
Załóżmy, że istnieją dwie klasy M i N o cechach A , B i C , jak następuje:
M: A = 3, B = 1, C = 0
(W klasie M , pojawia się 3 razy, a B tylko raz)
N: A = 0, B = 1, C = 3
(W klasie N , C pojawia się 3 razy, a B tylko raz)
Zobaczmy, co się stanie, gdy wyrzucisz funkcje, które pojawiają się zero razy.
A) Funkcje wyrzucania, które pojawiają się w zerowych czasach w każdej klasie
Jeśli wyrzucisz funkcje A i C, ponieważ pojawiają się zero razy w jednej z klas, wówczas masz tylko funkcję B do klasyfikowania dokumentów.
A utrata tych informacji to zła rzecz, jak zobaczycie poniżej!
Jeśli otrzymasz dokument testowy w następujący sposób:
B = 1, C = 3
(Zawiera B raz i C trzy razy)
Teraz, skoro już wyrzucić cechy A i B , nie będzie w stanie powiedzieć, czy powyższy dokument należy do klasy M lub klasa N .
Utrata jakiejkolwiek informacji o funkcji jest złą rzeczą!
B) Funkcje wyrzucania, które pojawiają się w zerowych czasach we wszystkich klasach
Czy można obejść ten problem, odrzucając tylko te funkcje, które pojawiają się zero razy we wszystkich klasach?
Nie, ponieważ stworzyłoby to własne problemy!
Poniższy dokument testowy ilustruje, co by się stało, gdybyśmy to zrobili:
A = 3, B = 1, C = 1
Prawdopodobieństwo M i N byłoby równe zero (ponieważ nie wyrzuciliśmy zerowego prawdopodobieństwa A w klasie N i zerowego prawdopodobieństwa C w klasie M ).
C) Nie wyrzucaj niczego - zamiast tego użyj wygładzania
Wygładzanie pozwala poprawnie sklasyfikować oba powyższe dokumenty, ponieważ:
- Nie tracisz informacji o liczeniu w klasach, w których takie informacje są dostępne i
- Nie musisz walczyć z zerową liczbą.
Naiwne klasyfikatory Bayesa w praktyce
Klasyfikator Naive Bayes w NLTK wyrzucał obiekty, które miały zerową liczbę w każdej z klas.
Służyło to do tego, że działał słabo, gdy był trenowany przy użyciu twardej procedury EM (gdy klasyfikator jest ładowany z bardzo małej ilości danych treningowych).