SlideShare une entreprise Scribd logo
1  sur  20
Télécharger pour lire hors ligne
[Date] Étude Comparatives
des Algorithmes de
Machine Learning
pour la classification
[Sous-titre du document]
IBRAHIM ALI MAHADI
ELEVE INGENIEUR A IAI, TMP
Table des Matière
Intrduction..................................................................................................................................1
I. La regression linéaire..........................................................................................................3
II. K-nn pour la classification et la régression ........................................................................3
1. Presentation......................................................................Erreur ! Signet non défini.
III. La régression logistique une méthode de classification (supervisée) ............................4
IV. Support Vector Machine (SVM) algorithme de classification supervise .......................5
V. Neurals Networks pour la classification et la regression....................................................5
A. Le perceptron, un modèle linéaire parametrique ............................................................5
2. Apprentissage d'un perceptron ....................................................................................7
1. Fonction eureur ...........................................................................................................8
B. Architecture d'un perceptron multi-couche ( multilayer perceptron, souvent abrégé «
MLP », en anglais). ................................................................................................................8
1. Perceptron avec une unique couche intermédiaire......................................................8
2. PERCEPTRON MULTI-COUCHES..........................................................................9
VI. Naïve Bayes un algorithme de classification supervise binaire....................................11
VII. Anomaly Detection .......................................................................................................11
VIII. Decision Trees for classification et regression .............................................................12
IX. K-Means classification non supervisee.........................................................................12
X. Gradient Descent ..............................................................................................................13
XI. Learning Vector Quantization (LVQ) pour la classification et la regression for me....15
XII. RandomForest...............................................................................................................15
XIII. Boosting & AdaBoost...................................................................................................16
XIV. Comparaison des algos de classification.......................................................................16
A. Comparaison d'algorithmes supervisés.........................................................................17
B. Resume Algo.......................................................................Erreur ! Signet non défini.
C. Difference Classifixation regression.............................................................................18
D. Aprentissage supervisee, non supersee et renforcee.....................................................18
XV. Resume.................................................................................Erreur ! Signet non défini.
Introduction
I. La régression linéaire
La régression linéaire explique, de manière linéaire, une variable Y en fonction
d'une variable explicative X
• Relation entre la variable à expliquer et la variable explicative
Y=β1+β2X+ε
• Matriciellement, on peut avoir :
on considère:
• Y est une variable aléatoire, observable ;
• X est une explicative, observable vectorielle ou matricielle;
• β, β1 et β2 sont des paramètres inconnus (non observables);
• ε est une variable aléatoire centrée (autour de 0) de variance σ² inconnue
Pour les régressions linéaires simple et multiple, les erreurs (εi) i∈ {1, …, n} vérifient
pour (i, j) i∈ {1, …, n} ² :
• E(εi) =0 (elles sont centrées autour de 0) ;
• Var(εi) =σ² (leur variance, inconnue, est constante et égale à σ² ) ;
• Cov (εi, εj) =0 si i≠j (elles n'ont pas de dépendance linéaire).
• On ajoute pour le modèle linéaire gaussien multiple ε∼N (0, σ2)
II. K-nn pour la classification et la régression
Le k-NN est le diminutif de k Nearest Neighbors. Est un algorithme aussi répandu que la
régression linéaire. Le principe de ce modèle consiste en effet à choisir les k données les
plus proches du point étudié afin d’en prédire sa valeur.
1. Présentation
Le k-NN est "non paramétrique”, un type spécial d’algorithme qui n’utilise pas de modèle
statistique. Il se base uniquement sur les données d’entraînement. Ce type d’algorithme est
appelé memory-based
Le k-NN, doit conserver toutes les données d'entraînement en mémoire (memory-based).
Aussi choisir le bon nombre de voisins k, en fonction de l’erreur de généralisation du modèle.
K n'est pas un paramètre mais un hyperparamètre, c'est-à-dire que contrairement aux
paramètres classiques, il ne va pas pouvoir être appris automatiquement par l'algorithme à
partir des données d'entraînement
Pour trouver le k optimal, on va simplement tester notre modèle pour tous les k de 2 à 15,
mesurer l’erreur test et afficher la performance en fonction de k :
III. La régression logistique une méthode
de classification (supervisée)
La régression logistique est une méthode statistique pour des classifications binaires. Elle
prend en entrée des variables prédictives qualitatives et/ou ordinales et mesure la probabilité
de la valeur de sortie en utilisant la fonction sigmoïde (figure)
IV. Support Vector Machine (SVM) algorithme de
classification supervise
Machine à Vecteurs de Support (SVM) est un algorithme de classification binaire. Dans
l’image ci-dessus, nous avons deux classes (il s’agit de e-mails, les Spam sont en rouge et les
non spam sont en bleu). La régression Logistique pourra séparer ces deux classes en
définissant le trait en rouge. Le SVM va opter à séparer les deux classes par le trait vert.
Pour des considérations mathématiques, le SVM choisira la séparation la plus nette
possible entre les deux classes (comme le trait vert). C’est pour cela qu’on le nomme
aussi Large Margins classifier (classifieur aux marges larges).
V. Neurals Networks pour la classification et la
régression
B. Le perceptron, un modèle linéaire paramétrique
Le perceptron est formé d'une première couche d'unités (ou neurones) qui permettent de «
lire » les données : chaque unité correspond à une des variables d'entrée. On peut rajouter
une unité de biais qui est toujours activée (elle transmet 1 quelles que soient les données).
Ces unités sont reliées à une seule et unique unité de sortie, qui reçoit la somme des unités
qui lui sont reliées, pondérée par des poids de connexion. Pour p variables x1, x2, …, xp la
sortie reçoit donc w0+∑j=1wjxj L'unité de sortie applique alors une fonction d'activation a à
cette sortie.
Un perceptron prédit donc grâce à une fonction de décision f définie
par f(x)=a(∑pj=1wjxj+w0). C’est un modèle paramétrique.
Perceptron Pour la régression, La fonction d'activation est la fonction identité, elle
retourne ce qu'elle a reçu en entier.
Pour la classification binaire, on peut utiliser une fonction de seuil :
On peut aussi utiliser une fonction sigmoïde pour prédire la probabilité d'appartenir à la
classe positive (la fonction d'activation est la fonction logistique)
Pour la classification multi-classe, Au lieu d'utiliser une seule unité de sortie, le perceptron
va en utiliser autant que de classes. Chacune de ces unités sera connectée à toutes les unités
d'entrée. On aura donc ainsi K.(p+1) poids de connexion, où K est le nombre de classes.
On peut alors utiliser comme fonction d'activation la fonction softmax. Une généralisation de
la sigmoïde.
a) Algorithme DE HEBB
µ est une constante positive.
Initialiser aléatoirement les coefficients wi
Répéter :
Prendre un exemple (e, c) dans S
Calculer la sortie o du réseau
Pour l ’entrée e
Si c ≠ o
Modification des poids wij :
wij = wij + µ ∗ (ai ∗ aj)
Fin Si
Fin Pour
Fin Répéter
2. Apprentissage d'un perceptron
L'entraînement d'un perceptron est un processus itératif. Après chaque observation, nous
allons ajuster les poids de connexion de sorte à réduire l'erreur de prédiction faite par le
perceptron dans son état actuel. Pour cela, nous allons utiliser l'algorithme du gradient :
Ainsi, nous commençons par choisir aléatoirement des valeurs initiales pour nos poids de
connexion. Ensuite, après chaque observation, nous allons appliquer à chacun des poids la
règle de mise à jour suivante :
ηest un hyperparamètre du réseau de neurones, appelé la vitesse
d'apprentissage (ou Learning rate en anglais).
On peut itérer plusieurs fois sur l'intégralité du jeu de données.
a) Apprentissage par l ’algorithme du perceptron
Algorithme
On note S la base d ’apprentissage.
S est composée de couples (x, c) où :
x est le vecteur associé à l ’entrée (x0, x1, …, xn)
c la sortie correspondante souhaitée
On cherche à déterminer les coefficients (w0, w1, …, wn).
Initialiser aléatoirement les coefficients wi.
Répéter :
Prendre un exemple (x, c) dans S
Calculer la sortie o du réseau pour l ’entrée x
Mettre à jour les poids :
Pour i de 0 à n :
wi = wi + ε ∗ (c − o) ∗ xi
Fin Pour
Fin Répéter
1. Fonction erreur
Dans le cas de la régression, nous allons choisir l'erreur quadratique. Pour
la classification, nous allons choisir l'entropie croisée.
C. Architecture d'un perceptron multi-couche (multi layer perceptron,
souvent abrégé « MLP », en anglais).
1. Perceptron avec une unique couche intermédiaire.
La sortie est obtenue en appliquant la fonction d'activation du neurone de sortie à la
combinaison linéaire des sorties de la couche intermédiaire :
Utilisant la fonction logistique la fonction d'activation est alors paramétrique non linéaire
Les réseaux de neurones profonds (Deep Learning) requièrent souvent des quantités massives
de données. On utiliser comme fonction d'activation des couches intermédiaires la
fonction tangente hyperbolique on parle d’architecture feed-forward.
a) Théorème d’approximation universelle
Toute fonction f continue définie sur ℝn peut être approximée, avec une précision arbitraire,
par un réseau de neurones formé d'une seule couche intermédiaire.
2. PERCEPTRON MULTI-COUCHES
On peut interpréter un réseau de neurones multi-couche en considérant que la sortie de
chaque couche intermédiaire est une nouvelle représentation des données.
a) ALGORITHME PERCEPTRON MULTI-COUCHES
Ajout d ’un paramètre inertiel (momentum) β : éviter les oscillations
Algorithme
Initialiser aléatoirement les coefficients wi dans [-0.5 ; 0.5]
Répéter
Prendre un exemple (x, c) de S
Calculer la sortie o
Pour toute cellule de sortie i
δi = σ‘(yi) ∗ (ci − oi) = oi ∗ (1 − oi) ∗ (ci − oi)
Fin Pour
Pour chaque couche de q − 1 à 1
Pour chaque cellule i de la couche courante
δi = σ‘(yi) ∗ [Σ(k ∈ Succ(i)) (δk ∗ wki)]
= oi ∗ (1 − oi) ∗ [Σ(k ∈ Succ(i)) (δk ∗ wki)]
Fin Pour
Fin Pour
Pour tout poids wij à l’itération k
wij(k) = wij(k-1) + ε∗δi ∗ xij + β ∗ (wij(k − 1) - wij(k − 2))
Fin Pour
Fin Répéter
b) CARTE DE KOHONEN
Algorithme d’apprentissage :
Initialiser aléatoirement les coefficients wij
Répéter
Prendre une entrée e = (e1, …, ei, …, en)
Calculer la distance dj de chaque neurone xj par rapport à e
Sélectionner le neurone xk le plus proche de e : dk = Min(dj)
Modifier les coefficients pour le neurone sélectionné et ses plus proches
voisins (4 pour une carte 2D) :
Pour tout i :
wik = wik + µ ∗ (ej − wik)
wil = wil + β ∗ (ej − wil) où xl est un voisin de xk
Fin Pour
Fin Répéter
c) Autre Algo : LES RESEAUX RECURRENTS / BOUCLES
On peut citer également:
• Le RESEAUX DE HOPFIELD
o Réseaux totalement connectés
o Mémoires auto-associatives
• Optimisation : Algorithmes Génétiques AG (rappels)
Naïve Bayes un algorithme de classification supervise
binaire
Naïve Bayes est un classifieur qui se base sur le théorème de Bayes des probabilités
conditionnelles. L’image ci-dessus est la formule du théorème de Bayes.
Naïve Bayes assume une hypothèse forte (naïve). Car on suppose que les variables sont
indépendantes entre elles, Généralement, utilisé pour les classifications de texte.
Anomaly Detection
Anomaly Detection est un algorithme pour détecter des patterns anormaux. Par exemple si
vous receviez dans votre compte en banque 2000€ mensuellement et que un jour vous
déposiez 10 000€ d’un coup. L’algorithme détectera cela comme une anomalie.
Utile pour la détection de fraudes dans les transactions bancaires, et les détections
d’intrusions.
Décision Trees for classification et régression
L’arbre de décision est un algorithme qui se base sur un modèle de graphe (les arbres) pour
définir la décision finale. Chaque nœud comporte une condition, et les branchements sont en
fonction de cette condition (Vrai ou Faux).
K-Means classification non supervisée
Par Exemple lancer une campagne publicitaire on aimerait envoyer un message publicitaire
différent en fonction du public visé. Nous allons d’abord regrouper la population ciblée sous
forme de groupes. Les individus de chaque groupe auront un degré de similarité (âge, salaire
etc…) C’est ce que nous fera l’algorithme K-Means !
Algorithme
Gradient Descent
Le Gradient Descent est un algorithme itératif de minimisation de fonction de coût. Cette
minimisation servira à produire des modèles prédictifs comme la régression logistique et le
linéaire.
d) Apprentissage par descente de gradient : algorithme
Algorithme
Initialiser aléatoirement les coefficients wi.
Répéter :
Pout tout i :
∆wi = 0
Fin Pour
Pour tout exemple (x, c) dans S
Calculer la sortie o du réseau pour l ’entrée x
Pout tout i :
∆wi = ∆wi + ε ∗ (c − o) ∗ xi ∗ σ’(x.w)
Fin Pour
Fin Pour
Pour tout i :
wi = wi + ∆wi
Fin Pour
Fin Répéter
a) Algorithme de rétropropagation du gradient :
Initialiser aléatoirement les coefficients wij dans [-0.5 ; 0.5]
Répéter
Prendre un exemple (x, c) de S
Calculer la sortie o
Pour toute cellule de sortie i
δi = σ‘(yi) ∗ (ci − oi) = oi ∗ (1 − oi) ∗ (ci − oi)
Fin Pour
Pour chaque couche de q − 1 à 1
Pour chaque cellule i de la couche courante
δi = σ’(yi) ∗ [Σ(k ∈ Succ(i)) (δk ∗ wki)] = oi ∗ (1 − oi) ∗ [Σ(k ∈
Succ(i)) (δk ∗ wki)]
Fin Pour
Fin Pour
Pour tout poids wij
wij = wij + ε∗δi ∗ xij
Fin Pour
Fin Répéter
VI. Learning Vector Quantization (LVQ) pour la
classification et la régression for me
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.La représentation de LVQ est une collection de
vecteurs de ‘codebook’.
VII. Random Forest
C’est un type d’algorithme d’apprentissage 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
Random Forest est un ‘tweak’ 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
VIII. 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.
IX. Comparaison des algos de classification
Le choix de l'algorithme optimal pour un 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
Un algorithme ne peut pas résoudre tous les problèmes d'apprentissage
A. Résume Algo
A. Comparaison d'algorithmes supervisés
Algorithme
Typeproblème
Resultantinterpretablepar
vous?
Faciliterd’expliqueràquel
qu’un
precisionproductiveMoyenne
Vitessed'entraînement
Vitessedeprédiction
Quantitéderéglagedes
paramètresnécessaire(à
l'exclusiondelasélectiondes
fonctionnalités)
Fonctionnebienavecunpetit
nombred'observations
Gèrebeaucoupde
fonctionnalitésnon
pertinentes(signalséparédu
bruit)
Apprendreautomatiquement
l'interactiondes
fonctionnalités
Donneuneprobabilité
calibréed'appartenanceàune
classe
Paramétrique?
Fonctionnalitépeutnécessiter
unemiseàl'échelle
knn
l'un
ou
l'autre
Oui Oui
Inféri
eur
Rapi
de
Dépe
nd de
k
Minimal Non Non Non Oui
No
n
Oui
Régressio
nlinéaire
Régr
essio
n
Oui Oui
Inféri
eur
Rapi
de
Rapid
e
Aucun Oui Non Non N/A
Oui
Non
Régressio
n
logistique
Class
ificati
on
Quelque
peu
Quelque
peu
Rapi
de
Rapid
e
Aucun Oui Non Non
Oui Oui
Non
Naïve
bayes
Class
ificati
on
Quelque
peu
Quelque
peu
Inféri
eur
Rapi
de
Rapid
e
Certains
pourles
extraction
s
Oui Oui Non Non
Oui
Non
Arbreà
décision
l'unou
l'autre
Quelque
peu
Quelque
peu
Inféri
eur
Rapi
de
Rapid
e
Certain
Non Non Oui
Peut-
être
No
n
Non
Foret
aléatoire
l'unou
l'autre
Unpeu
Non Élevé Lent
Moye
nne
Certain
Non
Oui(sauf
sile
rapport
debruit
esttrès
élevé)
Oui
Peut-
être
No
n
Non
AdaBoost
l'unou
l'autre
Unpeu
Non Élevé Lent
Rapid
e
Certain
Non Oui Oui
Peut-
être
No
n
Non
Réseaudes
neurones
l'unou
l'autre
Non Non Élevé Lent
Rapid
e
Beaucou
p
Non Oui Oui
Peut-
être
No
n
Oui
B. Différence Classification régression
C. Apprentissage supervisée, non supervisée et renforcée
Résumé

