SlideShare une entreprise Scribd logo
1  sur  41
Les 10 plus populaires
algorithmes du
Machine Learning
Présenté par : Hakim NASAOUI
LinkedIn : https://www.linkedin.com/in/hakimnasaoui/
Introduction
Dans l'apprentissage automatique, il existe un théorème appelé « No Free
Lunch ». En résumé, il est indiqué qu'aucun algorithme ne fonctionne mieux pour
chaque problème, et qu'il est particulièrement pertinent pour l'apprentissage
supervisé (c'est-à-dire la modélisation prédictive).
Par exemple, vous ne pouvez pas dire que les réseaux de neurones sont toujours
meilleurs que les arbres de décision ou inversement. De nombreux facteurs sont
en jeu, tels que la taille et la structure de votre source de données.
Par conséquent, vous devriez essayer de nombreux algorithmes différents pour
votre problème, tout en utilisant un "ensemble de tests" à conserver pour évaluer
les performances et sélectionner le gagnant.
Bien sûr, les algorithmes que vous essayez doivent être adaptés à votre
problème, c'est-à-dire choisir la bonne tâche d'apprentissage automatique.
Comme analogie, si vous devez nettoyer votre maison, vous pouvez utiliser un
aspirateur, un balai ou une vadrouille, mais vous ne sortiriez pas une pelle et
commenceriez à creuser.
Principe
 Cependant, il existe un principe commun qui sous-tend tous les algorithmes
d'apprentissage automatique supervisé pour la modélisation prédictive.
 Les algorithmes d'apprentissage automatique sont décrits comme
l'apprentissage d'une fonction cible (f) qui mappe le mieux les variables
d'entrée (X) à une variable de sortie (Y): Y = f (X)
 Il s’agit d’une tâche d’apprentissage générale dans laquelle nous aimerions
faire des prévisions dans l’avenir (Y) à partir de nouveaux exemples de
variables d’entrée (X). Nous ne savons pas à quoi ressemble la fonction (f) ni
sa forme. Si nous le faisions, nous l'utilisions directement et nous n'aurions
pas besoin de l'apprendre à partir de données utilisant des algorithmes
d'apprentissage automatique.
Principe
 Le type le plus courant d’apprentissage automatique consiste à apprendre à
mapper Y = f (X) pour établir des prédictions de Y pour le nouveau X. C’est ce
que l’on appelle modélisation prédictive ou analyse prédictive et notre
objectif est de permettre des prédictions aussi précises que possible.
 Pour les débutants en apprentissage automatique désireux de comprendre les
bases de l’apprentissage automatique, voici un survol rapide des 10
principaux algorithmes d’apprentissage automatique utilisés par les
informaticiens.
Vue d'ensemble
Choix de l’algorithme
 Le choix de l'algorithme optimal pour votre problème dépend de ses
fonctionnalités telles que la vitesse, la précision des prévisions, la durée de
la formation, la quantité de données nécessaires à la formation, sa facilité
de mise en œuvre, sa difficulté à l'expliquer à d'autres car une tâche de
grande envergure scientifique doit discuter et expliquer les modèles et les
algorithmes ML et surtout si l’algorithme résout votre problème.
 Un algorithme ne peut pas résoudre tous les problèmes d'apprentissage
machine.
Catégories des algorithmes
d'apprentissages
 Les algorithmes d'apprentissage machine peuvent être regroupés en trois
catégories:
Comparaison d'algorithmes supervisés
(vue d'ensemble)
Régression linéaire
 La régression linéaire est peut-être l’un des algorithmes les plus connus et les
mieux compris en statistique et en apprentissage automatique.
 La modélisation prédictive vise principalement à réduire au minimum l'erreur
d'un modèle ou à rendre les prévisions les plus précises possibles, au
détriment de l'explicabilité. Nous allons emprunter, réutiliser et voler des
algorithmes provenant de nombreux domaines, y compris des statistiques, et
les utiliser à ces fins.
 La représentation de la régression linéaire est une équation qui décrit une
ligne qui correspond le mieux à la relation entre les variables d'entrée (x) et
les variables de sortie (y), en recherchant des pondérations spécifiques pour
les variables d'entrée appelées coefficients (B).
Régression linéaire
Régression linéaire
 Par exemple: y = B0 + B1 * x
 Nous allons prédire y étant donné l'entrée x et l'objectif de l'algorithme
d'apprentissage par régression linéaire est de trouver les valeurs des
coefficients B0 et B1.
 Différentes techniques peuvent être utilisées pour apprendre le modèle de
régression linéaire à partir de données, telles qu'une solution d'algèbre
linéaire pour l'optimisation des moindres carrés ordinaires et la descente de
gradient.
 La régression linéaire existe depuis plus de 200 ans et a fait l'objet de
nombreuses études. L'utilisation de cette technique a pour règle de supprimer
les variables très similaires (corrélées) et d'éliminer le bruit de vos données,
si possible. C'est une technique simple et rapide et un bon premier algorithme
à essayer.
Régression logistique
 La régression logistique est une autre technique empruntée par
l'apprentissage automatique du domaine des statistiques. C'est la méthode de
référence pour les problèmes de classification binaire (problèmes avec deux
valeurs de classe).
 La régression logistique s'apparente à la régression linéaire en ce sens que
l'objectif est de trouver les valeurs des coefficients qui pondèrent chaque
variable d'entrée. Contrairement à la régression linéaire, la prédiction pour la
sortie est transformée à l'aide d'une fonction non linéaire appelée fonction
logistique.
Régression logistique
 La fonction logistique
ressemble à un grand S et
transformera toute valeur
entre 0 et 1. Ceci est utile car
nous pouvons appliquer une
règle à la sortie de la fonction
logistique pour aligner les
valeurs sur 0 et 1 (par
exemple, IF inférieur à 0,5,
puis sortie 1) et prédire une
valeur de classe.
Régression logistique
 En raison de la manière dont le modèle est appris, les prédictions faites par
régression logistique peuvent également être utilisées comme la probabilité
qu'une instance de données donnée appartienne à la classe 0 ou à la classe 1.
Cela peut être utile pour les problèmes pour lesquels vous devez justifier
davantage une prédiction.
 Comme la régression linéaire, la régression logistique fonctionne mieux
lorsque vous supprimez des attributs qui ne sont pas liés à la variable de
sortie, ainsi que des attributs très similaires (corrélés) les uns aux
autres. C'est un modèle rapide à apprendre et efficace sur les problèmes de
classification binaire.
Régression logistique
Avantages Inconvénients
Rapide à entrainer et prévoir Pas très précis
Bon pour les petits problèmes de
données de classification
Ne pas utiliser pour des données non
linéaires
Facile à comprendre Pas flexible pour adapter à des données
complexes
Le modèle finit parfois par sur-adapter
Analyse discriminante linéaire
 La régression logistique est un algorithme de classification traditionnellement
limité aux problèmes de classification à deux classes. Si vous avez plus de
deux classes, l'algorithme d'analyse linéaire discriminante est la technique de
classification linéaire préférée.
 La représentation de LDA est assez simple. Il consiste en des propriétés
statistiques de vos données, calculées pour chaque classe. Pour une seule
variable d'entrée, cela comprend:
 La valeur moyenne pour chaque classe.
 La variance calculée dans toutes les classes.
Analyse discriminante linéaire
Les prédictions sont faites en calculant une valeur
distincte pour chaque classe et en faisant une
prédiction pour la classe avec la plus grande
valeur. La technique suppose que les données ont
une distribution gaussienne (courbe en cloche),
c'est donc une bonne idée de supprimer les
données aberrantes de vos données avant de
commencer. C'est une méthode simple et puissante
pour résoudre les problèmes de modélisation
prédictive.
Arbres de classification et de
régression
 Les arbres de décision constituent un type important d’algorithme pour la
modélisation prédictive.
 La représentation du modèle d'arbre de décision est un arbre binaire. Ceci est
votre arbre binaire d'algorithmes et de structures de données, rien
d'extraordinaire. Chaque nœud représente une variable d'entrée unique (x) et
un point de partage sur cette variable (en supposant que la variable est
numérique).
Arbres de classification et de
régression
Arbres de classification et de
régression
 Les nœuds feuille de l'arbre contiennent une variable de sortie (y) utilisée
pour effectuer une prédiction. Les prédictions sont effectuées en parcourant
les divisions de l’arbre jusqu’à arriver à un nœud feuille et en sortie la valeur
de classe à ce nœud feuille.
 Les arbres sont rapides à apprendre et très rapides pour faire des
prédictions. En outre, ils sont souvent exacts pour un large éventail de
problèmes et ne nécessitent aucune préparation particulière pour vos
données.
Naïve Bayes
 Naïve Bayes est un algorithme simple mais étonnamment puissant pour la
modélisation prédictive.
 Le modèle comprend deux types de probabilités qui peuvent être calculées
directement à partir de vos données d'entraînement: 1) la probabilité de
chaque classe; et 2) La probabilité conditionnelle pour chaque classe étant
donnée chaque valeur x. Une fois calculé, le modèle de probabilité peut être
utilisé pour établir des prévisions pour les nouvelles données à l'aide du
théorème de Bayes. Lorsque vos données ont une valeur réelle, il est courant
de supposer une distribution gaussienne (courbe de cloche) afin de pouvoir
estimer facilement ces probabilités.
Naïve Bayes
Naïve Bayes est appelée naïve car elle suppose que chaque variable d'entrée est
indépendante. Ceci est une hypothèse forte et irréaliste pour des données réelles. Néanmoins,
la technique est très efficace sur un large éventail de problèmes complexes.
Naïve Bayes
 L'algorithme KNN est très simple et très efficace. La représentation du
modèle pour KNN est l’ensemble des données de formation. Simple droit?
 Les prévisions sont établies pour un nouveau point de données en effectuant
une recherche dans l'ensemble complet d'apprentissage pour les K instances
les plus similaires (les voisins) et en résumant la variable de sortie pour ces K
instances. Pour les problèmes de régression, il peut s’agir de la variable de
sortie moyenne. Pour les problèmes de classification, il peut s’agir de la
valeur de classe mode (ou la plus courante).
K-Nearest Neighbor
 L'astuce consiste à déterminer la similarité
entre les instances de données. La technique
la plus simple si vos attributs ont tous la
même échelle (tous en pouces, par exemple)
consiste à utiliser la distance euclidienne, un
nombre que vous pouvez calculer
directement en fonction des différences
entre chaque variable en entrée.
K-Nearest Neighbor
 KNN peut nécessiter beaucoup de mémoire ou d'espace pour stocker toutes
les données, mais effectue uniquement un calcul (ou un apprentissage)
lorsqu'une prévision est nécessaire, juste à temps. Vous pouvez également
mettre à jour et gérer vos instances de formation au fil du temps pour que les
prévisions restent exactes.
 L'idée de distance ou de proximité peut tomber en très grandes dimensions
(beaucoup de variables d'entrée), ce qui peut affecter négativement les
performances de l'algorithme sur votre problème. C'est ce qu'on appelle la
malédiction de la dimensionnalité. Il vous suggère d'utiliser uniquement les
variables d'entrée les plus pertinentes pour prédire la variable de sortie.
K-Nearest Neighbor
Avantages Inconvénients
Simple Mémoire intensive coûteuse
Adaptable au problème Toutes les données de formation
peuvent être impliquées dans la prise
de décision
Précis Ralentissement des performances dû
aux opérations IO
Facile à comprendre Choisir une mauvaise mesure de
distance peut produire des résultats
inexacts
Utilise des arbres spatiaux pour
améliorer les problèmes d'espace
Learning Vector Quantization (LVQ)
 L'inconvénient de K-Nearest Neighbours est que vous devez conserver
l'ensemble de vos données d'entraînement. L'algorithme Learning Vector
Quantization (ou LVQ en abrégé) est un algorithme de réseau de neurones
artificiel qui permet de choisir le nombre d'instances de formation sur
lesquelles se suspendre et d'apprendre exactement à quoi ces instances
devraient ressembler.
Learning Vector Quantization (LVQ)
 La représentation de LVQ est une collection de vecteurs de ‘codebook’. Celles-ci
sont sélectionnées au hasard au début et adaptées pour résumer au mieux
l'ensemble de données d'apprentissage sur un certain nombre d'itérations de
l'algorithme d'apprentissage. Une fois appris, les vecteurs du dictionnaire de codes
peuvent être utilisés pour faire des prédictions, tout comme K-Nearest
Neighbours. Le voisin le plus similaire (vecteur de code correspondant le mieux)
est trouvé en calculant la distance entre chaque vecteur de code et la nouvelle
instance de données. La valeur de classe ou (valeur réelle dans le cas d'une
régression) pour la meilleure unité correspondante est ensuite renvoyée en tant
que prédiction. Les meilleurs résultats sont obtenus si vous redimensionnez vos
données pour qu'elles aient la même plage, par exemple entre 0 et 1.
 Si vous découvrez que KNN donne de bons résultats sur votre jeu de données,
essayez d’utiliser LVQ pour réduire les besoins en mémoire du stockage du jeu de
données d’entraînement complet.
Support Vector Machines (SVM)
 Les machines à vecteurs de support sont peut-être l’un des algorithmes
d’apprentissage automatique les plus populaires et les plus discutés.
 Un hyperplan est une ligne qui divise l’espace variable en entrée. Dans SVM,
un hyperplan est sélectionné pour mieux séparer les points de la variable
d'entrée par leur classe, soit la classe 0, soit la classe 1. En deux dimensions,
vous pouvez visualiser ceci sous forme de ligne et supposons que tous nos
points d'entrée peuvent être complètement séparé par cette
ligne. L'algorithme d'apprentissage SVM recherche les coefficients qui
permettent la meilleure séparation des classes par l'hyperplan.
Support Vector Machines (SVM)
Support Vector Machines (SVM)
 La distance entre l'hyperplan et les points de données les plus proches est
appelée la marge. L'hyperplan optimal ou optimal pouvant séparer les deux
classes est la ligne qui présente la marge la plus grande. Seuls ces points sont
pertinents dans la définition de l'hyperplan et dans la construction du
classificateur. Ces points sont appelés les vecteurs de support. Ils supportent
ou définissent l'hyperplan. En pratique, un algorithme d'optimisation est
utilisé pour trouver les valeurs des coefficients qui maximisent la marge.
 SVM est peut-être l’un des classificateurs les plus puissants prêts à l’emploi et
il vaut la peine d’essayer votre ensemble de données.
Random Forest
 Random Forest est l’un des algorithmes d’apprentissage automatique les plus
populaires et les plus puissants. Il s’agit d’un type d’algorithme
d’apprentissage automatique appelé «Bootstrap Aggregation» ou «bagging».
 Le bootstrap est une méthode statistique puissante permettant d’estimer une
quantité à partir d’un échantillon de données. Comme un moyen. Vous prenez
beaucoup d'échantillons de vos données, calculez la moyenne, puis faites la
moyenne de toutes vos valeurs moyennes pour vous donner une meilleure
estimation de la vraie valeur moyenne.
Random Forest
 Dans la mise en sac, la même approche est utilisée, mais plutôt pour estimer
des modèles statistiques entiers, le plus souvent des arbres de
décision. Plusieurs échantillons de vos données d'entraînement sont prélevés,
puis des modèles sont construits pour chaque échantillon de données. Lorsque
vous devez effectuer une prévision pour les nouvelles données, chaque
modèle en fait une prédiction et la moyenne des prédictions est calculée afin
de fournir une meilleure estimation de la valeur de sortie réelle.
Random Forest
Random Forest
 Random forest est un ‘tweak’ sur cette approche où les arbres de décision
sont créés de telle sorte que plutôt que de sélectionner les points de partage
optimaux, les séparations sous-optimales sont effectuées en introduisant
aléatoire.
 Les modèles créés pour chaque échantillon de données sont donc plus
différents qu'ils ne le seraient autrement, mais restent précis de manière
unique et différente. En combinant leurs prévisions, on obtient une meilleure
estimation de la véritable valeur de sortie sous-jacente.
 Si vous obtenez de bons résultats avec un algorithme à variance élevée
(comme les arbres de décision), vous pouvez souvent obtenir de meilleurs
résultats en ensachant cet algorithme.
Random Forest
Avantages Inconvénients
Très précis Lent à l'entraînement
bon point de départ pour résoudre un
Problème
Sur-adapter
Flexible et peut s'adapter à une variété
de données différentes
Ne convient pas aux petits échantillons
Rapide à exécuter Petit changement dans les données
d'entraînement => changement de modèle
Facile à utiliser Parfois trop simple pour des problèmes
très complexes
Utile pour les problèmes de régression et
de classification
Peut modéliser les valeurs manquantes
Haute performance
Boosting & AdaBoost
 Le boosting est une technique d'ensemble qui tente de créer un classificateur
fort à partir d'un certain nombre de classificateurs faibles. Cela se fait en
construisant un modèle à partir des données d'apprentissage, puis en créant
un deuxième modèle qui tente de corriger les erreurs du premier modèle. Les
modèles sont ajoutés jusqu'à ce que l'ensemble d'apprentissage soit
parfaitement prévu ou jusqu'à ce qu'un nombre maximal de modèles soit
ajouté.
 AdaBoost a été le premier algorithme de boosting réellement réussi
développé pour la classification binaire. C'est le meilleur point de départ pour
comprendre stimuler. Les méthodes de boosting modernes reposent sur
AdaBoost, notamment les machines à boosting de gradient stochastique.
Boosting & AdaBoost
Boosting & AdaBoost
 AdaBoost est utilisé avec des arbres de décision courts. Une fois le premier arbre
créé, les performances de l’arbre sur chaque instance d’entraînement servent à
pondérer le degré d’attention accordé à l’arbre suivant créé qui doit prêter
attention à chaque instance d’entraînement. Les données d'entraînement qui sont
difficiles à prédire ont plus de poids, alors que les cas faciles à prévoir ont moins
de poids. Les modèles sont créés séquentiellement l'un après l'autre, chacun
mettant à jour les pondérations sur les instances d'apprentissage qui affectent
l'apprentissage effectué par l'arborescence suivante de la séquence. Une fois
toutes les arborescences construites, des prédictions sont établies pour les
nouvelles données et la performance de chaque arborescence est pondérée par
son degré de précision par rapport aux données d'apprentissage.
 Étant donné que l'algorithme accorde beaucoup d'attention à la correction des
erreurs, il est important que vous disposiez de données claires, sans données
aberrantes.
Conclusion
Conclusion
 Une question typique posée par un débutant, face à une grande variété
d’algorithmes d’apprentissage automatique, est la suivante: «quel algorithme
dois-je utiliser?». La réponse à la question varie en fonction de nombreux
facteurs, notamment:
1. La taille, la qualité et la nature. de données;
2. Le temps de calcul disponible;
3. L'urgence de la tâche;
4. Et ce que vous voulez faire avec les données.
 Même un scientifique expérimenté ne peut pas dire quel algorithme donnera
les meilleurs résultats avant d’essayer différents algorithmes. Bien qu'il existe
de nombreux autres algorithmes d'apprentissage automatique, ceux-ci sont
les plus populaires.

Contenu connexe

Tendances

Machine Learning et Intelligence Artificielle
Machine Learning et Intelligence ArtificielleMachine Learning et Intelligence Artificielle
Machine Learning et Intelligence ArtificielleSoft Computing
 
Introduction to Machine learning
Introduction to Machine learningIntroduction to Machine learning
Introduction to Machine learningQuentin Ambard
 
Introduction au Machine Learning
Introduction au Machine LearningIntroduction au Machine Learning
Introduction au Machine LearningMathieu Goeminne
 
Intelligence Artificielle - Systèmes experts
Intelligence Artificielle - Systèmes expertsIntelligence Artificielle - Systèmes experts
Intelligence Artificielle - Systèmes expertsMohamed Heny SELMI
 
Intelligence Artificielle - Algorithmes de recherche
Intelligence Artificielle - Algorithmes de rechercheIntelligence Artificielle - Algorithmes de recherche
Intelligence Artificielle - Algorithmes de rechercheMohamed Heny SELMI
 
Data mining - Classification - arbres de décision
Data mining - Classification - arbres de décisionData mining - Classification - arbres de décision
Data mining - Classification - arbres de décisionMohamed Heny SELMI
 
Les arbres de décisions
Les arbres de décisionsLes arbres de décisions
Les arbres de décisionsMariem Chaaben
 
Introduction au datamining, concepts et techniques
Introduction au datamining, concepts et techniquesIntroduction au datamining, concepts et techniques
Introduction au datamining, concepts et techniquesIsmail CHAIB
 
Data mining - Segmentation(k-means, cah)
Data mining - Segmentation(k-means, cah)Data mining - Segmentation(k-means, cah)
Data mining - Segmentation(k-means, cah)Mohamed Heny SELMI
 
exercices business intelligence
exercices business intelligence exercices business intelligence
exercices business intelligence Yassine Badri
 
Rapport data-mining
Rapport data-miningRapport data-mining
Rapport data-miningSawsen Larbi
 
AI Apprentissage Automatique, Machine Learnig
AI Apprentissage Automatique, Machine LearnigAI Apprentissage Automatique, Machine Learnig
AI Apprentissage Automatique, Machine LearnigFelipe Sanchez Garzon
 
5.1 K plus proches voisins
5.1 K plus proches voisins5.1 K plus proches voisins
5.1 K plus proches voisinsBoris Guarisma
 
Rapport pfe isi_Big data Analytique
Rapport pfe isi_Big data AnalytiqueRapport pfe isi_Big data Analytique
Rapport pfe isi_Big data AnalytiqueYosra ADDALI
 
Exposé segmentation
Exposé segmentationExposé segmentation
Exposé segmentationDonia Hammami
 
Le Reseau De Neurones
Le Reseau De NeuronesLe Reseau De Neurones
Le Reseau De Neuronesguestf80d95
 

Tendances (20)

Machine Learning et Intelligence Artificielle
Machine Learning et Intelligence ArtificielleMachine Learning et Intelligence Artificielle
Machine Learning et Intelligence Artificielle
 
Introduction to Machine learning
Introduction to Machine learningIntroduction to Machine learning
Introduction to Machine learning
 
Introduction au Machine Learning
Introduction au Machine LearningIntroduction au Machine Learning
Introduction au Machine Learning
 
Intelligence Artificielle - Systèmes experts
Intelligence Artificielle - Systèmes expertsIntelligence Artificielle - Systèmes experts
Intelligence Artificielle - Systèmes experts
 
Intelligence Artificielle - Algorithmes de recherche
Intelligence Artificielle - Algorithmes de rechercheIntelligence Artificielle - Algorithmes de recherche
Intelligence Artificielle - Algorithmes de recherche
 
Data mining - Classification - arbres de décision
Data mining - Classification - arbres de décisionData mining - Classification - arbres de décision
Data mining - Classification - arbres de décision
 
Deep learning
Deep learningDeep learning
Deep learning
 
5.5 Clustering
5.5 Clustering5.5 Clustering
5.5 Clustering
 
Les arbres de décisions
Les arbres de décisionsLes arbres de décisions
Les arbres de décisions
 
Introduction au datamining, concepts et techniques
Introduction au datamining, concepts et techniquesIntroduction au datamining, concepts et techniques
Introduction au datamining, concepts et techniques
 
Data mining - Segmentation(k-means, cah)
Data mining - Segmentation(k-means, cah)Data mining - Segmentation(k-means, cah)
Data mining - Segmentation(k-means, cah)
 
exercices business intelligence
exercices business intelligence exercices business intelligence
exercices business intelligence
 
Rapport data-mining
Rapport data-miningRapport data-mining
Rapport data-mining
 
AI Apprentissage Automatique, Machine Learnig
AI Apprentissage Automatique, Machine LearnigAI Apprentissage Automatique, Machine Learnig
AI Apprentissage Automatique, Machine Learnig
 
5.1 K plus proches voisins
5.1 K plus proches voisins5.1 K plus proches voisins
5.1 K plus proches voisins
 
Rapport pfe isi_Big data Analytique
Rapport pfe isi_Big data AnalytiqueRapport pfe isi_Big data Analytique
Rapport pfe isi_Big data Analytique
 
Exposé segmentation
Exposé segmentationExposé segmentation
Exposé segmentation
 
Cours datamining
Cours dataminingCours datamining
Cours datamining
 
Data Mining
Data MiningData Mining
Data Mining
 
Le Reseau De Neurones
Le Reseau De NeuronesLe Reseau De Neurones
Le Reseau De Neurones
 

Similaire à Les 10 plus populaires algorithmes du machine learning

Ch6 Introduction à la Science de Données.pdf
Ch6 Introduction à la Science de Données.pdfCh6 Introduction à la Science de Données.pdf
Ch6 Introduction à la Science de Données.pdfnesrinetaamallah
 
Etude comparative des classifieurs Naïve Bayes et SVM
Etude comparative des classifieurs Naïve Bayes et SVMEtude comparative des classifieurs Naïve Bayes et SVM
Etude comparative des classifieurs Naïve Bayes et SVMSamirAwad14
 
modele destimation.pptx
modele destimation.pptxmodele destimation.pptx
modele destimation.pptxzahrakmar
 
fr_Tanagra_Naive_Bayes_Classifier_Explained.pdf
fr_Tanagra_Naive_Bayes_Classifier_Explained.pdffr_Tanagra_Naive_Bayes_Classifier_Explained.pdf
fr_Tanagra_Naive_Bayes_Classifier_Explained.pdfSidiAbdallah1
 
Analyse en composantes principales, ACP, sous SPSS (Principal Component Analy...
Analyse en composantes principales, ACP, sous SPSS (Principal Component Analy...Analyse en composantes principales, ACP, sous SPSS (Principal Component Analy...
Analyse en composantes principales, ACP, sous SPSS (Principal Component Analy...Adad Med Chérif
 
Machine Leargning_supérvisé.pptx
Machine Leargning_supérvisé.pptxMachine Leargning_supérvisé.pptx
Machine Leargning_supérvisé.pptxbely26
 
Fondements du machine learning
Fondements du machine learningFondements du machine learning
Fondements du machine learningFrederic Simard
 
Marketing et Big Data
Marketing et Big DataMarketing et Big Data
Marketing et Big DataJeremy Greze
 
TP Fouille de données (Data Mining) et Apprentissage Machine
TP Fouille de données (Data Mining) et Apprentissage MachineTP Fouille de données (Data Mining) et Apprentissage Machine
TP Fouille de données (Data Mining) et Apprentissage MachineBoubaker KHMILI
 
logistic_regression_ml.pdf
logistic_regression_ml.pdflogistic_regression_ml.pdf
logistic_regression_ml.pdfSidiAbdallah1
 
2 solver d'excel
2 solver d'excel2 solver d'excel
2 solver d'excelkkatia31
 
Apprentissage Automatique et moteurs de recherche
Apprentissage Automatique et moteurs de rechercheApprentissage Automatique et moteurs de recherche
Apprentissage Automatique et moteurs de recherchePhilippe YONNET
 
Algorithmes machine learning/ neural network / deep learning
Algorithmes machine learning/ neural network / deep learningAlgorithmes machine learning/ neural network / deep learning
Algorithmes machine learning/ neural network / deep learningBassem Brayek
 
Présentation sur le Data Mining
Présentation sur le Data MiningPrésentation sur le Data Mining
Présentation sur le Data MiningTakfarinas KENOUCHE
 
Ajustement des données à la Distribution Logistique Multivariée
Ajustement des données à la Distribution Logistique MultivariéeAjustement des données à la Distribution Logistique Multivariée
Ajustement des données à la Distribution Logistique MultivariéeMohamed El Merouani
 

Similaire à Les 10 plus populaires algorithmes du machine learning (20)

Ch6 Introduction à la Science de Données.pdf
Ch6 Introduction à la Science de Données.pdfCh6 Introduction à la Science de Données.pdf
Ch6 Introduction à la Science de Données.pdf
 
Etude comparative des classifieurs Naïve Bayes et SVM
Etude comparative des classifieurs Naïve Bayes et SVMEtude comparative des classifieurs Naïve Bayes et SVM
Etude comparative des classifieurs Naïve Bayes et SVM
 
modele destimation.pptx
modele destimation.pptxmodele destimation.pptx
modele destimation.pptx
 
fr_Tanagra_Naive_Bayes_Classifier_Explained.pdf
fr_Tanagra_Naive_Bayes_Classifier_Explained.pdffr_Tanagra_Naive_Bayes_Classifier_Explained.pdf
fr_Tanagra_Naive_Bayes_Classifier_Explained.pdf
 
Analyse en composantes principales, ACP, sous SPSS (Principal Component Analy...
Analyse en composantes principales, ACP, sous SPSS (Principal Component Analy...Analyse en composantes principales, ACP, sous SPSS (Principal Component Analy...
Analyse en composantes principales, ACP, sous SPSS (Principal Component Analy...
 
Machine Leargning_supérvisé.pptx
Machine Leargning_supérvisé.pptxMachine Leargning_supérvisé.pptx
Machine Leargning_supérvisé.pptx
 
Fondements du machine learning
Fondements du machine learningFondements du machine learning
Fondements du machine learning
 
Comparaison
ComparaisonComparaison
Comparaison
 
Marketing et Big Data
Marketing et Big DataMarketing et Big Data
Marketing et Big Data
 
Analyzing a churn data set
Analyzing a churn data set Analyzing a churn data set
Analyzing a churn data set
 
TP Fouille de données (Data Mining) et Apprentissage Machine
TP Fouille de données (Data Mining) et Apprentissage MachineTP Fouille de données (Data Mining) et Apprentissage Machine
TP Fouille de données (Data Mining) et Apprentissage Machine
 
logistic_regression_ml.pdf
logistic_regression_ml.pdflogistic_regression_ml.pdf
logistic_regression_ml.pdf
 
2 solver d'excel
2 solver d'excel2 solver d'excel
2 solver d'excel
 
Apprentissage Automatique et moteurs de recherche
Apprentissage Automatique et moteurs de rechercheApprentissage Automatique et moteurs de recherche
Apprentissage Automatique et moteurs de recherche
 
Regression logistque
Regression  logistqueRegression  logistque
Regression logistque
 
Questionnaire sous spss
Questionnaire sous spssQuestionnaire sous spss
Questionnaire sous spss
 
Algorithmes machine learning/ neural network / deep learning
Algorithmes machine learning/ neural network / deep learningAlgorithmes machine learning/ neural network / deep learning
Algorithmes machine learning/ neural network / deep learning
 
Présentation sur le Data Mining
Présentation sur le Data MiningPrésentation sur le Data Mining
Présentation sur le Data Mining
 
Ajustement des données à la Distribution Logistique Multivariée
Ajustement des données à la Distribution Logistique MultivariéeAjustement des données à la Distribution Logistique Multivariée
Ajustement des données à la Distribution Logistique Multivariée
 
Les algorithmes de tri
Les algorithmes de triLes algorithmes de tri
Les algorithmes de tri
 

Les 10 plus populaires algorithmes du machine learning

  • 1. Les 10 plus populaires algorithmes du Machine Learning Présenté par : Hakim NASAOUI LinkedIn : https://www.linkedin.com/in/hakimnasaoui/
  • 2. Introduction Dans l'apprentissage automatique, il existe un théorème appelé « No Free Lunch ». En résumé, il est indiqué qu'aucun algorithme ne fonctionne mieux pour chaque problème, et qu'il est particulièrement pertinent pour l'apprentissage supervisé (c'est-à-dire la modélisation prédictive). Par exemple, vous ne pouvez pas dire que les réseaux de neurones sont toujours meilleurs que les arbres de décision ou inversement. De nombreux facteurs sont en jeu, tels que la taille et la structure de votre source de données. Par conséquent, vous devriez essayer de nombreux algorithmes différents pour votre problème, tout en utilisant un "ensemble de tests" à conserver pour évaluer les performances et sélectionner le gagnant. Bien sûr, les algorithmes que vous essayez doivent être adaptés à votre problème, c'est-à-dire choisir la bonne tâche d'apprentissage automatique. Comme analogie, si vous devez nettoyer votre maison, vous pouvez utiliser un aspirateur, un balai ou une vadrouille, mais vous ne sortiriez pas une pelle et commenceriez à creuser.
  • 3. Principe  Cependant, il existe un principe commun qui sous-tend tous les algorithmes d'apprentissage automatique supervisé pour la modélisation prédictive.  Les algorithmes d'apprentissage automatique sont décrits comme l'apprentissage d'une fonction cible (f) qui mappe le mieux les variables d'entrée (X) à une variable de sortie (Y): Y = f (X)  Il s’agit d’une tâche d’apprentissage générale dans laquelle nous aimerions faire des prévisions dans l’avenir (Y) à partir de nouveaux exemples de variables d’entrée (X). Nous ne savons pas à quoi ressemble la fonction (f) ni sa forme. Si nous le faisions, nous l'utilisions directement et nous n'aurions pas besoin de l'apprendre à partir de données utilisant des algorithmes d'apprentissage automatique.
  • 4. Principe  Le type le plus courant d’apprentissage automatique consiste à apprendre à mapper Y = f (X) pour établir des prédictions de Y pour le nouveau X. C’est ce que l’on appelle modélisation prédictive ou analyse prédictive et notre objectif est de permettre des prédictions aussi précises que possible.  Pour les débutants en apprentissage automatique désireux de comprendre les bases de l’apprentissage automatique, voici un survol rapide des 10 principaux algorithmes d’apprentissage automatique utilisés par les informaticiens.
  • 6. Choix de l’algorithme  Le choix de l'algorithme optimal pour votre problème dépend de ses fonctionnalités telles que la vitesse, la précision des prévisions, la durée de la formation, la quantité de données nécessaires à la formation, sa facilité de mise en œuvre, sa difficulté à l'expliquer à d'autres car une tâche de grande envergure scientifique doit discuter et expliquer les modèles et les algorithmes ML et surtout si l’algorithme résout votre problème.  Un algorithme ne peut pas résoudre tous les problèmes d'apprentissage machine.
  • 7. Catégories des algorithmes d'apprentissages  Les algorithmes d'apprentissage machine peuvent être regroupés en trois catégories:
  • 9. Régression linéaire  La régression linéaire est peut-être l’un des algorithmes les plus connus et les mieux compris en statistique et en apprentissage automatique.  La modélisation prédictive vise principalement à réduire au minimum l'erreur d'un modèle ou à rendre les prévisions les plus précises possibles, au détriment de l'explicabilité. Nous allons emprunter, réutiliser et voler des algorithmes provenant de nombreux domaines, y compris des statistiques, et les utiliser à ces fins.  La représentation de la régression linéaire est une équation qui décrit une ligne qui correspond le mieux à la relation entre les variables d'entrée (x) et les variables de sortie (y), en recherchant des pondérations spécifiques pour les variables d'entrée appelées coefficients (B).
  • 11. Régression linéaire  Par exemple: y = B0 + B1 * x  Nous allons prédire y étant donné l'entrée x et l'objectif de l'algorithme d'apprentissage par régression linéaire est de trouver les valeurs des coefficients B0 et B1.  Différentes techniques peuvent être utilisées pour apprendre le modèle de régression linéaire à partir de données, telles qu'une solution d'algèbre linéaire pour l'optimisation des moindres carrés ordinaires et la descente de gradient.  La régression linéaire existe depuis plus de 200 ans et a fait l'objet de nombreuses études. L'utilisation de cette technique a pour règle de supprimer les variables très similaires (corrélées) et d'éliminer le bruit de vos données, si possible. C'est une technique simple et rapide et un bon premier algorithme à essayer.
  • 12. Régression logistique  La régression logistique est une autre technique empruntée par l'apprentissage automatique du domaine des statistiques. C'est la méthode de référence pour les problèmes de classification binaire (problèmes avec deux valeurs de classe).  La régression logistique s'apparente à la régression linéaire en ce sens que l'objectif est de trouver les valeurs des coefficients qui pondèrent chaque variable d'entrée. Contrairement à la régression linéaire, la prédiction pour la sortie est transformée à l'aide d'une fonction non linéaire appelée fonction logistique.
  • 13. Régression logistique  La fonction logistique ressemble à un grand S et transformera toute valeur entre 0 et 1. Ceci est utile car nous pouvons appliquer une règle à la sortie de la fonction logistique pour aligner les valeurs sur 0 et 1 (par exemple, IF inférieur à 0,5, puis sortie 1) et prédire une valeur de classe.
  • 14. Régression logistique  En raison de la manière dont le modèle est appris, les prédictions faites par régression logistique peuvent également être utilisées comme la probabilité qu'une instance de données donnée appartienne à la classe 0 ou à la classe 1. Cela peut être utile pour les problèmes pour lesquels vous devez justifier davantage une prédiction.  Comme la régression linéaire, la régression logistique fonctionne mieux lorsque vous supprimez des attributs qui ne sont pas liés à la variable de sortie, ainsi que des attributs très similaires (corrélés) les uns aux autres. C'est un modèle rapide à apprendre et efficace sur les problèmes de classification binaire.
  • 15. Régression logistique Avantages Inconvénients Rapide à entrainer et prévoir Pas très précis Bon pour les petits problèmes de données de classification Ne pas utiliser pour des données non linéaires Facile à comprendre Pas flexible pour adapter à des données complexes Le modèle finit parfois par sur-adapter
  • 16. Analyse discriminante linéaire  La régression logistique est un algorithme de classification traditionnellement limité aux problèmes de classification à deux classes. Si vous avez plus de deux classes, l'algorithme d'analyse linéaire discriminante est la technique de classification linéaire préférée.  La représentation de LDA est assez simple. Il consiste en des propriétés statistiques de vos données, calculées pour chaque classe. Pour une seule variable d'entrée, cela comprend:  La valeur moyenne pour chaque classe.  La variance calculée dans toutes les classes.
  • 17. Analyse discriminante linéaire Les prédictions sont faites en calculant une valeur distincte pour chaque classe et en faisant une prédiction pour la classe avec la plus grande valeur. La technique suppose que les données ont une distribution gaussienne (courbe en cloche), c'est donc une bonne idée de supprimer les données aberrantes de vos données avant de commencer. C'est une méthode simple et puissante pour résoudre les problèmes de modélisation prédictive.
  • 18. Arbres de classification et de régression  Les arbres de décision constituent un type important d’algorithme pour la modélisation prédictive.  La représentation du modèle d'arbre de décision est un arbre binaire. Ceci est votre arbre binaire d'algorithmes et de structures de données, rien d'extraordinaire. Chaque nœud représente une variable d'entrée unique (x) et un point de partage sur cette variable (en supposant que la variable est numérique).
  • 19. Arbres de classification et de régression
  • 20. Arbres de classification et de régression  Les nœuds feuille de l'arbre contiennent une variable de sortie (y) utilisée pour effectuer une prédiction. Les prédictions sont effectuées en parcourant les divisions de l’arbre jusqu’à arriver à un nœud feuille et en sortie la valeur de classe à ce nœud feuille.  Les arbres sont rapides à apprendre et très rapides pour faire des prédictions. En outre, ils sont souvent exacts pour un large éventail de problèmes et ne nécessitent aucune préparation particulière pour vos données.
  • 21. Naïve Bayes  Naïve Bayes est un algorithme simple mais étonnamment puissant pour la modélisation prédictive.  Le modèle comprend deux types de probabilités qui peuvent être calculées directement à partir de vos données d'entraînement: 1) la probabilité de chaque classe; et 2) La probabilité conditionnelle pour chaque classe étant donnée chaque valeur x. Une fois calculé, le modèle de probabilité peut être utilisé pour établir des prévisions pour les nouvelles données à l'aide du théorème de Bayes. Lorsque vos données ont une valeur réelle, il est courant de supposer une distribution gaussienne (courbe de cloche) afin de pouvoir estimer facilement ces probabilités.
  • 22. Naïve Bayes Naïve Bayes est appelée naïve car elle suppose que chaque variable d'entrée est indépendante. Ceci est une hypothèse forte et irréaliste pour des données réelles. Néanmoins, la technique est très efficace sur un large éventail de problèmes complexes.
  • 23. Naïve Bayes  L'algorithme KNN est très simple et très efficace. La représentation du modèle pour KNN est l’ensemble des données de formation. Simple droit?  Les prévisions sont établies pour un nouveau point de données en effectuant une recherche dans l'ensemble complet d'apprentissage pour les K instances les plus similaires (les voisins) et en résumant la variable de sortie pour ces K instances. Pour les problèmes de régression, il peut s’agir de la variable de sortie moyenne. Pour les problèmes de classification, il peut s’agir de la valeur de classe mode (ou la plus courante).
  • 24. K-Nearest Neighbor  L'astuce consiste à déterminer la similarité entre les instances de données. La technique la plus simple si vos attributs ont tous la même échelle (tous en pouces, par exemple) consiste à utiliser la distance euclidienne, un nombre que vous pouvez calculer directement en fonction des différences entre chaque variable en entrée.
  • 25. K-Nearest Neighbor  KNN peut nécessiter beaucoup de mémoire ou d'espace pour stocker toutes les données, mais effectue uniquement un calcul (ou un apprentissage) lorsqu'une prévision est nécessaire, juste à temps. Vous pouvez également mettre à jour et gérer vos instances de formation au fil du temps pour que les prévisions restent exactes.  L'idée de distance ou de proximité peut tomber en très grandes dimensions (beaucoup de variables d'entrée), ce qui peut affecter négativement les performances de l'algorithme sur votre problème. C'est ce qu'on appelle la malédiction de la dimensionnalité. Il vous suggère d'utiliser uniquement les variables d'entrée les plus pertinentes pour prédire la variable de sortie.
  • 26. K-Nearest Neighbor Avantages Inconvénients Simple Mémoire intensive coûteuse Adaptable au problème Toutes les données de formation peuvent être impliquées dans la prise de décision Précis Ralentissement des performances dû aux opérations IO Facile à comprendre Choisir une mauvaise mesure de distance peut produire des résultats inexacts Utilise des arbres spatiaux pour améliorer les problèmes d'espace
  • 27. Learning Vector Quantization (LVQ)  L'inconvénient de K-Nearest Neighbours est que vous devez conserver l'ensemble de vos données d'entraînement. L'algorithme Learning Vector Quantization (ou LVQ en abrégé) est un algorithme de réseau de neurones artificiel qui permet de choisir le nombre d'instances de formation sur lesquelles se suspendre et d'apprendre exactement à quoi ces instances devraient ressembler.
  • 28. Learning Vector Quantization (LVQ)  La représentation de LVQ est une collection de vecteurs de ‘codebook’. Celles-ci sont sélectionnées au hasard au début et adaptées pour résumer au mieux l'ensemble de données d'apprentissage sur un certain nombre d'itérations de l'algorithme d'apprentissage. Une fois appris, les vecteurs du dictionnaire de codes peuvent être utilisés pour faire des prédictions, tout comme K-Nearest Neighbours. Le voisin le plus similaire (vecteur de code correspondant le mieux) est trouvé en calculant la distance entre chaque vecteur de code et la nouvelle instance de données. La valeur de classe ou (valeur réelle dans le cas d'une régression) pour la meilleure unité correspondante est ensuite renvoyée en tant que prédiction. Les meilleurs résultats sont obtenus si vous redimensionnez vos données pour qu'elles aient la même plage, par exemple entre 0 et 1.  Si vous découvrez que KNN donne de bons résultats sur votre jeu de données, essayez d’utiliser LVQ pour réduire les besoins en mémoire du stockage du jeu de données d’entraînement complet.
  • 29. Support Vector Machines (SVM)  Les machines à vecteurs de support sont peut-être l’un des algorithmes d’apprentissage automatique les plus populaires et les plus discutés.  Un hyperplan est une ligne qui divise l’espace variable en entrée. Dans SVM, un hyperplan est sélectionné pour mieux séparer les points de la variable d'entrée par leur classe, soit la classe 0, soit la classe 1. En deux dimensions, vous pouvez visualiser ceci sous forme de ligne et supposons que tous nos points d'entrée peuvent être complètement séparé par cette ligne. L'algorithme d'apprentissage SVM recherche les coefficients qui permettent la meilleure séparation des classes par l'hyperplan.
  • 31. Support Vector Machines (SVM)  La distance entre l'hyperplan et les points de données les plus proches est appelée la marge. L'hyperplan optimal ou optimal pouvant séparer les deux classes est la ligne qui présente la marge la plus grande. Seuls ces points sont pertinents dans la définition de l'hyperplan et dans la construction du classificateur. Ces points sont appelés les vecteurs de support. Ils supportent ou définissent l'hyperplan. En pratique, un algorithme d'optimisation est utilisé pour trouver les valeurs des coefficients qui maximisent la marge.  SVM est peut-être l’un des classificateurs les plus puissants prêts à l’emploi et il vaut la peine d’essayer votre ensemble de données.
  • 32. Random Forest  Random Forest est l’un des algorithmes d’apprentissage automatique les plus populaires et les plus puissants. Il s’agit d’un type d’algorithme d’apprentissage automatique appelé «Bootstrap Aggregation» ou «bagging».  Le bootstrap est une méthode statistique puissante permettant d’estimer une quantité à partir d’un échantillon de données. Comme un moyen. Vous prenez beaucoup d'échantillons de vos données, calculez la moyenne, puis faites la moyenne de toutes vos valeurs moyennes pour vous donner une meilleure estimation de la vraie valeur moyenne.
  • 33. Random Forest  Dans la mise en sac, la même approche est utilisée, mais plutôt pour estimer des modèles statistiques entiers, le plus souvent des arbres de décision. Plusieurs échantillons de vos données d'entraînement sont prélevés, puis des modèles sont construits pour chaque échantillon de données. Lorsque vous devez effectuer une prévision pour les nouvelles données, chaque modèle en fait une prédiction et la moyenne des prédictions est calculée afin de fournir une meilleure estimation de la valeur de sortie réelle.
  • 35. Random Forest  Random forest est un ‘tweak’ sur cette approche où les arbres de décision sont créés de telle sorte que plutôt que de sélectionner les points de partage optimaux, les séparations sous-optimales sont effectuées en introduisant aléatoire.  Les modèles créés pour chaque échantillon de données sont donc plus différents qu'ils ne le seraient autrement, mais restent précis de manière unique et différente. En combinant leurs prévisions, on obtient une meilleure estimation de la véritable valeur de sortie sous-jacente.  Si vous obtenez de bons résultats avec un algorithme à variance élevée (comme les arbres de décision), vous pouvez souvent obtenir de meilleurs résultats en ensachant cet algorithme.
  • 36. Random Forest Avantages Inconvénients Très précis Lent à l'entraînement bon point de départ pour résoudre un Problème Sur-adapter Flexible et peut s'adapter à une variété de données différentes Ne convient pas aux petits échantillons Rapide à exécuter Petit changement dans les données d'entraînement => changement de modèle Facile à utiliser Parfois trop simple pour des problèmes très complexes Utile pour les problèmes de régression et de classification Peut modéliser les valeurs manquantes Haute performance
  • 37. Boosting & AdaBoost  Le boosting est une technique d'ensemble qui tente de créer un classificateur fort à partir d'un certain nombre de classificateurs faibles. Cela se fait en construisant un modèle à partir des données d'apprentissage, puis en créant un deuxième modèle qui tente de corriger les erreurs du premier modèle. Les modèles sont ajoutés jusqu'à ce que l'ensemble d'apprentissage soit parfaitement prévu ou jusqu'à ce qu'un nombre maximal de modèles soit ajouté.  AdaBoost a été le premier algorithme de boosting réellement réussi développé pour la classification binaire. C'est le meilleur point de départ pour comprendre stimuler. Les méthodes de boosting modernes reposent sur AdaBoost, notamment les machines à boosting de gradient stochastique.
  • 39. Boosting & AdaBoost  AdaBoost est utilisé avec des arbres de décision courts. Une fois le premier arbre créé, les performances de l’arbre sur chaque instance d’entraînement servent à pondérer le degré d’attention accordé à l’arbre suivant créé qui doit prêter attention à chaque instance d’entraînement. Les données d'entraînement qui sont difficiles à prédire ont plus de poids, alors que les cas faciles à prévoir ont moins de poids. Les modèles sont créés séquentiellement l'un après l'autre, chacun mettant à jour les pondérations sur les instances d'apprentissage qui affectent l'apprentissage effectué par l'arborescence suivante de la séquence. Une fois toutes les arborescences construites, des prédictions sont établies pour les nouvelles données et la performance de chaque arborescence est pondérée par son degré de précision par rapport aux données d'apprentissage.  Étant donné que l'algorithme accorde beaucoup d'attention à la correction des erreurs, il est important que vous disposiez de données claires, sans données aberrantes.
  • 41. Conclusion  Une question typique posée par un débutant, face à une grande variété d’algorithmes d’apprentissage automatique, est la suivante: «quel algorithme dois-je utiliser?». La réponse à la question varie en fonction de nombreux facteurs, notamment: 1. La taille, la qualité et la nature. de données; 2. Le temps de calcul disponible; 3. L'urgence de la tâche; 4. Et ce que vous voulez faire avec les données.  Même un scientifique expérimenté ne peut pas dire quel algorithme donnera les meilleurs résultats avant d’essayer différents algorithmes. Bien qu'il existe de nombreux autres algorithmes d'apprentissage automatique, ceux-ci sont les plus populaires.