Naive Bayes Classifier: zalety i wady, zastosowania i typy wyjaśnione

Opublikowany: 2020-12-11

Kiedy potrzebujesz szybkiego algorytmu rozwiązywania problemów, dokąd się wybierasz? Idziesz do klasyfikatora Naive Bayes. Jest to szybki i prosty algorytm, który rozwiązuje różne problemy z klasyfikacją. W tym artykule zrozumiemy, czym jest ten algorytm, jak działa i jakie są jego cechy. Zacznijmy.

Spis treści

Co to jest naiwny klasyfikator Bayesa?

Naiwny klasyfikator Bayesa dzieli dane na różne klasy zgodnie z twierdzeniem Bayesa, przy założeniu, że wszystkie predyktory są od siebie niezależne. Zakłada, że ​​dana cecha w klasie nie jest związana z obecnością innych cech.

Na przykład za arbuza można uznać owoc, jeśli jest zielony, okrągły i ma średnicę 10 cali. Te cechy mogą być od siebie zależne, jednak każda z nich niezależnie przyczynia się do prawdopodobieństwa, że ​​rozpatrywany owoc jest arbuzem. Dlatego w nazwie tego klasyfikatora występuje termin „Naiwny”.

Algorytm ten jest dość popularny, ponieważ może nawet przewyższać wysoce zaawansowane techniki klasyfikacji. Co więcej, jest to dość proste i możesz je szybko zbudować.

Oto twierdzenie Bayesa, które jest podstawą tego algorytmu:

P(c | x) = P(x | c) P(c)/ P(x)

W tym równaniu „c” oznacza klasę, a „x” oznacza atrybuty. P(c/x) oznacza prawdopodobieństwo a posteriori klasy zgodnie z predyktorem. P(x) to prawdopodobieństwo a priori predyktora, a P(c) to prawdopodobieństwo a priori klasy. P(x/c) pokazuje prawdopodobieństwo predyktora według klasy.

Przeczytaj: Wyjaśnienie naiwnego Bayesa

Zalety naiwnych Bayesów

  • Algorytm ten działa bardzo szybko i może łatwo przewidzieć klasę zestawu danych testowych.
  • Możesz go użyć do rozwiązywania problemów z przewidywaniami wieloklasowymi, ponieważ jest bardzo przydatny w ich przypadku.
  • Klasyfikator Naive Bayes działa lepiej niż inne modele z mniejszą ilością danych uczących, jeśli założenie niezależności funkcji jest spełnione.
  • Jeśli masz kategoryczne zmienne wejściowe, algorytm Naive Bayes działa wyjątkowo dobrze w porównaniu ze zmiennymi liczbowymi.

Wady naiwnych Bayesów

  • Jeśli zestaw danych testowych zawiera zmienną kategorialną kategorii, która nie była obecna w zestawie danych uczących, model Naive Bayes przypisze jej prawdopodobieństwo zerowe i nie będzie w stanie dokonywać żadnych prognoz w tym zakresie. Zjawisko to nazywa się „Zerową częstotliwością” i będziesz musiał użyć techniki wygładzania, aby rozwiązać ten problem.
  • Ten algorytm jest również znany jako kiepski estymator. Tak więc nie powinieneś zbyt poważnie traktować wyników prawdopodobieństwa 'predict_proba'.
  • Zakłada, że ​​wszystkie cechy są niezależne. Choć w teorii może to brzmieć świetnie, w prawdziwym życiu trudno znaleźć zestaw niezależnych funkcji.

Zastosowania algorytmu naiwnego Bayesa

Jak zapewne zauważyliście, algorytm ten oferuje użytkownikom wiele korzyści. Dlatego ma wiele zastosowań również w różnych sektorach. Oto kilka zastosowań algorytmu Naive Bayes:

  • Ponieważ ten algorytm jest szybki i wydajny, możesz go używać do prognozowania w czasie rzeczywistym.
  • Ten algorytm jest popularny w przypadku prognoz wieloklasowych. Korzystając z tego algorytmu, można łatwo znaleźć prawdopodobieństwo wystąpienia wielu klas docelowych.
  • Usługi poczty e-mail (takie jak Gmail) używają tego algorytmu do określenia, czy wiadomość e-mail jest spamem, czy nie. Ten algorytm doskonale nadaje się do filtrowania spamu.
  • Jego założenie o niezależności funkcji i jego skuteczność w rozwiązywaniu problemów wieloklasowych sprawia, że ​​doskonale nadaje się do wykonywania Analizy Nastrojów. Analiza nastrojów odnosi się do identyfikacji pozytywnych lub negatywnych nastrojów grupy docelowej (klientów, odbiorców itp.)
  • Filtrowanie grupowe i algorytm Naive Bayes współpracują ze sobą, tworząc systemy rekomendacji. Systemy te wykorzystują eksplorację danych i uczenie maszynowe, aby przewidzieć, czy użytkownik chciałby dany zasób, czy nie.

