Bayes naïf : classification probabiliste sur mesure

Tim Filzinger

Avec Naive Bayes, les modèles d'IA peuvent être entraînés à partir de données. Les algorithmes correspondants attribuent des objets à différentes classes en tenant compte de certaines caractéristiques. Un principe de base probabiliste - le théorème de Bayes - permet de déterminer la classe la plus probable. En fournissant des affectations correctes sous forme de données d'apprentissage, il est possible d'obtenir une grande précision de prédiction. Cela fait de Naive Bayes une technique d'apprentissage automatique facile à utiliser et très appréciée.

Qu'est-ce que Naive Bayes ?

Naive Bayes est une méthode de classification probabiliste qui utilise le Théorème de Bayes détermine l'appartenance la plus probable des objets à une classe connue à l'aide de différentes propriétés. Ce principe peut être appliqué pour Modèles d'IA sous la forme de classificateurs naïfs bayésiens, qui distinguent par exemple les documents texte de manière algorithmique en fonction des mots qu'ils contiennent. Les propriétés ou caractéristiques qui renseignent l'algorithme sur l'appartenance à une classe sont appelées caractéristiques. Ces variables peuvent être continues, discrètes, catégorielles ou binaires, selon la nature des données d'entrée. On trouvera une plongée profonde sur ce thème avec une définition plus précise à l'adresse suivante ici.

"Naïf", le processus l'est parce qu'il attribue aux caractéristiques une indépendance statistique les unes par rapport aux autres. Elles doivent en outre toutes contribuer dans la même mesure à la classification finale. Le théorème de Bayes, également connu sous le nom de théorème sous-jacent, a été établi par le mathématicien Thomas Bayes au 18e siècle. Il décrit une formule permettant de calculer la probabilité conditionnelle. En d'autres termes, il s'agit de déterminer la probabilité qu'un événement B se produise si l'événement A fait déjà partie de l'histoire. En termes mathématiques, cela se présente comme suit :

théorème de bayes

Dans ce cas, P(A|B) est la probabilité conditionnelle, P(A) la probabilité que A se produise et P(B) celle que B se produise. Ce principe de base simple permet en quelque sorte une inversion logique des conclusions, également appelée induction à rebours.

Exemple du théorème de Bayes

Une personne a reçu un résultat positif au test rapide du coronavirus. On aimerait maintenant savoir quelle est la probabilité que la personne soit réellement malade. P(A) est la probabilité d'un test positif et P(B) celle d'une maladie réelle. P(A|B) est initialement inconnu, mais P(B|A), à savoir la probabilité que les personnes malades obtiennent également un test positif, peut être facilement déterminé à l'aide de données existantes - tout comme P(A) et P(B). En introduisant simplement le théorème, on obtient finalement la probabilité conditionnelle d'une maladie présente dans cet exemple. Pour une seule caractéristique, le principe est donc rapidement expliqué. Pour un plus grand nombre de caractéristiques et de classes, cela devient vite plus compliqué, raison pour laquelle on laisse volontiers les algorithmes faire le travail.

test corona

Qu'est-ce que Naive Bayes apporte au Machine Learning ?

Pour que les modèles d'IA fournissent des résultats fiables, des principes statistiques de base sont souvent appliqués sur la base de grandes quantités de données d'apprentissage. Outre la régression ou le clustering, c'est également le cas du Naive Bayes. Les algorithmes correspondants sont appelés classificateurs Naive Bayes et sont souvent le premier choix lorsqu'il s'agit de classifier automatiquement des objets et notamment du texte. Ils sont très polyvalents : que ce soit pour les catégories binaires, comme dans l'exemple ci-dessus, ou pour la classification de la structure des données. Classification des textesL'occurrence de chaque mot est une caractéristique unique. En principe, Naive Bayes est évolutif. Il est possible de répartir des objets avec un nombre quelconque de caractéristiques dans un nombre quelconque de classes. Pour chaque combinaison de caractéristique et de classe, l'algorithme calcule la probabilité conditionnelle P(A|B) à l'aide du théorème de Bayes et multiplie pour chaque objet les résultats de toutes les caractéristiques. En fin de compte, l'algorithme choisit la catégorie dont le produit est le plus élevé.