Contenu connexe

Tendances

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
 
Reconnaissance de panneaux de signalisation routière en utilisant la détectio...
Reconnaissance de panneaux de signalisation routière en utilisant la détectio...Reconnaissance de panneaux de signalisation routière en utilisant la détectio...
Reconnaissance de panneaux de signalisation routière en utilisant la détectio...Loghin Dumitru
 
Programmation de systèmes embarqués : BeagleBone Black et Linux embarqué
Programmation de systèmes embarqués : BeagleBone Black et Linux embarquéProgrammation de systèmes embarqués : BeagleBone Black et Linux embarqué
Programmation de systèmes embarqués : BeagleBone Black et Linux embarquéECAM Brussels Engineering School
 
Les systèmes de détection et prévention d’intrusion
Les systèmes de détection et prévention d’intrusionLes systèmes de détection et prévention d’intrusion
Les systèmes de détection et prévention d’intrusionIntissar Dguechi
 
Chapitre 2: Modèle de référence OSI
Chapitre 2: Modèle de référence OSIChapitre 2: Modèle de référence OSI
Chapitre 2: Modèle de référence OSIMohamed Lahby
 
L'algorithme bagging
L'algorithme baggingL'algorithme bagging
L'algorithme bagginghlel
 
Politique de sécurité des systèmes d'information hospitaliers
Politique de sécurité des systèmes d'information hospitaliersPolitique de sécurité des systèmes d'information hospitaliers
Politique de sécurité des systèmes d'information hospitaliersSara SI-MOUSSI
 