Przeczytaj także: Wyjaśnienie modeli uczenia maszynowego

Rodzaje naiwnych klasyfikatorów Bayes

Ten algorytm ma wiele rodzajów. Oto główne:

Bernoulli naiwny Bayes

Tutaj predyktorami są zmienne logiczne. Tak więc jedyne wartości, jakie masz, to „Prawda” i „Fałsz” (możesz też mieć „Tak” lub „Nie”). Używamy go, gdy dane są zgodne z wielowymiarowym rozkładem Bernoulliego.

Wielomianowy naiwny Bayes

Ludzie używają tego algorytmu do rozwiązywania problemów z klasyfikacją dokumentów. Na przykład, jeśli chcesz określić, czy dokument należy do kategorii „Prawne” czy „Zasoby ludzkie”, użyj tego algorytmu, aby go uporządkować. Wykorzystuje częstotliwość obecnych słów jako cechy.

Gaussowski naiwny Bayes

Jeśli predyktory nie są dyskretne, ale mają wartość ciągłą, zakładamy, że są one próbką z rozkładu Gaussa.

Wniosek

Mamy nadzieję, że ten artykuł okazał się przydatny. Jeśli masz jakieś pytania związane z algorytmem Naive Bayes, śmiało podziel się nimi w sekcji komentarzy. Chcielibyśmy usłyszeć od ciebie.

Jeśli chcesz dowiedzieć się więcej o sztucznej inteligencji, uczeniu maszynowym, sprawdź dyplom PG IIIT-B i upGrad w uczeniu maszynowym i sztucznej inteligencji, który jest przeznaczony dla pracujących profesjonalistów i oferuje ponad 450 godzin rygorystycznych szkoleń, ponad 30 studiów przypadków i zadań, Status absolwentów IIIT-B, ponad 5 praktycznych praktycznych projektów zwieńczenia i pomoc w pracy z najlepszymi firmami.

Jakie są ograniczenia Naive Bayes?

Naiwny klasyfikator Bayesa to algorytm służący do klasyfikowania nowych instancji danych przy użyciu zestawu znanych danych treningowych. To dobry algorytm do klasyfikacji; jednak liczba cech musi być równa liczbie atrybutów w danych. Jest to obliczeniowo kosztowne, gdy jest używane do klasyfikowania dużej liczby elementów. Nie nadaje się do danych liczbowych. Może działać tylko wtedy, gdy funkcje są od siebie niezależne. Nie jest odpowiedni, gdy wartości cech są nominalne. Wymaga, aby wartości cech wzajemnie się wykluczały. Wymaga to, aby częstotliwość wartości cech była proporcjonalna do prawdopodobieństwa ich poprawności.

Jaka jest największa zaleta i wada klasyfikatorów Naive Bayes?

Największą zaletą Naive Bayes jest to, że może pracować z bardzo małymi zestawami danych. Jest to jeden z najpopularniejszych algorytmów filtrowania spamu. Ponadto jest stosunkowo prosty do wdrożenia. Jest prawie zawsze używany jako klasyfikator. Jeśli zbiór danych nie jest dostępny, można go nadal używać jako algorytmu klasyfikacji. Algorytm ten jest używany w filtrowaniu spamu w e-mailach, jest również używany przez Google do klasyfikowania stron internetowych. Jednak może nie być tak skuteczny w bardziej złożonych problemach klasyfikacji. Może działać tylko wtedy, gdy funkcje są od siebie niezależne.

Jak zatrzymać Overfitting w Naive Bayes?

Jednym z powodów nadmiernego dopasowania są nieprawidłowe dane treningowe. Jeśli masz zestaw danych uczących z dużą ilością szumu i masz wiele przykładów uczących, klasyfikator spojrzy na szum w danych uczących, a nie na podstawowy wzorzec, dla którego próbujesz zbudować model. Innym powodem jest to, że Twój model jest zbyt skomplikowany. Jeśli masz model, w którym niewielka zmiana danych wejściowych może spowodować dużą zmianę danych wyjściowych, możesz uzyskać nadmierne dopasowanie. Innym rozwiązaniem jest użycie regularyzacji. Regularyzacja zmniejszy długie gałęzie w twoim modelu. Wygładza model i zapobiega nadmiernemu dopasowaniu.