Comme les décisions ne sont "que" des prédictions probabilistes, le classificateur a besoin de Données de formationafin notamment d'estimer le plus précisément possible la probabilité d'inversion P(B|A). Les données comprennent des affectations correctes d'objets dans les classes correspondantes. Logiquement, plus l'algorithme doit prendre en compte de caractéristiques et de catégories, plus il en a besoin. Outre l'exactitude, la précision et le rappel sont également des métriques importantes. Cette dernière décrit la proportion de valeurs correctement classées comme positives. Le score F1 révèle en revanche quelque chose sur la qualité de ces deux critères de qualité, mais ne donne aucune information sur les points à optimiser.

Avantages

Les classificateurs bayésiens naïfs séduisent particulièrement par leur simplicité. Ils sont rapidement entraînés et utilisables, mais peuvent néanmoins être appliqués à des cas complexes. Ils fournissent des résultats relativement précis. C'est surtout le cas lorsque l'hypothèse de base de l'indépendance des différentes caractéristiques est réellement donnée. Dans ce cas, Naive Bayes bat même, à l'aide des métriques ci-dessus, des concurrents tels que la régression logistique, dont les paramètres devraient en outre être déterminés à grands frais par optimisation.

Inconvénients

Dans la pratique, l'indépendance constatée n'est souvent pas garantie pour chaque caractéristique, ce qui affaiblit l'approche Naive Bayes dans certains cas. De plus, elle nécessite une quantité relativement importante de données d'apprentissage, qui doivent couvrir suffisamment chaque classe. Pour les applications très complexes, Naive Bayes est souvent moins performant que les réseaux neuronaux, mais peut au moins servir de modèle de base simple.

3 types de classificateurs

Selon le nombre ou les caractéristiques des caractéristiques et des classes, différentes variantes de classificateurs sont utilisées, qui se distinguent en premier lieu par leur approche mathématique. Les plus populaires sont

Bayes multinomiale naïve

Cette variante est surtout adaptée aux données d'entrée entières et suppose une distribution binomiale pour toutes les variables. Celle-ci décrit le nombre total de résultats positifs d'expériences de Bernoulli répétées. Pour les grands nombres, elle se rapproche de la distribution gaussienne, pour laquelle un type de classificateur spécifique peut être utilisé. L'expression multinomiale est souvent utilisée pour la classification de documents et de textes, où elle compte la fréquence des mots individuels.

coin bernoulli
L'expérience de Bernoulli la plus connue est le lancer d'une pièce de monnaie

Bernoulli Bayes naïve

...est très similaire au type précédent, mais s'en distingue par la représentation des données d'entrée, qui sont ici considérées comme une distribution binaire. Cette variante est également souvent utilisée pour la classification de textes, mais ne distingue que la présence ou l'absence de mots. Cette dernière est gérée comme une fonction séparée - contrairement au Bayes multinomial, où le nombre de fréquence zéro peut poser des problèmes en termes de probabilité zéro.

Bayes gaussien naïf

Nous avons ici la variante déjà évoquée plus haut, qui peut être utilisée aussi bien pour les grands nombres que pour les nombres à virgule. L'essentiel est que les variables d'entrée suivent une distribution normale et puissent donc être décrites par la courbe de Gauss ou la courbe en cloche. C'est souvent le cas dans la pratique pour un grand nombre de cas.

Distribution normale de Gauss

Techniques d'optimisation pour Naive Bayes

Aucun modèle n'est parfait et Naive Bayes a donc aussi ses faiblesses, car même dans ses différentes variantes, il n'est souvent pas adapté de manière optimale aux cas d'application prévus. Afin de résoudre les problèmes qui se posent et de pouvoir utiliser l'algorithme de manière plus spécifique ou plus polyvalente pour l'apprentissage automatique, différentes techniques d'optimisation et de combinaison sont donc utilisées. En voici trois importantes :

Smoothing

...résout le problème déjà mentionné des probabilités nulles, qui apparaît souvent dans les variantes catégoriques de Naive Bayes. Ainsi, lors du calcul de proportions, un petit summand peut être ajouté au numérateur et au dénominateur afin d'obtenir un lissage. L'algorithme apprend ainsi à mieux gérer des classes jusqu'alors "non vues". Si le summand est +1, on parle de smoothing de Laplace - s'il est plus petit, de smoothing de Lidstone.