Rapport de base de données gaci cui
Rapport de base de données gaci cuiRapport de base de données gaci cui
Rapport de base de données gaci cuiIdir Gaci
 
Risque relatif et odds ratio
Risque relatif et odds ratioRisque relatif et odds ratio
Risque relatif et odds ratioValerie Legout
 
logistic_regression_ml.pdf
logistic_regression_ml.pdflogistic_regression_ml.pdf
logistic_regression_ml.pdfSidiAbdallah1
 
Guide hygiene informatique Anssi
Guide hygiene informatique AnssiGuide hygiene informatique Anssi
Guide hygiene informatique AnssiAgathe Mercante
 
La business Intelligence Agile
La business Intelligence AgileLa business Intelligence Agile
La business Intelligence Agiledihiaselma
 
Introduction_Reseau.ppt
Introduction_Reseau.pptIntroduction_Reseau.ppt
Introduction_Reseau.pptAmalHadri2
 
Atelier Reseaux informatiques
Atelier Reseaux informatiquesAtelier Reseaux informatiques
Atelier Reseaux informatiquesfulgence
 
Cours cryptographie Master 1
Cours cryptographie Master 1Cours cryptographie Master 1
Cours cryptographie Master 1Papis NIANG
 

Tendances (20)

Règles d’association
Règles d’associationRègles d’association
Règles d’association
 
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
 
