Uns classificadors de Bayes ingenus, una família d'algorismes basats en el teorema de Bayes. Malgrat l'assumpció ingènua de la independència de les funcions, aquests classificadors s'utilitzen àmpliament per la seva simplicitat i eficiència en l'aprenentatge automàtic. L'article aprofundeix en la teoria, la implementació i les aplicacions, donant llum sobre la seva utilitat pràctica malgrat les suposicions simplificades.
Què són els classificadors de Bayes ingenus?
Els classificadors de Bayes ingenus són una col·lecció d'algorismes de classificació basats en el teorema de Bayes. No és un únic algorisme, sinó una família d'algorismes on tots comparteixen un principi comú, és a dir, cada parell de característiques que es classifiquen són independents les unes de les altres. Per començar, considerem un conjunt de dades.
Un dels algorismes de classificació més senzills i eficaços, el classificador Naïve Bayes ajuda en el desenvolupament ràpid de models d'aprenentatge automàtic amb capacitats de predicció ràpida.
L'algorisme naïf de Bayes s'utilitza per a problemes de classificació. És molt utilitzat en la classificació de textos. A les tasques de classificació de text, les dades contenen una gran dimensió (ja que cada paraula representa una característica de les dades). S'utilitza en el filtratge de correu brossa, la detecció de sentiments, la classificació de la classificació, etc. L'avantatge d'utilitzar Bayes naïf és la seva velocitat. És ràpid i fer prediccions és fàcil amb una gran dimensió de dades.
Aquest model prediu la probabilitat que una instància pertanyi a una classe amb un conjunt determinat de valors de característiques. És un classificador probabilístic. És perquè suposa que una característica del model és independent de l'existència d'una altra característica. En altres paraules, cada característica contribueix a les prediccions sense relació entre elles. Al món real, aquesta condició rarament es compleix. Utilitza el teorema de Bayes en l'algorisme d'entrenament i predicció
Per què es diu Naive Bayes?
La part Naïve del nom indica la suposició simplificadora feta pel classificador Naïve Bayes. El classificador assumeix que les característiques utilitzades per descriure una observació són condicionalment independents, donada l'etiqueta de classe. La part de Bayes del nom fa referència al reverend Thomas Bayes, un estadístic i teòleg del segle XVIII que va formular el teorema de Bayes.
Penseu en un conjunt de dades de ficció que descriu les condicions meteorològiques per jugar un joc de golf. Tenint en compte les condicions meteorològiques, cada tupla classifica les condicions com a aptes (Sí) o no aptes (No) per jugar a golf. Aquí teniu una representació tabular del nostre conjunt de dades.
Perspectiva | Temperatura | Humitat | Ventós | Jugar a golf | |
---|---|---|---|---|---|
0 | Plujós | Calent | Alt | Fals | No |
1 | Plujós | Calent | Alt | És cert | No |
2 | Ennuvolat | Calent | Alt | Fals | Sí |
3 | Assolellat | lleu | Alt | Fals | Sí |
4 | Assolellat | Guai | Normal | Fals | Sí |
5 | Assolellat | Guai | Normal | És cert | No |
6 | Ennuvolat | Guai | Normal | És cert | Sí |
7 | Plujós | lleu | Alt | Fals | No |
8 | Plujós | Guai | Normal | Fals | Sí |
9 | Assolellat | lleu | Normal | Fals | Sí |
10 | Plujós | lleu | Normal | És cert | Sí |
11 | Ennuvolat | lleu | Alt | És cert | Sí |
12 | Ennuvolat | Calent | Normal | Fals | Sí |
13 | Assolellat | lleu | Alt | És cert | No |
El conjunt de dades es divideix en dues parts, a saber, matriu de característiques i la vector de resposta .
topologies de xarxa
- La matriu de característiques conté tots els vectors (files) del conjunt de dades en què cada vector consta del valor de característiques dependents . Al conjunt de dades anterior, les característiques són 'Outlook', 'Temperatura', 'Humitat' i 'Vent'.
- El vector de resposta conté el valor de variable de classe (predicció o sortida) per a cada fila de la matriu de característiques. Al conjunt de dades anterior, el nom de la variable de classe és 'Jugar al golf'.
Assumpció de Naive Bayes
El supòsit fonamental de Naive Bayes és que cada característica fa:
- Característiques independència: Les característiques de les dades són condicionalment independents entre si, donada l'etiqueta de classe.
- Les característiques contínues es distribueixen normalment: Si una característica és contínua, se suposa que es distribueix normalment dins de cada classe.
- Les característiques discretes tenen distribucions multinomials: Si una característica és discreta, s'assumeix que té una distribució multinomial dins de cada classe.
- Les característiques són igualment importants: Se suposa que totes les característiques contribueixen per igual a la predicció de l'etiqueta de classe.
- No falten dades: Les dades no han de contenir cap valor que falti.
En relació al nostre conjunt de dades, aquest concepte es pot entendre com:
- Suposem que cap parell de característiques són dependents. Per exemple, que la temperatura sigui 'calenta' no té res a veure amb la humitat o que la perspectiva sigui 'pluviosa' no té cap efecte sobre els vents. Per tant, se suposa que les característiques són independent .
- En segon lloc, cada característica té el mateix pes (o importància). Per exemple, saber només la temperatura i la humitat no pot predir el resultat amb precisió. Cap dels atributs és irrellevant i se suposa que contribueix igualment al resultat.
Les suposicions fetes per Naive Bayes no són generalment correctes en situacions del món real. De fet, la suposició de la independència mai és correcta, però sovint funciona bé a la pràctica. Ara, abans de passar a la fórmula de Naive Bayes, és important conèixer el teorema de Bayes.
Teorema de Bayes
El teorema de Bayes troba la probabilitat que es produeixi un esdeveniment donada la probabilitat que un altre esdeveniment ja s'hagi produït. El teorema de Bayes s'enuncia matemàticament com la següent equació:
on A i B són esdeveniments i P(B) ≠ 0
- Bàsicament, estem intentant trobar la probabilitat de l'esdeveniment A, donat que l'esdeveniment B és cert. L'esdeveniment B també s'anomena com proves .
- P(A) és a priori d'A (la probabilitat prèvia, és a dir, la probabilitat d'un esdeveniment abans que es vegi l'evidència). L'evidència és un valor d'atribut d'una instància desconeguda (aquí, és l'esdeveniment B).
- P(B) és probabilitat marginal: probabilitat d'evidència.
- P(A|B) és la probabilitat a posteriori de B, és a dir, la probabilitat d'un esdeveniment després de veure l'evidència.
- P(B|A) és la probabilitat de versemblança, és a dir, la probabilitat que una hipòtesi es faci realitat a partir de l'evidència.
Ara, pel que fa al nostre conjunt de dades, podem aplicar el teorema de Bayes de la següent manera:
on, y és variable de classe i X és un vector de característiques dependent (de mida n ) on:
Només per aclarir, un exemple d'un vector de característiques i una variable de classe corresponent pot ser: (consulteu la primera fila del conjunt de dades)
X = (Rainy, Hot, High, False)>
y = No>
Així, bàsicament,
En relació al nostre conjunt de dades, aquest concepte es pot entendre com:
- Suposem que cap parell de característiques són dependents. Per exemple, que la temperatura sigui 'calenta' no té res a veure amb la humitat o que la perspectiva sigui 'pluviosa' no té cap efecte sobre els vents. Per tant, se suposa que les característiques són independent .
- En segon lloc, cada característica té el mateix pes (o importància). Per exemple, saber només la temperatura i la humitat no pot predir el resultat amb precisió. Cap dels atributs és irrellevant i se suposa que contribueix igualment al resultat.
Ara, és hora de fer una suposició ingènua al teorema de Bayes, que és, independència entre les característiques. Així que ara, ens dividim proves a les parts independents.
Ara, si dos esdeveniments qualsevol A i B són independents, aleshores,
P(A,B) = P(A)P(B)>
Per tant, arribem al resultat:
que es pot expressar com:
Ara, com que el denominador es manté constant per a una entrada determinada, podem eliminar aquest terme:
Ara, hem de crear un model de classificador. Per a això, trobem la probabilitat d'un conjunt donat d'entrades per a tots els valors possibles de la variable de classe i i recollir la sortida amb la màxima probabilitat. Això es pot expressar matemàticament com:
Així, finalment, ens queda la tasca de calcular
barra d'eines d'accés ràpid de word
Si us plau, tingueu en compte que
Els diferents classificadors Bayes ingenus es diferencien principalment pels supòsits que fan respecte a la distribució de
Intentem aplicar la fórmula anterior manualment al nostre conjunt de dades meteorològiques. Per a això, hem de fer alguns càlculs previs al nostre conjunt de dades.
Hem de trobar
Així, a la figura anterior, hem calculat
A més, hem de trobar probabilitats de classe
Així que ara, hem acabat amb els nostres càlculs previs i el classificador està llest!
Anem a provar-ho amb un nou conjunt de funcions (anomenem-ho avui):
today = (Sunny, Hot, Normal, False)>
i la probabilitat de no jugar a golf ve donada per:
Com que P(avui) és comú en ambdues probabilitats, podem ignorar P(avui) i trobar probabilitats proporcionals com:
i
Ara, des de
Aquests nombres es poden convertir en probabilitat fent que la suma sigui igual a 1 (normalització):
i
Des de
Per tant, la predicció que es jugaria al golf és 'Sí'.
El mètode que hem comentat anteriorment és aplicable a dades discretes. En cas de dades contínues, hem de fer algunes hipòtesis sobre la distribució de valors de cada característica. Els diferents classificadors Bayes ingenus es diferencien principalment pels supòsits que fan respecte a la distribució de
Tipus de model de Bayes ingenu
Hi ha tres tipus de model de Bayes ingenu:
Classificador de Bayes ingenu gaussià
A Gaussian Naive Bayes, se suposa que els valors continus associats a cada característica es distribueixen segons una distribució gaussiana. També s'anomena distribució gaussiana Distribució normal Quan es representa, dóna una corba en forma de campana que és simètrica respecte a la mitjana dels valors de les característiques, tal com es mostra a continuació:
La taula actualitzada de probabilitats prèvies per a la funció de perspectiva és la següent:
S'assumeix que la probabilitat de les característiques és gaussiana, per tant, la probabilitat condicional ve donada per:
Ara, observem una implementació del classificador Gaussian Naive Bayes mitjançant scikit-learn.
| Sí | No | P (Sí) | P(No) |
---|---|---|---|---|
Assolellat | 3 | 2 funcionament intern de hashmap | 3/9 | 2/5 |
Plujós | 4 | 0 | 4/9 | 0/5 |
Ennuvolat | 2 | 3 | 2/9 | 3/5 |
Total | 9 | 5 | 100% | 100% |
Python
# load the iris dataset> from> sklearn.datasets> import> load_iris> iris> => load_iris()> > # store the feature matrix (X) and response vector (y)> X> => iris.data> y> => iris.target> > # splitting X and y into training and testing sets> from> sklearn.model_selection> import> train_test_split> X_train, X_test, y_train, y_test> => train_test_split(X, y, test_size> => 0.4> , random_state> => 1> )> > # training the model on training set> from> sklearn.naive_bayes> import> GaussianNB> gnb> => GaussianNB()> gnb.fit(X_train, y_train)> > # making predictions on the testing set> y_pred> => gnb.predict(X_test)> > # comparing actual response values (y_test) with predicted response values (y_pred)> from> sklearn> import> metrics> print> (> 'Gaussian Naive Bayes model accuracy(in %):'> , metrics.accuracy_score(y_test, y_pred)> *> 100> )> |
Output: Gaussian Naive Bayes model accuracy(in %): 95.0 Multinomial Naive Bayes Feature vectors represent the frequencies with which certain events have been generated by a multinomial distribution. This is the event model typically used for document classification. Bernoulli Naive Bayes In the multivariate Bernoulli event model, features are independent booleans (binary variables) describing inputs. Like the multinomial model, this model is popular for document classification tasks, where binary term occurrence(i.e. a word occurs in a document or not) features are used rather than term frequencies(i.e. frequency of a word in the document). Advantages of Naive Bayes ClassifierEasy to implement and computationally efficient.Effective in cases with a large number of features.Performs well even with limited training data.It performs well in the presence of categorical features. For numerical features data is assumed to come from normal distributionsDisadvantages of Naive Bayes ClassifierAssumes that features are independent, which may not always hold in real-world data.Can be influenced by irrelevant attributes.May assign zero probability to unseen events, leading to poor generalization.Applications of Naive Bayes Classifier Spam Email Filtering : Classifies emails as spam or non-spam based on features. Text Classification : Used in sentiment analysis, document categorization, and topic classification. Medical Diagnosis: Helps in predicting the likelihood of a disease based on symptoms. Credit Scoring: Evaluates creditworthiness of individuals for loan approval. Weather Prediction : Classifies weather conditions based on various factors.As we reach to the end of this article, here are some important points to ponder upon: In spite of their apparently over-simplified assumptions, naive Bayes classifiers have worked quite well in many real-world situations, famously document classification and spam filtering. They require a small amount of training data to estimate the necessary parameters.Naive Bayes learners and classifiers can be extremely fast compared to more sophisticated methods. The decoupling of the class conditional feature distributions means that each distribution can be independently estimated as a one dimensional distribution. This in turn helps to alleviate problems stemming from the curse of dimensionality.ConclusionIn conclusion, Naive Bayes classifiers, despite their simplified assumptions, prove effective in various applications, showcasing notable performance in document classification and spam filtering. Their efficiency, speed, and ability to work with limited data make them valuable in real-world scenarios, compensating for their naive independence assumption. Frequently Asked Questions on Naive Bayes ClassifiersWhat is Naive Bayes real example?Naive Bayes is a simple probabilistic classifier based on Bayes’ theorem. It assumes that the features of a given data point are independent of each other, which is often not the case in reality. However, despite this simplifying assumption, Naive Bayes has been shown to be surprisingly effective in a wide range of applications. Why is it called Naive Bayes?Naive Bayes is called naive because it assumes that the features of a data point are independent of each other. This assumption is often not true in reality, but it does make the algorithm much simpler to compute. What is an example of a Bayes classifier?A Bayes classifier is a type of classifier that uses Bayes’ theorem to compute the probability of a given class for a given data point. Naive Bayes is one of the most common types of Bayes classifiers. What is better than Naive Bayes?There are several classifiers that are better than Naive Bayes in some situations. For example, logistic regression is often more accurate than Naive Bayes, especially when the features of a data point are correlated with each other. Can Naive Bayes probability be greater than 1?No, the probability of an event cannot be greater than 1. The probability of an event is a number between 0 and 1, where 0 indicates that the event is impossible and 1 indicates that the event is certain.>