Trudno mi zrozumieć proces Naive Bayes i zastanawiałem się, czy ktoś mógłby to wyjaśnić prostym krokiem po angielsku. Rozumiem, że porównanie wymaga czasu, gdy wystąpiło prawdopodobieństwo, ale nie mam pojęcia, w jaki sposób dane szkolenia są powiązane z rzeczywistym zestawem danych.
Proszę wyjaśnić mi, jaką rolę odgrywa zestaw treningowy. Podaję tutaj bardzo prosty przykład owoców, na przykład bananów
training set---
round-red
round-orange
oblong-yellow
round-red
dataset----
round-red
round-orange
round-red
round-orange
oblong-yellow
round-red
round-orange
oblong-yellow
oblong-yellow
round-red
algorithm
machine-learning
dataset
classification
naivebayes
Jaggerjack
źródło
źródło
Odpowiedzi:
Twoje pytanie, jak rozumiem, jest podzielone na dwie części, z których pierwsza wymaga lepszego zrozumienia klasyfikatora Naive Bayes, a druga część to zamieszanie wokół zestawu treningowego.
Ogólnie rzecz biorąc, wszystkie algorytmy uczenia maszynowego muszą być przeszkolone do nadzorowanych zadań uczenia się, takich jak klasyfikacja, prognozowanie itp., Lub do zadań uczenia się bez nadzoru, takich jak tworzenie klastrów.
Na etapie szkolenia algorytmy są uczone z konkretnym zestawem danych wejściowych (zestawem szkoleniowym), abyśmy później mogli je przetestować pod kątem nieznanych danych wejściowych (których nigdy wcześniej nie widzieli), dla których mogą klasyfikować lub przewidywać itp. (W przypadku nadzorowanych uczenia się) na podstawie ich uczenia się. Na tym opiera się większość technik uczenia maszynowego, takich jak sieci neuronowe, SVM, Bayesian itp.
Tak więc w ogólnym projekcie Machine Learning zasadniczo musisz podzielić swój zestaw danych wejściowych na zestaw programistyczny (zestaw szkoleniowy + zestaw testowy) i zestaw testowy (lub zestaw ewaluacyjny). Pamiętaj, że twoim podstawowym celem byłoby, aby Twój system uczył się i klasyfikował nowe dane wejściowe, których nigdy wcześniej nie widziały ani w zestawie deweloperskim, ani w zestawie testowym.
Zestaw testowy ma zwykle ten sam format, co zestaw szkoleniowy. Jednak bardzo ważne jest, aby zestaw testowy odróżniał się od korpusu szkoleniowego: jeśli po prostu użyjemy zestawu szkoleniowego jako zestawu testowego, wówczas model, który po prostu zapamiętał swój wkład, bez uczenia się, jak uogólniać na nowe przykłady, otrzymałby wprowadzającą w błąd wysokie wyniki.
Zasadniczo na przykład 70% naszych danych można wykorzystać jako przypadki szkoleniowe. Pamiętaj także o losowym podzieleniu oryginalnego zestawu na zestawy szkoleniowe i testowe .
Teraz przechodzę do twojego drugiego pytania dotyczącego Naive Bayes.
Aby zademonstrować koncepcję klasyfikacji Naïve Bayes, rozważ poniższy przykład:
Jak wskazano, cele mogą być klasyfikowane jako
GREEN
alboRED
. Naszym zadaniem jest klasyfikowanie nowych przypadków po ich przybyciu, tj. Decydowanie, do której etykiety klasy należą, na podstawie obecnie istniejących obiektów.Ponieważ istnieją dwa razy więcej
GREEN
obiektów jakRED
uzasadnione jest, aby sądzić, że nowy przypadek (który nie został jeszcze zaobserwować) jest dwukrotnie częściej mają członkostwaGREEN
zamiastRED
. W analizie bayesowskiej przekonanie to znane jest jako wcześniejsze prawdopodobieństwo. Wcześniejsze prawdopodobieństwa opierają się na wcześniejszych doświadczeniach, w tym przypadku procentachGREEN
iRED
obiektach, i często są wykorzystywane do przewidywania wyników, zanim faktycznie się pojawią.Dlatego możemy napisać:
Wcześniejsze prawdopodobieństwo
GREEN
:number of GREEN objects / total number of objects
Wcześniejsze prawdopodobieństwo
RED
:number of RED objects / total number of objects
Ponieważ istnieje w sumie
60
obiektów,40
których sąGREEN
i 20RED
, nasze wcześniejsze prawdopodobieństwa członkostwa w klasie są następujące:Wcześniejsze prawdopodobieństwo dla
GREEN
:40 / 60
Wcześniejsze prawdopodobieństwo dla
RED
:20 / 60
Po sformułowaniu naszego wcześniejszego prawdopodobieństwa jesteśmy teraz gotowi do sklasyfikowania nowego obiektu (
WHITE
okrąg na schemacie poniżej). Ponieważ obiekty są dobrze zgrupowane, uzasadnione jest założenie, że im więcejGREEN
(lubRED
) obiektów w pobliżu X, tym większe prawdopodobieństwo, że nowe przypadki należą do tego konkretnego koloru. Aby zmierzyć to prawdopodobieństwo, rysujemy okrąg wokół X, który obejmuje pewną liczbę (do wyboru a priori) punktów, niezależnie od ich etykiet klas. Następnie obliczamy liczbę punktów w okręgu należącym do każdej etykiety klasy. Na podstawie tego obliczamy prawdopodobieństwo:Od powyższej ilustracji, to jest oczywiste, że Prawdopodobieństwo
X
podanaGREEN
jest mniejszy niż PrawdopodobieństwoX
podaneRED
, ponieważ krąg obejmuje1
GREEN
przedmiot i3
RED
te. A zatem:Chociaż wcześniejsze prawdopodobieństwa wskazują, że
X
mogą należećGREEN
(biorąc pod uwagę, że jest ich dwa razy więcej wGREEN
porównaniu doRED
), prawdopodobieństwo wskazuje inaczej; przynależność do klasyX
toRED
(biorąc pod uwagę, że w pobliżu jest więcejRED
obiektówX
niżGREEN
). W analizie bayesowskiej ostateczna klasyfikacja jest tworzona przez połączenie obu źródeł informacji, tj. Wcześniejszego i prawdopodobieństwa, w celu utworzenia późniejszego prawdopodobieństwa przy użyciu tak zwanej reguły Bayesa (nazwanej na cześć ks. Thomasa Bayesa 1702-1761).Wreszcie, klasyfikujemy X,
RED
ponieważ jego członkostwo w klasie osiąga największe prawdopodobieństwo a posteriori.źródło
Zdaję sobie sprawę, że to stare pytanie z ustaloną odpowiedzią. Powodem, dla którego piszę, jest to, że zaakceptowana odpowiedź zawiera wiele elementów k-NN ( k- najbliższych sąsiadów), inny algorytm.
Zarówno k-NN, jak i NaiveBayes są algorytmami klasyfikacji. Koncepcyjnie, k-NN używa pojęcia „bliskości” do klasyfikowania nowych bytów. W k-NN „bliskość” jest modelowana za pomocą takich pomysłów, jak odległość euklidesowa lub odległość kosinusowa. Natomiast w NaiveBayes pojęcie „prawdopodobieństwa” służy do klasyfikowania nowych bytów.
Ponieważ pytanie dotyczy Naive Bayes, oto jak opisałbym pomysły i kroki do kogoś. Spróbuję to zrobić przy użyciu jak najmniejszej liczby równań i możliwie jak najprostszego angielskiego.
Po pierwsze, prawdopodobieństwo warunkowe i reguła Bayesa
Zanim ktoś zrozumie i doceni niuanse Naive Bayesa, musi najpierw poznać kilka powiązanych pojęć, a mianowicie ideę warunkowego prawdopodobieństwa i Regułę Bayesa. (Jeśli znasz te koncepcje, przejdź do sekcji zatytułowanej Getting to Naive Bayes ' )
Prawdopodobieństwo warunkowe w prostym języku angielskim: jakie jest prawdopodobieństwo, że coś się wydarzy, biorąc pod uwagę, że coś innego już się wydarzyło.
Powiedzmy, że istnieje jakiś Wynik O. I niektóre Dowody E. Ze sposobu, w jaki te prawdopodobieństwa są zdefiniowane: Prawdopodobieństwo, że zarówno Wynik O, jak i Dowód E są następujące: (Prawdopodobieństwo wystąpienia O) pomnożone przez (Prawdopodobieństwo E, biorąc pod uwagę, że O się stało)
Jeden przykład, aby zrozumieć prawdopodobieństwo warunkowe:
Powiedzmy, że mamy kolekcję amerykańskich senatorów. Senatorami mogą być Demokraci lub Republikanie. Są także płci męskiej lub żeńskiej.
Jeśli wybieramy jednego senatora całkowicie losowo, jakie jest prawdopodobieństwo, że ta osoba jest demokratką? Prawdopodobieństwo warunkowe może pomóc nam odpowiedzieć na to pytanie.
Prawdopodobieństwo (Demokratki i Senatora Kobiet) = Prob (Senator jest Demokratą) pomnożone przez Warunkowe Prawdopodobieństwo Być Kobietą, biorąc pod uwagę, że są Demokratami.
Możemy obliczyć dokładnie to samo, odwrotnie:
Zrozumienie reguły Bayesa
Koncepcyjnie jest to sposób na przejście od P (Dowód | Znany wynik) do P (Wynik | Znany dowód). Często wiemy, jak często obserwuje się określone dowody, biorąc pod uwagę znany wynik . Biorąc pod uwagę dowody, musimy wykorzystać ten znany fakt do obliczenia odwrotności, do obliczenia prawdopodobieństwa wystąpienia tego wyniku .
P (Wynik podany, że znamy pewne dowody) = P (Podany dowód, że znamy Wynik) razy Prob (Wynik), skalowany przez P (Dowód)
Klasyczny przykład na zrozumienie reguły Bayesa:
Teraz wszystko to było tylko wstępem do Naive Bayes.
Dojazd do Naive Bayes
Do tej pory rozmawialiśmy tylko o jednym dowodzie. W rzeczywistości musimy przewidzieć wynik na podstawie wielu dowodów. W takim przypadku matematyka staje się bardzo skomplikowana. Aby obejść tę komplikację, jednym z podejść jest „odłączenie” wielu dowodów i traktowanie każdego z nich jako niezależnego. Takie podejście nazywa się naiwnym Bayesem.
Wiele osób decyduje się zapamiętać to jako:
Zwróć uwagę na kilka rzeczy na temat tego równania:
base rates
i są sposobem na skalowanie naszych przewidywanych prawdopodobieństw.Jak zastosować NaiveBayes do przewidywania wyniku?
Po prostu uruchom powyższą formułę dla każdego możliwego wyniku. Ponieważ próbujemy sklasyfikować , każdy wynik nazywa się „
class
a”.class label.
Naszym zadaniem jest przyjrzenie się dowodom, rozważenie prawdopodobieństwa, że będzie to ta klasa lub klasa, i przypisanie etykiety każdej jednostce. Ponownie przyjmujemy bardzo proste podejście: klasa o najwyższym prawdopodobieństwie zostaje ogłoszona „zwycięzcą” i ta etykieta klasy zostaje przypisana do tej kombinacji dowodów.Przykład owoców
Wypróbujmy to na przykładzie, aby zwiększyć nasze zrozumienie: OP poprosił o przykład identyfikacji „owocowej”.
Powiedzmy, że mamy dane dotyczące 1000 kawałków owoców. Zdarza się, że to banan , pomarańcza lub inny owoc . Znamy 3 cechy każdego owocu:
To jest nasz „zestaw treningowy”. Wykorzystamy to, aby przewidzieć rodzaj każdego nowego napotkanego owocu.
Możemy wstępnie obliczyć wiele rzeczy na temat naszej kolekcji owoców.
Tak zwane „wcześniejsze” prawdopodobieństwa. (Gdybyśmy nie znali żadnego z atrybutów owoców, byłoby to nasze przypuszczenie.) To są nasze
base rates.
Prawdopodobieństwo „dowodów”
Prawdopodobieństwo „prawdopodobieństwa”
Biorąc pod uwagę owoc, jak go sklasyfikować?
Powiedzmy, że otrzymaliśmy właściwości nieznanego owocu i poprosiliśmy go o sklasyfikowanie. Mówi się nam, że owoc jest długi, słodki i żółty. Czy to banan? Czy to pomarańcza? A może to jakiś inny owoc?
Możemy po prostu uruchomić liczby dla każdego z 3 wyników, jeden po drugim. Następnie wybieramy najwyższe prawdopodobieństwo i „klasyfikujemy” nasz nieznany owoc jako należący do klasy, która miała najwyższe prawdopodobieństwo na podstawie naszych wcześniejszych dowodów (nasz zestaw treningowy 1000 owoców):
Przy użyciu przeważającego marginesu (
0.252 >> 0.01875
), klasyfikujemy ten słodki / długi / żółty owoc jako prawdopodobny banan.Dlaczego klasyfikator Bayes jest tak popularny?
Zobacz, co w końcu sprowadza się. Tylko trochę liczenia i mnożenia. Możemy wstępnie obliczyć wszystkie te warunki, dzięki czemu klasyfikacja staje się łatwa, szybka i wydajna.
Let z = 1 / P(evidence).
Teraz szybko obliczamy następujące trzy wielkości.Przypisz etykietę klasy, która jest najwyższą liczbą, i gotowe.
Pomimo nazwy, Naive Bayes okazuje się być doskonały w niektórych zastosowaniach. Klasyfikacja tekstu to jeden z obszarów, w którym naprawdę świeci.
Mam nadzieję, że pomaga w zrozumieniu koncepcji algorytmu Naive Bayes.
źródło
Ram Narasimhan bardzo ładnie wyjaśnił tę koncepcję poniżej, stanowi alternatywne wyjaśnienie w przykładzie kodu Naive Bayes w akcji.
Używa przykładowego problemu z tej książki na stronie 351.
To zestaw danych, którego będziemy używać w powyższym zestawie danych, jeśli podamy hipoteza = to jakie jest prawdopodobieństwo, że kupi lub nie kupi komputera. Poniższy kod dokładnie odpowiada na to pytanie. Po prostu utwórz plik o nazwie o nazwie i wklej następującą treść.
{"Age":'<=30', "Income":"medium", "Student":'yes' , "Creadit_Rating":'fair'}
new_dataset.csv
Oto kod, w którym komentarze wyjaśniają wszystko, co tutaj robimy! [pyton]
wynik:
Mam nadzieję, że pomoże to w lepszym zrozumieniu problemu
pokój
źródło
Naive Bayes: Naive Bayes podlega nadzorowi uczenia maszynowego, które służyło do klasyfikacji zestawów danych. Służy do przewidywania rzeczy na podstawie wcześniejszej wiedzy i założeń dotyczących niezależności.
Nazywają to naiwnością, ponieważ są to założenia (zakłada, że wszystkie funkcje zestawu danych są równie ważne i niezależne) są naprawdę optymistyczne i rzadko prawdziwe w większości rzeczywistych aplikacji.
Jest to algorytm klasyfikacji, który decyduje o nieznanym zbiorze danych. Opiera się na twierdzeniu Bayesa, które opisuje prawdopodobieństwo zdarzenia na podstawie jego wcześniejszej wiedzy.
Poniższy schemat pokazuje, jak działa naiwny Bayes
Wzór do przewidzenia NB:
Jak korzystać z naiwnego algorytmu Bayesa?
Weźmy przykład tego, jak działa NB
Krok 1: Najpierw dowiadujemy się o prawdopodobieństwie tabeli, która pokazuje prawdopodobieństwo tak lub nie na poniższym schemacie. Krok 2: Znajdź prawdopodobieństwo tylne każdej klasy.
Więcej informacji można znaleźć na blogu.
Patrz: GitHub Repository Naive-Bayes-Przykłady
źródło
Próbuję wyjaśnić zasadę Bayesa przykładem.
Jaka jest szansa, że przypadkowa osoba wybrana ze społeczeństwa jest palaczem?
Możesz odpowiedzieć 10%.
Teraz, co zrobić, jeśli dana osoba jest mężczyzna i 15 lat?
Nie może to być 60%, podczas gdy wiemy, że odsetek palaczy był bardzo niski. Nie może to być również mniej niż 10%. 15 lub 20% to lepsze domysły.
W rzeczywistości staramy się zaktualizować początkowe domysły o nowe dowody (
P(smoker) vs. P(smoker | evidence)
). Reguła Bayesa jest sposobem na połączenie tych dwóch prawdopodobieństw.Każdy dowód może zwiększyć lub zmniejszyć tę szansę. Na przykład fakt, że jest mężczyzną, może zwiększyć szansę, pod warunkiem, że ten odsetek (bycie mężczyzną) wśród osób niepalących jest niższy. Innymi słowy, bycie mężczyzną musi być dobrym wskaźnikiem bycia palaczem, a nie niepalącym.
Możemy pokazać ten wkład również w inny sposób. Dla każdej cechy można porównać pospolitość (prawdopodobieństwo) tej cechy w danych warunkach z samą jej pospolitością. (
P(f | x) vs. P(f))
.Na przykład, jeśli wiemy, że 90% palaczy to mężczyźni, nie wystarczy stwierdzić, czy bycie mężczyzną jest wskaźnikiem bycia palaczem, czy nie. Na przykład jeśli prawdopodobieństwo bycia mężczyzną w społeczeństwie wynosi również 90%, to wiedza o tym, że ktoś jest mężczyzną, nam nie pomaga
((90% / 90%) = 1
. Ale jeśli mężczyźni przyczyniają się do 40% społeczeństwa, ale 90% palaczy, to wiedza o tym, że ktoś jest mężczyzną, zwiększa szansę na bycie palaczem(90% / 40%) = 2.25
, więc zwiększa początkowe przypuszczenie (10%) o 2,25, co daje 22,5%.Jeśli jednak prawdopodobieństwo bycia mężczyzną wynosi 95% w społeczeństwie, to niezależnie od tego, że odsetek mężczyzn wśród palaczy jest wysoki (90%)! dowód, że ktoś jest mężczyzną, zmniejsza szansę, że zostanie palaczem!
(90% / 95%) = 0.95)
.Więc mamy:
Zauważ, że w tej formule założyliśmy, że bycie mężczyzną i bycie poniżej 20 roku życia są niezależnymi cechami, więc pomnożymy je, co oznacza, że wiedza, że ktoś ma poniżej 20 lat, nie ma wpływu na odgadnięcie, że jest mężczyzną lub kobietą. Ale może nie być to prawdą, na przykład być może większość okresu dojrzewania w społeczeństwie to mężczyźni ...
Aby użyć tej formuły w klasyfikatorze
Klasyfikator ma pewne cechy (jest mężczyzną i ma mniej niż 20 lat) i musi zdecydować, czy jest palaczem, czy nie (są to dwie klasy). Wykorzystuje powyższy wzór do obliczenia prawdopodobieństwa każdej klasy na podstawie dowodów (cech) i przypisuje klasę o najwyższym prawdopodobieństwie do danych wejściowych. Aby podać wymagane prawdopodobieństwa (90%, 10%, 80% ...) używa zestawu treningowego. Na przykład zlicza osoby w zestawie szkoleniowym, które są palaczami i stwierdzają, że stanowią 10% próby. Następnie dla palaczy sprawdza, ilu z nich to mężczyźni lub kobiety .... ilu jest powyżej 20 lub poniżej 20 lat ... Innymi słowy, próbuje zbudować rozkład prawdopodobieństwa cech dla każdej klasy na podstawie szkolenia dane.
źródło