Reconnaissance de panneaux de signalisation routière en utilisant la détectio...
Reconnaissance de panneaux de signalisation routière en utilisant la détectio...Reconnaissance de panneaux de signalisation routière en utilisant la détectio...
Reconnaissance de panneaux de signalisation routière en utilisant la détectio...
 
Programmation de systèmes embarqués : BeagleBone Black et Linux embarqué
Programmation de systèmes embarqués : BeagleBone Black et Linux embarquéProgrammation de systèmes embarqués : BeagleBone Black et Linux embarqué
Programmation de systèmes embarqués : BeagleBone Black et Linux embarqué
 
Les systèmes de détection et prévention d’intrusion
Les systèmes de détection et prévention d’intrusionLes systèmes de détection et prévention d’intrusion
Les systèmes de détection et prévention d’intrusion
 
Chapitre 2: Modèle de référence OSI
Chapitre 2: Modèle de référence OSIChapitre 2: Modèle de référence OSI
Chapitre 2: Modèle de référence OSI
 
Knn
KnnKnn
Knn
 
L'algorithme bagging
L'algorithme baggingL'algorithme bagging
L'algorithme bagging
 
Politique de sécurité des systèmes d'information hospitaliers
Politique de sécurité des systèmes d'information hospitaliersPolitique de sécurité des systèmes d'information hospitaliers
Politique de sécurité des systèmes d'information hospitaliers
 
mobile banking
mobile bankingmobile banking
mobile banking
 
Cours ALGR M1.pdf
Cours ALGR M1.pdfCours ALGR M1.pdf
Cours ALGR M1.pdf
 
Rapport de base de données gaci cui
Rapport de base de données gaci cuiRapport de base de données gaci cui
Rapport de base de données gaci cui
 
CCNA.pptx
CCNA.pptxCCNA.pptx
CCNA.pptx
 
Risque relatif et odds ratio
Risque relatif et odds ratioRisque relatif et odds ratio
Risque relatif et odds ratio
 
logistic_regression_ml.pdf
logistic_regression_ml.pdflogistic_regression_ml.pdf
logistic_regression_ml.pdf
 
