Jak poradzić sobie z zerowym współczynnikiem w obliczeniach Naive Bayes Classifier?


14

Jeśli mam zestaw danych treningowych i trenuję na nim klasyfikator Naive Bayes i mam wartość atrybutu, która ma prawdopodobieństwo zerowe. Jak sobie z tym poradzić, jeśli chcę później przewidzieć klasyfikację nowych danych? Problem polega na tym, że jeśli w obliczeniach jest zero, cały produkt staje się zerowy, bez względu na to, ile innych wartości mam, które mogłyby znaleźć inne rozwiązanie.

Przykład:

P(x|spam=yes)=P(TimeZone=US|spam=yes)P(GeoLocation=EU|spam=yes) ... =0.004

P(x|spam=no)=P(TimeZone=US|spam=no)P(GeoLocation=EU|spam=no) ... =0

Cały produkt staje się ponieważ w danych treningowych atrybut TimeZone US ma zawsze wartość Tak w naszym małym zestawie danych treningowych. Jak sobie z tym poradzić? Czy powinienem użyć większego zestawu danych treningowych, czy też istnieje inna możliwość rozwiązania tego problemu?0


Jeśli wystąpi dyskretna wartość atrybutu, jej prawdopodobieństwo z definicji nie może wynosić zero.
Paul

dlaczego dodajemy problem z częstotliwością 1 w 0, co jest logiką, dlaczego nie dodajemy kolejnego numeru.
Aftab Hussaiin

Odpowiedzi:


13

Podejściem do przezwyciężenia tego „problemu zerowej częstotliwości” w ustawieniu Bayesa jest dodanie jednego do liczby dla każdej kombinacji wartość-klasa atrybutu, gdy wartość atrybutu nie występuje z każdą wartością klasy. Powiedzmy na przykład, że twoje dane treningowe wyglądały tak:

Spam=yesSpam=noTimeZone=US105TimeZone=EU00

P(TimeZone=US|Spam=yes)=1010=1

P(TimeZone=EU|Spam=yes)=010=0

Następnie powinieneś dodać jedną do każdej wartości w tej tabeli, gdy używasz jej do obliczania prawdopodobieństw:

Spam=yesSpam=noTimeZone=US116TimeZone=EU11

P(TimeZone=US|Spam=yes)=1112

P(TimeZone=EU|Spam=yes)=112


4
W rzeczy samej. Pamiętaj, że czasami możesz dodać wartości inne niż jedna. Aby uzyskać szczegółowe informacje, patrz en.wikipedia.org/wiki/Additive_smoothing
DaL
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.