Czytałem dziś o klasyfikacji Naive Bayes. Przeczytałem pod nagłówkiem Szacowanie parametrów z dodaniem 1 wygładzania :
Niech odnosi się do klasy (takiej jak Pozytywna lub Negatywna), a niech odnosi się do tokena lub słowa.
Estymator największego prawdopodobieństwa dla wynosi
To oszacowanie może być problematyczne, ponieważ dałoby nam prawdopodobieństwo dla dokumentów z nieznanymi słowami. Częstym sposobem rozwiązania tego problemu jest wygładzanie Laplace'a.
Niech V będzie zbiorem słów w zestawie treningowym, dodaj nowy element (dla nieznanego) do zestawu słów.
Zdefiniuj
gdzie odnosi się do słownictwa (słowa w zestawie szkoleniowym).
W szczególności każde nieznane słowo będzie miało prawdopodobieństwo
Moje pytanie brzmi: dlaczego w ogóle zawracamy sobie głowę wygładzaniem Laplace'a? Jeśli te nieznane słowa, które napotykamy w zestawie testowym, mają prawdopodobieństwo prawie zerowe, tj. , jaki jest sens włączenia ich do modelu? Dlaczego po prostu ich nie zignorować i usunąć?
Odpowiedzi:
Zawsze potrzebujesz tego „niezawodnego” prawdopodobieństwa.
Aby dowiedzieć się, dlaczego warto rozważyć najgorszy przypadek, w którym żadne zdanie z próbki treningowej nie pojawia się w zdaniu testowym. W tym przypadku, zgodnie z twoim modelem, stwierdzilibyśmy, że zdanie jest niemożliwe, ale wyraźnie istnieje, tworząc sprzeczność.
Innym skrajnym przykładem jest zdanie testowe „Alex poznał Steve'a”. gdzie „spełnione” pojawia się kilka razy w próbce treningowej, ale „Alex” i „Steve” nie. Twój model doszedłby do wniosku, że to stwierdzenie jest bardzo prawdopodobne, co nie jest prawdą.
źródło
Załóżmy, że trenowałeś swój Naiwny Bayes Classifier na 2 klasach: „Ham” i „Spam” (tj. Klasyfikuje e-maile). Dla uproszczenia założymy, że wcześniejsze prawdopodobieństwa wynoszą 50/50.
Teraz powiedzmy masz e-mail( w1, w2), . . . , wn) , które twoje stopy klasyfikator bardzo wysoko jako "ham", powiedzmy P.( Ha m | w1, w2), . . . wn) = .90 i P.( Sp a m | w1, w2), . . wn) = .10
Jak na razie dobrze.
Teraz załóżmy, że masz inny e-mail( w1, w2), . . . , wn, wn + 1) , która jest dokładnie taka sama jak w powyższym e-mail z wyjątkiem, że istnieje jedno słowo na to, że nie jest wliczone w słownictwie . Dlatego, ponieważ liczba tego słowa wynosi 0, P.( Ha m | wn + 1) = P( Sp a m | wn + 1) = 0
Nagle,P.( Ha m | w1, w2), . . . wn, wn + 1) = P( Ha m | w1, w2), . . . wn) ∗ P( Ha m | wn + 1) = 0 i P.( Sp a m | w1, w2), . . wn, wn + 1) = P( Sp a m | w1, w2), . . . wn) ∗ P( Sp a m | wn + 1) = 0
Pomimo tego, że pierwszy e-mail jest mocno sklasyfikowany w jednej klasie, ten drugi e-mail może być sklasyfikowany inaczej, ponieważ to ostatnie słowo ma prawdopodobieństwo zerowe.
Wygładzanie Laplace'a rozwiązuje ten problem, nadając ostatniemu słowu małe niezerowe prawdopodobieństwo dla obu klas, dzięki czemu prawdopodobieństwa późniejsze nie spadają nagle do zera.
źródło
To pytanie jest dość proste, jeśli znasz estymatory Bayesa, ponieważ jest to bezpośredni wniosek estymatora Bayesa.
W podejściu bayesowskim parametry uważa się za wielkość, której zmienność można opisać rozkładem prawdopodobieństwa (lub wcześniejszym rozkładem).
Jeśli więc postrzegamy procedurę pobierania jako rozkład wielomianowy, możemy rozwiązać pytanie w kilku krokach.
Najpierw zdefiniuj
Widzimy, że wyciągnęliśmy taki sam wniosek jak Wygładzanie Laplace'a.
źródło
Lekceważenie tych słów jest innym sposobem na poradzenie sobie z nimi. Odpowiada uśrednieniu (całkowaniu) wszystkich brakujących zmiennych. Wynik jest inny. W jaki sposób?
Ale w praktyce preferuje się podejście wygładzające. Zamiast ignorować te tokeny, przypisujesz im małe prawdopodobieństwo, które przypomina myślenie: jeśli mam nieznane tokeny, jest mało prawdopodobne, że jest to dokument, który w przeciwnym razie uważałbym za taki.
źródło
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ż:
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).
źródło
Ten sam problem spotkałem również podczas nauki Naive Bayes.
Według mnie, ilekroć napotkamy przykładowy test, na który nie natknęliśmy się podczas treningu, wówczas prawdopodobieństwo posteriora wyniesie 0.
Zatem dodanie 1, nawet jeśli nigdy nie trenujemy określonej cechy / klasy, prawdopodobieństwo posteriora nigdy nie będzie wynosić 0.
źródło
Jeśli masz rację, podnosisz bardzo dobry punkt - tak Wygładzanie Laplace'a jest szczerze mówiąc nonsensem! Po prostu odrzucenie tych cech może być poprawnym podejściem, szczególnie gdy mianownik jest również niewielką liczbą - po prostu nie ma wystarczających dowodów na poparcie oszacowania prawdopodobieństwa.
Mam silną niechęć do rozwiązywania wszelkich problemów za pomocą dowolnych korekt. Problemem są tutaj zera, „rozwiązaniem” jest po prostu „dodanie niewielkiej wartości do zera, aby już nie była zerowa - MAGIA problemu już nie ma”. Oczywiście to całkowicie arbitralne.
Twoja sugestia lepszego wyboru funkcji na początek jest mniej arbitralna, a edytor IME zwiększa wydajność. Ponadto wygładzanie Laplace'a w połączeniu z naiwnym Bayesem, ponieważ model z mojego doświadczenia pogarsza problem ziarnistości - tj. Problem, w którym wyniki są zwykle bliskie 1,0 lub 0,0 (jeśli liczba cech jest nieskończona, wówczas każdy wynik będzie wynosił 1,0 lub 0,0 - jest to konsekwencja założenia niezależności).
Obecnie istnieją alternatywne techniki szacowania prawdopodobieństwa (inne niż maksymalne prawdopodobieństwo + wygładzanie Laplace'a), ale są w dużej mierze niedokumentowane. W rzeczywistości istnieje całe pole zwane logiką indukcyjną i procesami wnioskowania, które wykorzystują wiele narzędzi z teorii informacji.
W praktyce stosujemy minimalną aktualizację krzyżową, która jest rozszerzeniem aktualizacji Jeffreya, w której definiujemy wypukły obszar prawdopodobieństwa zgodny z dowodami, że region jest taki, że punkt w nim oznaczałby, że oszacowanie maksymalnego prawdopodobieństwa mieści się w zakresie Oczekiwane absolutne odchylenie od punktu.
Ma to fajną właściwość, która wraz ze spadkiem liczby punktów danych łagodnie zbliża się do wcześniejszych szacunków - dlatego ich wpływ w obliczeniach bayesowskich jest zerowy. Z drugiej strony wygładzanie Laplace'a powoduje, że każde oszacowanie zbliża się do punktu maksymalnej entropii, który może nie być wcześniejszy, dlatego efekt obliczeń nie jest zerowy i po prostu powoduje hałas.
źródło