Guide hygiene informatique Anssi
Guide hygiene informatique AnssiGuide hygiene informatique Anssi
Guide hygiene informatique Anssi
 
La business Intelligence Agile
La business Intelligence AgileLa business Intelligence Agile
La business Intelligence Agile
 
Introduction_Reseau.ppt
Introduction_Reseau.pptIntroduction_Reseau.ppt
Introduction_Reseau.ppt
 
Atelier Reseaux informatiques
Atelier Reseaux informatiquesAtelier Reseaux informatiques
Atelier Reseaux informatiques
 
Cours cryptographie Master 1
Cours cryptographie Master 1Cours cryptographie Master 1
Cours cryptographie Master 1
 

Similaire à Comparaison

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
 
TP_Réseaux_de_neurones_Safae_ElOmari.pdf
TP_Réseaux_de_neurones_Safae_ElOmari.pdfTP_Réseaux_de_neurones_Safae_ElOmari.pdf
TP_Réseaux_de_neurones_Safae_ElOmari.pdfSafaeElOmari
 
melange de gaussienne
melange de gaussiennemelange de gaussienne
melange de gaussienneomri med
 
Introduction to Machine learning
Introduction to Machine learningIntroduction to Machine learning
Introduction to Machine learningQuentin Ambard
 
Apprentissage supervisé.pdf
Apprentissage supervisé.pdfApprentissage supervisé.pdf
Apprentissage supervisé.pdfhanamettali
 
Les 10 plus populaires algorithmes du machine learning
Les 10 plus populaires algorithmes du machine learningLes 10 plus populaires algorithmes du machine learning
Les 10 plus populaires algorithmes du machine learningHakim Nasaoui
 
Modélisation non paramétrique_Modèle_SCH (1).pptx
Modélisation non paramétrique_Modèle_SCH (1).pptxModélisation non paramétrique_Modèle_SCH (1).pptx
Modélisation non paramétrique_Modèle_SCH (1).pptxABDERRAHMANALAADSSI
 
Cours algorithmique et complexite complet
Cours algorithmique et complexite completCours algorithmique et complexite complet
Cours algorithmique et complexite completChahrawoods Dmz
 
Cours algorithmique et complexite
Cours algorithmique et complexite Cours algorithmique et complexite
Cours algorithmique et complexite Saddem Chikh
 
Cours algorithmique et complexite complet
Cours algorithmique et complexite completCours algorithmique et complexite complet
Cours algorithmique et complexite completChahrawoods Dmz
 
221027 soutenance math bid.pdf
221027 soutenance math bid.pdf221027 soutenance math bid.pdf
221027 soutenance math bid.pdfjonathanG19
 
FINAL.pptx
FINAL.pptxFINAL.pptx
FINAL.pptxsara6496
 
To_understand_transformers_together presentation
To_understand_transformers_together presentationTo_understand_transformers_together presentation
To_understand_transformers_together presentationbahija babzine
 
les processus VAR et SVAR
les processus VAR et SVAR  les processus VAR et SVAR
les processus VAR et SVAR Anissa ATMANI
 

Similaire à Comparaison (20)

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
 
TP_Réseaux_de_neurones_Safae_ElOmari.pdf
TP_Réseaux_de_neurones_Safae_ElOmari.pdfTP_Réseaux_de_neurones_Safae_ElOmari.pdf
TP_Réseaux_de_neurones_Safae_ElOmari.pdf
 
Regression logistque
Regression  logistqueRegression  logistque
Regression logistque
 
Présentation pfe
Présentation pfePrésentation pfe
Présentation pfe
 
melange de gaussienne
melange de gaussiennemelange de gaussienne
melange de gaussienne
 
Introduction to Machine learning
Introduction to Machine learningIntroduction to Machine learning
Introduction to Machine learning
 
Apprentissage supervisé.pdf
Apprentissage supervisé.pdfApprentissage supervisé.pdf
Apprentissage supervisé.pdf
 
Les 10 plus populaires algorithmes du machine learning
Les 10 plus populaires algorithmes du machine learningLes 10 plus populaires algorithmes du machine learning
Les 10 plus populaires algorithmes du machine learning
 
Modélisation non paramétrique_Modèle_SCH (1).pptx
Modélisation non paramétrique_Modèle_SCH (1).pptxModélisation non paramétrique_Modèle_SCH (1).pptx
Modélisation non paramétrique_Modèle_SCH (1).pptx
 
Mise en oeuvre des framework de machines et deep learning v1
Mise en oeuvre des framework de machines et deep learning v1 Mise en oeuvre des framework de machines et deep learning v1
Mise en oeuvre des framework de machines et deep learning v1
 
Diviser Pour Régner
Diviser Pour RégnerDiviser Pour Régner
Diviser Pour Régner
 
Cours algorithmique et complexite complet
Cours algorithmique et complexite completCours algorithmique et complexite complet
Cours algorithmique et complexite complet
 
Cours algorithmique et complexite
Cours algorithmique et complexite Cours algorithmique et complexite
Cours algorithmique et complexite
 
Cours algorithmique et complexite complet
Cours algorithmique et complexite completCours algorithmique et complexite complet
Cours algorithmique et complexite complet
 
221027 soutenance math bid.pdf
221027 soutenance math bid.pdf221027 soutenance math bid.pdf
221027 soutenance math bid.pdf
 
FINAL.pptx
FINAL.pptxFINAL.pptx
FINAL.pptx
 
To_understand_transformers_together presentation
To_understand_transformers_together presentationTo_understand_transformers_together presentation
To_understand_transformers_together presentation
 
Comment faire disparaître les rides
Comment faire disparaître les ridesComment faire disparaître les rides
Comment faire disparaître les rides
 
