Site Overlay

Naive Bayes Explained

Naive Bayes is een probabilistisch algoritme dat meestal wordt gebruikt voor classificatieproblemen. Naïeve Bayes is eenvoudig, intuïtief, en toch presteert verrassend goed in veel gevallen. Bijvoorbeeld, spamfilters E-Mail app gebruikt zijn gebouwd op naïeve Bayes. In dit artikel, Ik zal uitleggen de redenen achter naïeve Bayes en het bouwen van een spamfilter in Python.,y, I’ll focus on binary classification problems)

Thomas Bayes, the ‘betting man’, from BBC

Before we get started, please memorize the notations used in this article:

Basic Idea

To make classifications, we need to use X to predict Y., Dit kan worden herschreven als de volgende vergelijking:

Dit is het basisidee van naïeve Bayes, de rest van het algoritme is meer gericht op het berekenen van de voorwaardelijke kans hierboven.

Stelling van Bayes

tot nu toe heeft Mr.Bayes geen bijdrage aan het algoritme. Nu is zijn tijd om te schitteren., Volgens de Bayes Theorema:

Bayes Theorema

Dit is een vrij eenvoudige transformatie, maar het overbrugt de kloof tussen wat we willen en wat we kunnen doen. We kunnen P(Y|X) niet direct krijgen, maar we kunnen P(X|Y) en P(Y) uit de trainingsgegevens halen., Here’s an example:

Weather dataset, from the University of Edinburgh

In this case, X =(Outlook, Temperature, Humidity, Windy), and Y=Play., P(X|Y) en P(Y) kan berekend worden met:

Voorbeeld van het vinden van P(Y) en P(X|Y)

Naive Bayes Aanname en Waarom

Theoretisch, het is niet moeilijk te vinden P(X|Y). Echter, het is veel moeilijker in werkelijkheid als het aantal functies groeit.,

7 parameters are needed for a 2-feature binary dataset

Estimate Join Distribution requires more data

Having this amount of parameters in the model is impractical., Om dit probleem op te lossen, wordt een naïeve veronderstelling gemaakt. We doen alsof alle functies onafhankelijk zijn. Wat betekent dit?,div>

Naive Bayes Classifier

Naive Bayes need fewer parameters (4 in this case)

This is a big deal., We veranderden het aantal parameters van exponentieel naar lineair. Dit betekent dat naïeve Bayes hoogdimensionale gegevens goed verwerkt.

categorische en continue kenmerken

categorische gegevens<|p>

voor categorische kenmerken is de schatting van P(Xi / Y) eenvoudig.,

Bereken de kans dat van categorische eigenschappen

Echter, een probleem is dat als bepaalde functie waarden nooit laten zien (misschien door gebrek aan gegevens), de waarschijnlijkheid nul, waardoor de hele posterior kans nul., Een eenvoudige manier om dit probleem te verhelpen is de zogenaamde Laplace Schatter: toevoegen denkbeeldige monsters (meestal één) aan elke categorie

Laplace Schatter

Continue Data

Voor continue functies, in wezen zijn er twee keuzes: discretization en continue Naive Bayes.

discretisatie werkt door de gegevens op te splitsen in categorische waarden., De eenvoudigste discretisatie is uniforme binning, die bakken met een vast bereik creëert. Er zijn natuurlijk slimmere en meer gecompliceerde manieren zoals recursieve minimale entropie partitionering of SOM-gebaseerde partitionering.

het discreet maken van continue functie voor Naive Bayes

de tweede optie is het gebruik van bekende distributies.,

natuurlijk zijn Er ook andere distributies:

Naive Bayes, van Scikit-Leren

Hoewel deze methoden variëren in vorm, de kern van het idee erachter is hetzelfde: in de veronderstelling dat de functie voldoet aan een bepaalde distributie, het schatten van de parameters van de distributie, en vervolgens de kansdichtheidsfunctie.,

sterkte en zwakte

  1. hoewel de naïeve aanname zelden waar is, presteert het algoritme in veel gevallen verrassend goed
  2. verwerkt hoogdimensionale gegevens goed. Gemakkelijk te parallelliseren en verwerkt big data goed
  3. presteert beter dan meer gecompliceerde modellen wanneer de dataset klein is

zwakte

  1. de geschatte waarschijnlijkheid is vaak onnauwkeurig vanwege de naïeve aanname., Niet ideaal voor regressiegebruik of waarschijnlijkheidsschatting
  2. wanneer er veel gegevens zijn, hebben andere, meer gecompliceerde modellen de neiging om naïeve Bayes te overtreffen

samenvatting

naïeve Bayes maakt gebruik van de meest fundamentele waarschijnlijkheidskennis en maakt een naïeve aanname dat alle functies onafhankelijk zijn. Ondanks de eenvoud (sommigen kunnen zeggen oversimplificatie), naïeve Bayes geeft een fatsoenlijke prestaties in vele toepassingen.

nu begrijp je hoe naïef Bayes werkt, is het tijd om het te proberen in echte projecten!

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *