Naïves Bayes

    Les Algorithmes de Naïves Bayes

    Si vous voulez faire de la science des données, vous devrez faire face aux mathématiques.
    Vous avez obtenu un diplôme en mathématiques ou un autre diplôme mettant l’accent sur les compétences quantitatives, vous vous demandez probablement si tout ce que vous avez appris pour obtenir votre diplôme était utile. Dans cet article, nous allons voir ce que signifie concrètement faire de la science des données et parler de tout ce que vous devez savoir en mathématiques et en particulier étudier l’algorithme de Naïves Bayes.

    Résultat de recherche d'images pour "maths"

    Débutons par ce que signifie “science des données”. Si vous demander à une vingtaine de personnes vous obtiendrez probablement une vingtaine de réponses différentes. Chez le-datascientist.fr, nous définissons la science des données comme la discipline consistant à utiliser des données et des statistiques avancées pour effectuer des prévisions. Il s’agit d’une discipline professionnelle axée sur la création de compréhension à partir de données parfois confuses et disparates.

    Résultat de recherche d'images pour "stats"

    La statistique est la seule discipline mathématique que nous avons mentionnée dans cette définition, mais la science des données implique aussi régulièrement d’autres domaines des mathématiques. L’apprentissage des statistiques est un bon début, mais la science des données utilise également des algorithmes pour faire des prédictions. Ces algorithmes sont appelés algorithmes d’apprentissage automatique et il en existe littéralement des centaines. Expliquer combien de mathématiques sont nécessaires pour chaque type d’algorithme en profondeur n’entre pas dans le cadre de cet article. 

     

    Les classifieurs de type Naïve Bayes

    Introduction:

    Naive Bayes, couramment utilisé dans l’apprentissage automatique, est une collection d’algorithmes de classification basés sur le théorème de Bayes. Ce n’est pas un algorithme unique, mais une famille d’algorithmes. Tous ces algorithmes partagent tous un principe commun, à savoir que chaque caractéristique classée est indépendante de la valeur de toute autre caractéristique.

    Ainsi, par exemple, un légume peut être considéré comme une tomate s’il est rouge, rond et d’environ 6 cm de diamètre. Un classificateur Naive Bayes considère chacune de ces “caractéristiques “(rouge, ronde, 6 cm de diamètre) comme des caractéristiques  indépendantes de la probabilité que le légume soit une tomate, quelles que soient les corrélations existant entre les caractéristiques. Cependant, les caractéristiques ne sont pas toujours indépendantes, ce qui est souvent perçu comme un inconvénient de l’algorithme Naive Bayes et c’est pourquoi il est appelé «naïf».

    Meme si c’est un concept relativement simple, Naive Bayes peut souvent surperformer les algorithmes les plus complexes et est extrêmement utile dans les applications courantes telles que la détection de spam et la classification de documents.
    En gros, l’algorithme nous permet de prédire une classe, étant donné un ensemble de caractéristiques utilisant des probabilités. Ainsi, dans un autre exemple de légume, nous pourrions prédire si un légume est une tomate, une carotte ou une asperge en fonction de sa couleur, de sa forme, et d’autres caractéristiques.

     

    Avantages et inconvénients de Naive Bayes:

    Avantages

    • C’est relativement simple à comprendre et à construire
    • Il est facile à former, même avec un petit jeu de données
    • C’est rapide!
    • Il n’est pas sensible aux caractéristiques non pertinentes

    Désavantages

    • Il implique que chaque fonctionnalité soit indépendante, ce qui n’est pas toujours le cas.

    Les classificateurs de Naïve Bayes sont une famille d’algorithmes reposant sur le principe commun selon lequel la valeur d’une fonctionnalité spécifique est indépendante de la valeur de toute autre fonctionnalité. Ils nous permettent de prédire la probabilité qu’un événement se produise en fonction de conditions que nous connaissons pour les événements en question. Le nom vient du théorème de Bayes, qui peut être écrit mathématiquement comme suit:

    P(A∣B)=P(B∣A)P(A)P(B)

    avec et sont les événements et  0.

    • est une probabilité conditionnelle conditional. Plus précisément, c’est la probabilité que l’événement A se produise sachant que B l’événement s’est déjà produit.
    • est une probabilité conditionnelle. Plus précisément, c’est la probabilité que l’événement B se produise sachant que A l’événement s’est déjà produit.
    • et sont les probabilité des événement et

    Si vous en savoir plus sur les algorithmes de classificateur de Naïve Bayes et de toutes les utilisations du théorème de Bayes, un simple cours de probas suffirait. 

    Si vous êtes encore étudiant dans les domaines IT, je vous conseil fortement de suivre des cours de mathématiques pures et appliquées. Ils peuvent certainement paraître parfois décourageants, mais vous pouvez vous consoler en sachant que vous serez mieux équipé si vous rencontrez ces algorithmes et savez comment les appliquer au mieux.
    En revanche si vous n’êtes pas étudiant, je vous recommande de vous rendre dans votre librairie / bibliotheque la plus proche et de vous renseigner sur les sujets abordés dans ce  post. Si vous pouvez trouver des livres traitant de la probabilité, des statistiques et de l’algèbre linéaire, je vous conseil fortement de lire des ouvrages qui abordent chacun de ces sujets en profondeur afin de vous faire une conception précise de ce qui se passe dans les deux algorithmes de la machine. 

    Conclusion:

    Les mathématiques sont partout dans la science des données. Et même si certains algorithmes de science des données semblent parfois magiques, nous pouvons comprendre les tenants et les aboutissants de nombreux algorithmes sans avoir besoin de beaucoup plus que de l’algèbre et des probabilités et statistiques élémentaires.
    Vous ne voulez pas apprendre de maths? Techniquement, vous pouvez compter sur des bibliothèques d’apprentissage machine telles que scikit-learn pour faire tout cela à votre place. Mais il est très utile pour un scientifique des données de bien comprendre les calculs et les statistiques à la base de ces algorithmes afin de pouvoir choisir le meilleur algorithme pour ses problèmes et ses ensembles de données et ainsi effectuer des prévisions plus précises.

     

    >