les processus VAR et SVAR
les processus VAR et SVAR  les processus VAR et SVAR
les processus VAR et SVAR
 
02systemediapo.pdf
02systemediapo.pdf02systemediapo.pdf
02systemediapo.pdf
 

Comparaison

  • 1. [Date] Étude Comparatives des Algorithmes de Machine Learning pour la classification [Sous-titre du document] IBRAHIM ALI MAHADI ELEVE INGENIEUR A IAI, TMP
  • 2. Table des Matière Intrduction..................................................................................................................................1 I. La regression linéaire..........................................................................................................3 II. K-nn pour la classification et la régression ........................................................................3 1. Presentation......................................................................Erreur ! Signet non défini. III. La régression logistique une méthode de classification (supervisée) ............................4 IV. Support Vector Machine (SVM) algorithme de classification supervise .......................5 V. Neurals Networks pour la classification et la regression....................................................5 A. Le perceptron, un modèle linéaire parametrique ............................................................5 2. Apprentissage d'un perceptron ....................................................................................7 1. Fonction eureur ...........................................................................................................8 B. Architecture d'un perceptron multi-couche ( multilayer perceptron, souvent abrégé « MLP », en anglais). ................................................................................................................8 1. Perceptron avec une unique couche intermédiaire......................................................8 2. PERCEPTRON MULTI-COUCHES..........................................................................9 VI. Naïve Bayes un algorithme de classification supervise binaire....................................11 VII. Anomaly Detection .......................................................................................................11 VIII. Decision Trees for classification et regression .............................................................12 IX. K-Means classification non supervisee.........................................................................12 X. Gradient Descent ..............................................................................................................13 XI. Learning Vector Quantization (LVQ) pour la classification et la regression for me....15 XII. RandomForest...............................................................................................................15 XIII. Boosting & AdaBoost...................................................................................................16 XIV. Comparaison des algos de classification.......................................................................16 A. Comparaison d'algorithmes supervisés.........................................................................17 B. Resume Algo.......................................................................Erreur ! Signet non défini. C. Difference Classifixation regression.............................................................................18 D. Aprentissage supervisee, non supersee et renforcee.....................................................18 XV. Resume.................................................................................Erreur ! Signet non défini.
  • 4. I. La régression linéaire La régression linéaire explique, de manière linéaire, une variable Y en fonction d'une variable explicative X • Relation entre la variable à expliquer et la variable explicative Y=β1+β2X+ε • Matriciellement, on peut avoir : on considère: • Y est une variable aléatoire, observable ; • X est une explicative, observable vectorielle ou matricielle; • β, β1 et β2 sont des paramètres inconnus (non observables); • ε est une variable aléatoire centrée (autour de 0) de variance σ² inconnue Pour les régressions linéaires simple et multiple, les erreurs (εi) i∈ {1, …, n} vérifient pour (i, j) i∈ {1, …, n} ² : • E(εi) =0 (elles sont centrées autour de 0) ; • Var(εi) =σ² (leur variance, inconnue, est constante et égale à σ² ) ; • Cov (εi, εj) =0 si i≠j (elles n'ont pas de dépendance linéaire). • On ajoute pour le modèle linéaire gaussien multiple ε∼N (0, σ2) II. K-nn pour la classification et la régression Le k-NN est le diminutif de k Nearest Neighbors. Est un algorithme aussi répandu que la régression linéaire. Le principe de ce modèle consiste en effet à choisir les k données les plus proches du point étudié afin d’en prédire sa valeur. 1. Présentation Le k-NN est "non paramétrique”, un type spécial d’algorithme qui n’utilise pas de modèle statistique. Il se base uniquement sur les données d’entraînement. Ce type d’algorithme est appelé memory-based
  • 5. Le k-NN, doit conserver toutes les données d'entraînement en mémoire (memory-based). Aussi choisir le bon nombre de voisins k, en fonction de l’erreur de généralisation du modèle. K n'est pas un paramètre mais un hyperparamètre, c'est-à-dire que contrairement aux paramètres classiques, il ne va pas pouvoir être appris automatiquement par l'algorithme à partir des données d'entraînement Pour trouver le k optimal, on va simplement tester notre modèle pour tous les k de 2 à 15, mesurer l’erreur test et afficher la performance en fonction de k : III. La régression logistique une méthode de classification (supervisée) La régression logistique est une méthode statistique pour des classifications binaires. Elle prend en entrée des variables prédictives qualitatives et/ou ordinales et mesure la probabilité de la valeur de sortie en utilisant la fonction sigmoïde (figure)
  • 6. IV. Support Vector Machine (SVM) algorithme de classification supervise Machine à Vecteurs de Support (SVM) est un algorithme de classification binaire. Dans l’image ci-dessus, nous avons deux classes (il s’agit de e-mails, les Spam sont en rouge et les non spam sont en bleu). La régression Logistique pourra séparer ces deux classes en définissant le trait en rouge. Le SVM va opter à séparer les deux classes par le trait vert. Pour des considérations mathématiques, le SVM choisira la séparation la plus nette possible entre les deux classes (comme le trait vert). C’est pour cela qu’on le nomme aussi Large Margins classifier (classifieur aux marges larges). V. Neurals Networks pour la classification et la régression B. Le perceptron, un modèle linéaire paramétrique Le perceptron est formé d'une première couche d'unités (ou neurones) qui permettent de « lire » les données : chaque unité correspond à une des variables d'entrée. On peut rajouter une unité de biais qui est toujours activée (elle transmet 1 quelles que soient les données). Ces unités sont reliées à une seule et unique unité de sortie, qui reçoit la somme des unités qui lui sont reliées, pondérée par des poids de connexion. Pour p variables x1, x2, …, xp la
  • 7. sortie reçoit donc w0+∑j=1wjxj L'unité de sortie applique alors une fonction d'activation a à cette sortie. Un perceptron prédit donc grâce à une fonction de décision f définie par f(x)=a(∑pj=1wjxj+w0). C’est un modèle paramétrique. Perceptron Pour la régression, La fonction d'activation est la fonction identité, elle retourne ce qu'elle a reçu en entier. Pour la classification binaire, on peut utiliser une fonction de seuil : On peut aussi utiliser une fonction sigmoïde pour prédire la probabilité d'appartenir à la classe positive (la fonction d'activation est la fonction logistique) Pour la classification multi-classe, Au lieu d'utiliser une seule unité de sortie, le perceptron va en utiliser autant que de classes. Chacune de ces unités sera connectée à toutes les unités d'entrée. On aura donc ainsi K.(p+1) poids de connexion, où K est le nombre de classes.
  • 8. On peut alors utiliser comme fonction d'activation la fonction softmax. Une généralisation de la sigmoïde. a) Algorithme DE HEBB µ est une constante positive. Initialiser aléatoirement les coefficients wi Répéter : Prendre un exemple (e, c) dans S Calculer la sortie o du réseau Pour l ’entrée e Si c ≠ o Modification des poids wij : wij = wij + µ ∗ (ai ∗ aj) Fin Si Fin Pour Fin Répéter 2. Apprentissage d'un perceptron L'entraînement d'un perceptron est un processus itératif. Après chaque observation, nous allons ajuster les poids de connexion de sorte à réduire l'erreur de prédiction faite par le perceptron dans son état actuel. Pour cela, nous allons utiliser l'algorithme du gradient : Ainsi, nous commençons par choisir aléatoirement des valeurs initiales pour nos poids de connexion. Ensuite, après chaque observation, nous allons appliquer à chacun des poids la règle de mise à jour suivante : ηest un hyperparamètre du réseau de neurones, appelé la vitesse d'apprentissage (ou Learning rate en anglais). On peut itérer plusieurs fois sur l'intégralité du jeu de données.
  • 9. a) Apprentissage par l ’algorithme du perceptron Algorithme On note S la base d ’apprentissage. S est composée de couples (x, c) où : x est le vecteur associé à l ’entrée (x0, x1, …, xn) c la sortie correspondante souhaitée On cherche à déterminer les coefficients (w0, w1, …, wn). Initialiser aléatoirement les coefficients wi. Répéter : Prendre un exemple (x, c) dans S Calculer la sortie o du réseau pour l ’entrée x Mettre à jour les poids : Pour i de 0 à n : wi = wi + ε ∗ (c − o) ∗ xi Fin Pour Fin Répéter 1. Fonction erreur Dans le cas de la régression, nous allons choisir l'erreur quadratique. Pour la classification, nous allons choisir l'entropie croisée. C. Architecture d'un perceptron multi-couche (multi layer perceptron, souvent abrégé « MLP », en anglais). 1. Perceptron avec une unique couche intermédiaire.
  • 10. La sortie est obtenue en appliquant la fonction d'activation du neurone de sortie à la combinaison linéaire des sorties de la couche intermédiaire : Utilisant la fonction logistique la fonction d'activation est alors paramétrique non linéaire Les réseaux de neurones profonds (Deep Learning) requièrent souvent des quantités massives de données. On utiliser comme fonction d'activation des couches intermédiaires la fonction tangente hyperbolique on parle d’architecture feed-forward. a) Théorème d’approximation universelle Toute fonction f continue définie sur ℝn peut être approximée, avec une précision arbitraire, par un réseau de neurones formé d'une seule couche intermédiaire. 2. PERCEPTRON MULTI-COUCHES On peut interpréter un réseau de neurones multi-couche en considérant que la sortie de chaque couche intermédiaire est une nouvelle représentation des données. a) ALGORITHME PERCEPTRON MULTI-COUCHES Ajout d ’un paramètre inertiel (momentum) β : éviter les oscillations Algorithme Initialiser aléatoirement les coefficients wi dans [-0.5 ; 0.5] Répéter Prendre un exemple (x, c) de S Calculer la sortie o Pour toute cellule de sortie i δi = σ‘(yi) ∗ (ci − oi) = oi ∗ (1 − oi) ∗ (ci − oi) Fin Pour Pour chaque couche de q − 1 à 1
  • 11. Pour chaque cellule i de la couche courante δi = σ‘(yi) ∗ [Σ(k ∈ Succ(i)) (δk ∗ wki)] = oi ∗ (1 − oi) ∗ [Σ(k ∈ Succ(i)) (δk ∗ wki)] Fin Pour Fin Pour Pour tout poids wij à l’itération k wij(k) = wij(k-1) + ε∗δi ∗ xij + β ∗ (wij(k − 1) - wij(k − 2)) Fin Pour Fin Répéter b) CARTE DE KOHONEN Algorithme d’apprentissage : Initialiser aléatoirement les coefficients wij Répéter Prendre une entrée e = (e1, …, ei, …, en) Calculer la distance dj de chaque neurone xj par rapport à e Sélectionner le neurone xk le plus proche de e : dk = Min(dj) Modifier les coefficients pour le neurone sélectionné et ses plus proches voisins (4 pour une carte 2D) : Pour tout i : wik = wik + µ ∗ (ej − wik) wil = wil + β ∗ (ej − wil) où xl est un voisin de xk Fin Pour Fin Répéter
  • 12. c) Autre Algo : LES RESEAUX RECURRENTS / BOUCLES On peut citer également: • Le RESEAUX DE HOPFIELD o Réseaux totalement connectés o Mémoires auto-associatives • Optimisation : Algorithmes Génétiques AG (rappels) Naïve Bayes un algorithme de classification supervise binaire Naïve Bayes est un classifieur qui se base sur le théorème de Bayes des probabilités conditionnelles. L’image ci-dessus est la formule du théorème de Bayes. Naïve Bayes assume une hypothèse forte (naïve). Car on suppose que les variables sont indépendantes entre elles, Généralement, utilisé pour les classifications de texte. Anomaly Detection Anomaly Detection est un algorithme pour détecter des patterns anormaux. Par exemple si vous receviez dans votre compte en banque 2000€ mensuellement et que un jour vous déposiez 10 000€ d’un coup. L’algorithme détectera cela comme une anomalie. Utile pour la détection de fraudes dans les transactions bancaires, et les détections d’intrusions.
  • 13. Décision Trees for classification et régression L’arbre de décision est un algorithme qui se base sur un modèle de graphe (les arbres) pour définir la décision finale. Chaque nœud comporte une condition, et les branchements sont en fonction de cette condition (Vrai ou Faux). K-Means classification non supervisée Par Exemple lancer une campagne publicitaire on aimerait envoyer un message publicitaire différent en fonction du public visé. Nous allons d’abord regrouper la population ciblée sous forme de groupes. Les individus de chaque groupe auront un degré de similarité (âge, salaire etc…) C’est ce que nous fera l’algorithme K-Means !
  • 14. Algorithme Gradient Descent Le Gradient Descent est un algorithme itératif de minimisation de fonction de coût. Cette minimisation servira à produire des modèles prédictifs comme la régression logistique et le linéaire. d) Apprentissage par descente de gradient : algorithme Algorithme Initialiser aléatoirement les coefficients wi. Répéter : Pout tout i : ∆wi = 0 Fin Pour
  • 15. Pour tout exemple (x, c) dans S Calculer la sortie o du réseau pour l ’entrée x Pout tout i : ∆wi = ∆wi + ε ∗ (c − o) ∗ xi ∗ σ’(x.w) Fin Pour Fin Pour Pour tout i : wi = wi + ∆wi Fin Pour Fin Répéter a) Algorithme de rétropropagation du gradient : Initialiser aléatoirement les coefficients wij dans [-0.5 ; 0.5] Répéter Prendre un exemple (x, c) de S Calculer la sortie o Pour toute cellule de sortie i δi = σ‘(yi) ∗ (ci − oi) = oi ∗ (1 − oi) ∗ (ci − oi) Fin Pour Pour chaque couche de q − 1 à 1 Pour chaque cellule i de la couche courante δi = σ’(yi) ∗ [Σ(k ∈ Succ(i)) (δk ∗ wki)] = oi ∗ (1 − oi) ∗ [Σ(k ∈ Succ(i)) (δk ∗ wki)] Fin Pour Fin Pour Pour tout poids wij wij = wij + ε∗δi ∗ xij Fin Pour Fin Répéter
  • 16. VI. Learning Vector Quantization (LVQ) pour la classification et la régression for me 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.La représentation de LVQ est une collection de vecteurs de ‘codebook’. VII. Random Forest C’est un type d’algorithme d’apprentissage 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 Random Forest est un ‘tweak’ 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
  • 17. VIII. 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. IX. Comparaison des algos de classification Le choix de l'algorithme optimal pour un 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 Un algorithme ne peut pas résoudre tous les problèmes d'apprentissage A. Résume Algo A. Comparaison d'algorithmes supervisés
  • 18. Algorithme Typeproblème Resultantinterpretablepar vous? Faciliterd’expliqueràquel qu’un precisionproductiveMoyenne Vitessed'entraînement Vitessedeprédiction Quantitéderéglagedes paramètresnécessaire(à l'exclusiondelasélectiondes fonctionnalités) Fonctionnebienavecunpetit nombred'observations Gèrebeaucoupde fonctionnalitésnon pertinentes(signalséparédu bruit) Apprendreautomatiquement l'interactiondes fonctionnalités Donneuneprobabilité calibréed'appartenanceàune classe Paramétrique? Fonctionnalitépeutnécessiter unemiseàl'échelle knn l'un ou l'autre Oui Oui Inféri eur Rapi de Dépe nd de k Minimal Non Non Non Oui No n Oui Régressio nlinéaire Régr essio n Oui Oui Inféri eur Rapi de Rapid e Aucun Oui Non Non N/A Oui Non Régressio n logistique Class ificati on Quelque peu Quelque peu Rapi de Rapid e Aucun Oui Non Non Oui Oui Non Naïve bayes Class ificati on Quelque peu Quelque peu Inféri eur Rapi de Rapid e Certains pourles extraction s Oui Oui Non Non Oui Non Arbreà décision l'unou l'autre Quelque peu Quelque peu Inféri eur Rapi de Rapid e Certain Non Non Oui Peut- être No n Non Foret aléatoire l'unou l'autre Unpeu Non Élevé Lent Moye nne Certain Non Oui(sauf sile rapport debruit esttrès élevé) Oui Peut- être No n Non AdaBoost l'unou l'autre Unpeu Non Élevé Lent Rapid e Certain Non Oui Oui Peut- être No n Non Réseaudes neurones l'unou l'autre Non Non Élevé Lent Rapid e Beaucou p Non Oui Oui Peut- être No n Oui
  • 19. B. Différence Classification régression C. Apprentissage supervisée, non supervisée et renforcée