Ingénierie des fonctionnalités

...n'optimise pas l'algorithme en soi, mais conduit à une qualité nettement plus élevée des caractéristiques d'entrée, dont Naive Bayes dépend fortement. Pour ce faire, les caractéristiques sont transformées, extraites, mises à l'échelle et ainsi rendues "appétissantes" pour le classificateur. Au final, cela permet d'améliorer la précision et de minimiser les erreurs.

Méthodes d'ensemble

Naive Bayes peut être combiné avec d'autres classificateurs afin d'optimiser la performance globale. Dans le cas de ce que l'on appelle l'empilage, des méthodes telles que la régression logistique sont complétées. Toutefois, l'entraînement et la classification sont effectués séparément par chaque technique, jusqu'à ce que les meilleurs résultats soient sélectionnés et les classifications effectuées combinées. L'entraînement de différents classificateurs Naive Bayes avec divers sous-ensembles de données d'entraînement sélectionnés de manière aléatoire est appelé "apprentissage". Bagging et permet de réduire les biais.

Possibilités d'application pratique

En raison de leur polyvalence, les classificateurs bayésiens naïfs sont un choix populaire dans la boîte à outils de l'IA. Après tout, la répartition en différentes classes est également une nécessité importante pour un grand nombre de processus - mais joue certainement le plus grand rôle pour la classification de différents types de textes. Voici deux cas d'application spécifiques :

Filtre anti-spam

Probablement le cas le plus connu de classification de texte. Les spams peuvent être facilement identifiés par l'apparition fréquente de certains mots tels que "gagner", "offre" ou "gratuit", mais aussi par certaines orthographes ou liens. Un classificateur Bayesien naïf n'a besoin pour cela que de données d'apprentissage contenant aussi bien des spams que des courriers légitimes. Il peut ensuite calculer la probabilité conditionnelle de présence d'un spam en fonction de la fréquence des caractéristiques mentionnées. Une procédure similaire est utilisée dans presque toutes les autres formes de classification de texte, comme par exemple dans le cas de la classification des messages. Traitement du langage naturel (NLP) s'applique.

spam
Le terme "spam" vient à l'origine de "spiced ham" et n'a pris son sens de répétition massive que dans un sketch des Monty Python

Gestion des documents

En combinant certaines des technologies d'IA les plus sophistiquées, Konfuzio garantit une gestion globale et entièrement automatisée de l'information. Gestion des documents. Bien entendu, cela ne serait guère possible sans des classifications précises, pour lesquelles on peut également utiliser Naive Bayes.

Conclusion

Naive Bayes est une technique d'apprentissage automatique facile à utiliser et très populaire qui utilise des méthodes de classification probabilistes pour attribuer des objets à différentes classes en fonction de leurs caractéristiques. Bien qu'elle présente certains inconvénients, tels que l'hypothèse d'indépendance des caractéristiques, Naive Bayes offre néanmoins une grande précision de prédiction et peut être utilisée de manière polyvalente. Il existe trois types principaux de classificateurs : multinomial, Bernoulli et gaussien Naive Bayes, qui peuvent être utilisés en fonction de l'application. Les techniques d'optimisation telles que le smoothing, l'ingénierie des caractéristiques et les méthodes d'ensemble peuvent encore améliorer les performances de Naive Bayes. Les cas d'application pratiques vont du filtrage du spam à la gestion des documents, Naive Bayes étant souvent utilisé en combinaison avec d'autres technologies d'IA.

À propos de moi

0 Commentaires

Schreibe einen Kommentar

Autres grands articles

Konfuzio reçoit le label BSFZ tant convoité

Le paysage du deep learning se caractérise par une évolution constante et des percées continues. Konfuzio, un acteur de premier plan dans...

Lire l'article

Guide de développement web : langages de programmation, frameworks et cours

Il y a encore quelques années, l'intérêt des utilisateurs de Google pour les recherches était surtout axé sur des technologies comme HTML et des frameworks comme...

Lire l'article

Konfuzio Labeling Tool- Extraire des données d'images et de PDFs

En tant que Data Scientist ou Annotation Manager, vous êtes peut-être confronté au problème suivant : vous voulez extraire d'une masse de PDF ou...

Lire l'article

    Arrow-up
    Navigation