Vous êtes sur la page 1sur 112

Introduction aux Techniques de Machine

Learning

Gilles MADI WAMBA


gilles.madi@prevision.io
Plan

1. Vue generale

2. Apprentissage supervisé

3. Apprentissage non supervisé

4. Apprentissage par renforcement

5. ML dans la pratique

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 2


Pourquoi le machine learning

Probleme : Algorithme de distinction entre orange et pomme

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 3


Pourquoi le machine learning

Approche : Décider en fonction du ratio des couleurs des pixels.

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 4


Pourquoi le machine learning

Approche : Décider en fonction du ratio des couleurs des pixels.

if( (o/v) <=1)


return "Pomme"
else
return "Orange"
Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 4
Pourquoi le machine learning

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 5


Pourquoi le machine learning

def detection_de couleurs(image)


...

def detection_de_bordure(image)
...

def detection_de_texture(image)
...

def ...

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 6


Pourquoi le machine learning

Le flux traditionnel de traitement n’est pas adéquat pour plusieurs


types de problèmes tel la classification.

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 7


C’est quoi le machine learning

Étude des algorithmes qui apprennent à partir d’exemples et


d’expériences. Ils réalisent des tâches pour lesquelles ils n’ont pas
explicitement été programmés.

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 8


C’est quoi le machine learning

3 grandes étapes :

• Sélection du type de modèle / Algorithme.


• Entraînement du modèle.
• Évaluation du modèle.

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 9


C’est quoi le machine learning

Probleme : Algorithme de distinction entre orange et pomme

1 from sklearn import tree


2 features = [ [140, 1], [130, 1], [150, 0], [170, 1] ]
3 labels = [0, 0, 1, 1]
4 clf = tree.DesisionTreeClassifier()
5 clf = clf.fit(features, label)
6 print clf.predict( [ [150, 0] ] )

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 10


C’est quoi le machine learning

3 types d’algorithmes de machine learning :

• Apprentissage supervisé.
• Apprentissage non supervisé.
• Apprentissage par renforcement.

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 11


Plan

1. Vue generale

2. Apprentissage supervisé
• Presentation
• Algorithmes

3. Apprentissage non supervisé

4. Apprentissage par renforcement

5. ML dans la pratique

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 12


Contenu de la section

Apprentissage supervisé
• Presentation
• Algorithmes

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 13


Apprentissage supervisé : Présentation

Pendant l’apprentissage, on présente des données labellisées dont


on possède des mésures (un vecteur de features) à l’algorithme.
Ces données sont sous forme de tuples (X , y ) :

• X est le vecteur de features (les mesures)


• y est le label (target) d’entrainement

L’apprentissage consiste à apprendre une fonction f qui mappe le


vecteur de features X à la target y : f (X ) = y

• Si les labels sont discrets on parlera de classification.


• Si au contraire les labels sont continus, on parlera de
régression.

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 14


Problèmes de classification

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 15


Problèmes de classification

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 16


Problèmes de régression

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 17


Contenu de la section

Apprentissage supervisé
• Presentation
• Algorithmes

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 18


La régression linéaire

La régression linéaire consiste à déterminer une équation de


droite/plan qui se rapproche au plus près de l’ensemble des points
étudiés.
L’idée est de déterminer les coefficients a et b de l’équation
y = f (X ) = ax + b + 

• y est le label (target)


• X est le vecteur de features
• a et b sont les paramètres du modèle, leur valeur sont
déterminées pendant l’apprentissage en minimisant une
fonction de coût.
•  (facultatif) est le bruit, permet d’éviter le phénomène
d’overfitting
Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 19
La régression linéaire

y = f (X ) = ax + b + 
Dans le cas de la régression simple, a est appelée la pente et b est
appelée la constante.
On utilise ensuite cette équation pour prédire de nouvelles données.
Ce système n’est efficace que si la dimensionnalité des données est
petite.

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 20


La régression logistique

La régression logistique, aussi appelée modèle logit, est un cas


particulier de régression linéaire.
La target y est une variable binomiale, c’est à dire pouvant avoir
seulement 2 états, Vrai/Faux (0/1), d’où le terme logistique.
l’équation
 y = f (X ) devient
0 if σ(f (X )) ≤ s
y=
1 otherwise
où :

• σ est la fonction logistique (sigmoïde)


• σ : R → [0, 1]
• s est une valeur de seuil qui est apprise

,
Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 21
Arbre de décision

Ici la fonction à apprendre est un arbre dont le parcours de la racine


jusqu’à une feuille conduit à une prédiction de la target.

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 22


Arbre de décision

• Chaque nœud interne décrit un test sur un paramètre du


vecteur X
• Chaque branche représente un résultat du test
• Chaque feuille contient la valeur de la variable cible
• une étiquette de classe pour les arbres de classification
• une valeur numérique pour les arbres de régression

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 23


Foret d’arbre de décision

Plusieurs arbres sont entraînés sur des sous-ensembles différents des


données.
La prédiction est obtenue

• En faisant une moyenne des prédictions de chaque arbre pour


les problèmes de régression
• En faisant un vote des prédiction de chaque arbre pour les
problèmes de classification

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 24


Réseau de neuronnes

Un réseau de neurones artificiel est une structure interconnectée de


nœuds ou neurones qui lisent une donnée X en entrée et calcule un
résultat y en sortie

Couche
Couche Couche
de
d’entrée cachée
sortie

x1

x2

x3 Sortie

x4

x5

Un réseau de neurones simple.


Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 25
Réseau de neuronnes

Un réseau de neurones peut avoir plus d’une couche cachée, et le


nombre de neurones dans chaque couche peut varier. Chaque arc
du réseau de neurones est associé à un poids noté w et chaque
neurone est associé à une valeur b appelée biais

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 26


Réseau de neuronnes

Par ailleurs, chaque réseau de neurones est associé à une fonction


appelée fonction d’activation.

Biais
b
x1 w1
Fonction
d’activation Sortie
Entrée x2 w2
Σ f y

Poids
x3 w3

Les différents paramètres d’un réseau de neurones.

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 27


Réseau de neuronnes

Grâce aux pondérations, aux biais et à la fonction d’activation, le


réseau de neurones calcule la sortie y d’une donnée d’entrée
X = (x1 , x2 . . . xk ) suivant l’équation :

Xk
y =f( w i x i + bj ) (1)
i=1

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 28


Réseau de neuronnes

Dans cette formule :

• wi est le poids de l’arc connectant la i me composante de X


(xi ) au neurone j de la couche cachée
• bj est le biais du neurone j de la couche cachée.

Par ailleurs, cette formule suppose que le réseau soit constitué


d’une seule couche cachée, mais peut tout aussi bien être adaptée
pour le cas de réseaux à plusieurs couches cachées.
En général on dénote W la matrice k par m de poids, par B la
matrice m par 1 des biais et par X le vecteur d’entrée de taille k.
Ceci permet de simplifier l’équation :

y = f (WX + B) (2)
Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 29
Réseau de neuronnes

La fonction d’activation communément utilisée est la fonction


sigmoïde σ = 1+e1 −z où z = WX + B.
Le problème d’apprentissage d’un réseau de neurones consiste à
utiliser les données d’apprentissage pour calculer les valeurs des
matrices W et B de façon à minimiser une fonction de coût.
Pour résoudre ce problème, l’algorithme couramment utilisé est
l’algorithme de la descente de gradient.

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 30


Plan

1. Vue generale

2. Apprentissage supervisé

3. Apprentissage non supervisé


• Presentation
• Algorithmes

4. Apprentissage par renforcement

5. ML dans la pratique

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 31


Contenu de la section

Apprentissage non supervisé


• Presentation
• Algorithmes

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 32


Apprentissage non supervisé : Présentation

On a vu que dans le cadre d’un apprentissage supervisé, lorsque les


labels sont discrets on parle de classifiction.
L’apprentissage non supervisé repond à ce meme problème de
classification, cependant les données sur lesquelles reposent
l’apprentissage ne possedent pas de label connus à l’avance.

Classififation supervisée

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 33


Apprentissage non supervisé : Présentation

On a vu que dans le cadre d’un apprentissage supervisé, lorsque les


labels sont discrets on parle de classifiction.
L’apprentissage non supervisé repond à ce meme problème de
classification, cependant les données sur lesquelles reposent
l’apprentissage ne possedent pas de label connus à l’avance.

Classififation supervisée
Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 34
Apprentissage non supervisé : Présentation

On a vu que dans le cadre d’un apprentissage supervisé, lorsque les


labels sont discrets on parle de classifiction.
L’apprentissage non supervisé repond à ce meme problème de
classification, cependant les données sur lesquelles reposent
l’apprentissage ne possedent pas de label connus à l’avance.

Classififation non supervisée

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 35


Apprentissage non supervisé : Présentation

L’algorithme d’apprentissage doit alors trouver une structure dans


le jeu de données.

Clustering

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 36


Apprentissage non supervisé : Présentation

Les algorithmes d’apprentissage non supervisé adressent deux types


de problèmes.

• La classification de données non étiquetées, on parle de


clustering.
• La réduction de dimensions.

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 37


Le clustering

Dans cees algorithmes il n’ya pas d’étape d’apprentissage. Ils


fonctionnent en une seule étape : On alimente l’algorithme avec un
jeu de données et on lui demande de les classer dans 2 ou plusieurs
groupes.

Données non étiquetées Données reparties dans 2 clusters

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 38


Réduction de dimensions

Ces algorithmes permettent de réduire le nombre de dimensions de


chaque donnée dans le jeu de données tout en conservant une
structure cohérente dans le jeu de donées.
La réduction des dimensions d’un jeu de données a deux principales
utilités :
• Faciliter la visualisation des données
• Réduire la puissance de calcul nécessaire pour le traitement
des données.

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 39


Réduction de dimensions

Ces algorithmes permettent de réduire le nombre de dimensions de


chaque donnée dans le jeu de données tout en conservant une
structure cohérente dans le jeu de donées.
La réduction des dimensions d’un jeu de données a deux principales
utilités :
• Faciliter la visualisation des données
• Réduire la puissance de calcul nécessaire pour le traitement
des données.

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 39


Contenu de la section

Apprentissage non supervisé


• Presentation
• Algorithmes

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 40


K-means clustering

L’algorithme du K-means permet de partitionner un ensemble de


données en un nombre k d’ensemble appelés clusters. Pour un
ensemble de données (x1 , x2 , x3 , ..., xn ), le paramètre k(k ≤ n)
spécifiant le nombre de clusters à créer, l’algorithme du K-means
procède en trois étapes :
1. Déterminer les coordonnées de k centroïdes correspondant aux
k clusters.
2. Calculer la distance de chaque objet xi aux k centroïdes
3. Associer chaque objet au centroïde le plus proche.
L’objectif de l’algorithme du K-means
k X
X
arg min ||xj − µi ||2
s
i=1 xj ∈Si

où, µi est le centroïde du cluster Si .


Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 41
K-means clustering

Iteration 1

1 Sélection des centroïdes

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 42


K-means clustering

Iteration 1

2-3 Calculer les distance et associer chaque objet à un centroïde.

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 43


K-means clustering

Iteration 2

1 Sélection des centroïdes

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 44


K-means clustering

Iteration 2
2-3 Calculer les distance et associer chaque objet à un centroïde.

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 45


K-means clustering

On répète le procéssus de façon à minimiser l’objectif


k X
X
arg min ||xj − µi ||2
s
i=1 xj ∈Si

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 46


Plan

1. Vue generale

2. Apprentissage supervisé

3. Apprentissage non supervisé

4. Apprentissage par renforcement


• Presentation
• Algorithmes

5. ML dans la pratique

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 47


Contenu de la section

Apprentissage par renforcement


• Presentation
• Algorithmes

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 48


Apprentissage par renforcement : Présentation

Dans ce type d’algorithme, le but n’est pas de prédire des valeurs


ou de faire faire des classifications. Il n’est donc point question de
données d’apprentissage.

L’idée derriere un algorithme d’apprentissage par renforcement est


qu’un agent apprenne grâce à des interaction avec son
environnement. A chaque action, l’agent reçoit une récompense
positive ou négative. L’objectif de l’agent est de définir une stratégie
permettant de maximiser les récompenses sur le long terme.

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 49


Apprentissage par renforcement : Présentation

L’idée de l’apprentissage par renforcement s’inspire des expériences


naturelles. Les humains apprenent grâce à des interactions.
Example
Etat : Imaginons un enfant à coté d’une cheminée.

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 50


Apprentissage par renforcement : Présentation

Example
Action : il se rapproche de la cheminée
Récompense : sensation de chaleur (récompense positive)

L’enfant apprend que le feu est quelque chose de positif


Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 51
Apprentissage par renforcement : Présentation

Example
Action : il touche la cheminée
Récompense : C’est brûlant (récompense négative)

L’enfant apprend que le feu est quelque chose de positif tant qu’on
y touche pas
Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 52
Apprentissage par renforcement : Boucle de renforcement

Imaginons un agent qui apprend à jouer à Super Mario.

• L’agent reçoit l’état S0


• Il éffectue l’action A0 (avancer vers la droite)
• L’environnement transite vers l’état S1
• L’agent reçoit une récompense R1 (En vie, +1)

L’agent va repeter cette boucle d’état, action, récompense. Le


but de l’agent est de maximiser le cumul des récompenses.

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 53


Apprentissage par renforcement : La récompense

L’apprentissage par renforcement repose sur l’idée de maximiser


une récompense espérée.
Dans chaque probleme d’apprentissage par renfocement, l’objectif à
atteindre est modélisé en terme de maximisation du cumul d’une
récompense espéréeGt
Gt = Rt+1 + Rt+2 + . . .
Gt = T
P
k=0 Rt+k+1

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 54


Apprentissage par renforcement : La récompense

Cependant en réalité, on ne peut pas simplement additionner les


récompense de la sorte. Les récompenses qu’on obtient le plus tôt
sont plus prévisibles que les récompenses sur le long terme

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 55


Apprentissage par renforcement : La récompense

Il est plus probable pour la souris de manger les fromages près


d’elles que celles près du chat.
Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 56
Apprentissage par renforcement : La récompense

Par conséquent, les récompenses près du chat seront réduites,


même si les fromages sont plus gros.

Ceci donne lieu à un paramettre appellé le discount rate dénoté


γ ∈ [0, 1)

• Plus γ est petit, plus les récompenses sont réduite dans le


temps. L’agent se préoccupe en priorité des récompense à
court terme
• Plus γ est grand, plus les récompense dans le temps sont
grandes. L’agent se préoccupe en priorité des récompenses à
long terme

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 57


Apprentissage par renforcement : La récompense

En tenant compte de γ la formule du cumul des récompenses


espérées est :
Gt = ∞ k
P
k=0 γ Rt+k+1 where γ ∈ [0, 1)

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 58


Contenu de la section

Apprentissage par renforcement


• Presentation
• Algorithmes

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 59


Q-Learning

• L’agent est un chevalier qui veut sauver la princesse


emprisonnée dans le château
Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 60
Q-Learning

• L’agent peut se déplacer d’une case à la fois.


• les ennemis ne se déplacent pas.
• L’objectif de l’agent est d’aller au château le plus rapidement
possible.

Les règles du jeu sont les suivantes :

1 L’agent reçoi −1 à chaque étape


2 L’agent reçoit −100 s’il touche lennemi, et la partie se termine.
3 L’agent reçoit 100 s’il est au chateau et gagne la partie.

Comment créer un agent qui va atteindre cet objectif ?

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 61


Q-Learning

Une premiere stratégie est d’explorer toute les cases, et marquer


chaque case en Vert si c’est une case sans danger et Rouge si c’est
une case dangéreuse

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 62


Q-Learning

L’agent n’aura plus qu’à parcourir les cases vertes. Cependant cette
stratégie n’est pas optimale car étant sur une case avec plusieurs
cases vertes adjacentes, l’agent ne sauras pas laquelle explorer et
pourrait ainsi boucler à l’infini.

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 63


Q-Learning

Une premiere stratégie est d’explorer toute les cases, et marquer


chaque case en Vert si c’est une case sans danger et Rouge si c’est
une case dangéreuse

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 64


Q-Learning : La Q-table

Pour optimiser la précédente stratégie, on introduit la q − table.


C’est une table dans laquelle on mettra pour chaque
action et chaque état, la récompense maximale espérée dans le futur.

Ainsi, étant donné un état, l’agent saura la meilleure action à


effectuer.

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 65


Q-Learning : La Q-table

Sur cet exemple, les 0 sont les action impossibles.


Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 66
Q-Learning : La Q-table

En utilisant cette table, l’agent pourra rapidement atteindre son


objectif. Cependant comment calcule t’on chaque valeur dans la
table ?

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 67


Q-Learning : l’Algorithme

L’objectif est d’apprendre la fonction Q, ou fonction action valeur.


Elle prend un couple : ()état, action) et retourne la récompense
maximale espérée dans le futur de cette action à cet état.

Q(st , at ) = E (Rt+1 + γRt+2 + γ 2 Rt+2 + . . . )

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 68


Q-Learning : l’Algorithme

L’algorithme du Q-Learning se résume ainsi :

1 Initialiser la table Q, chosir les valeurs Q(s, a) de façon


arbitraire
2 Repeter jusqu’à la fin de l’apprentissage
2-a Choisir une action (a) dans l’état courant.
2-b Exécuter l’action (a) et observer la le nouvel etat (s 0 ) et la
récompense (r )
2-c Mettre à jour la valeur de Q(s, a)

Q(s, a) ← +α[r + γ max


0
Q(s 0 , a0 ) − Q(s, a)]
a

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 69


Plan

1. Vue generale

2. Apprentissage supervisé

3. Apprentissage non supervisé

4. Apprentissage par renforcement

5. ML dans la pratique
• Sélection d’un modèle
• Diagnostiquer un algorithme de ML
• Se lancer dans un projet ML

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 70


Contenu de la section

ML dans la pratique
• Sélection d’un modèle
• Diagnostiquer un algorithme de ML
• Se lancer dans un projet ML

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 71


Entraînement et test

• Découpage du jeu de données en deux ensembles, methode du


"hold out"
1 L’ensemble d’apprentissage (généralement 80%)
2 L’ensemble de test (généralement 20%)

L’idée est d’entraîner le modèle sur le jeu d’apprentissage, et


de le valider sur l’ensemble de test. Pendant l’apprentissage, le
modèle n’est pas exposé aux données de test. Cette façon de
faire nous donne une indication des performances du modèle
sur de nouvelles données.

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 72


Métrique de validation

Comment être sûr de la qualité d’un modèle ? En utilisant une


métrique d’évaluation. C’est une fonction de coût appellée loss

n
1X
loss(f ) = loss(yi , f (xi )) Pour tout xi dans l’ensemble de test
n
i=1

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 73


Exemples de métrique

• Erreur de classification

1 si sign(y ) 6= sign(f (x ))
i i
loss(yi , f (xi )) =
0 sinon

Cette métrique permet de compter le nombre d’objets mal


classifiés par le modèle.

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 74


Exemples de métrique

• Erreur quadractique

loss(yi , f (xi )) = (yi − f (xi ))2

L’érreur quadractique moyenne pénalise beaucoup plus les


érreur à grande amplitude. Il est donc conseillé d’utiliser cette
métrique quand on veut minimiser les magnitudes d’erreurs du
modèle.

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 75


Exemples de métrique

• Erreur absolue

loss(yi , f (xi )) =| yi − f (xi ) |

Tout comme l’érreur quadractique, l’érreur absolue ne tient


pas compte du signe de l’érreur. A amplitude égale, une
prédiction supérieur à la valeur réelle est identique à une
prédiction inférieure à la valeur réelle.

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 76


Contenu de la section

ML dans la pratique
• Sélection d’un modèle
• Diagnostiquer un algorithme de ML
• Se lancer dans un projet ML

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 77


Généralisation d’un modèle

La généralisation d’un modèle désigne son aptitude a produire de


bonne performances sur de nouvelles données. Les deux principales
raisons pour lesquelles un modèle pourrait mal généraliser reposent
sur les notion de Biais et de Variance
Considérons le problème de régression suivant.

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 78


Généralisation d’un modèle

Un modèle raisonnable

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 79


Compromis Biais-Variance

• Le Biais. Le biais désigne la différence globale entre la


prédiction du modèle et la valeur réelle. Les erreurs dues au
biais arrivent lorsque qu’on éssai d’approximer une fonction
compliquée par un modèle trop simpliste. C’est le cas par
exemple lorsqu’un réseau de neurones contient trop peu de
neurones. Un fort biais se traduit en général par un sous
apprentissage (underfitting )

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 80


Compromis Biais-Variance

Un modèle à fort biais

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 81


Compromis Biais-Variance

• La variance. La variance désigne la variation de performance


d’un modèle en fonction des données d’apprentissage. Quand
un modèle a une forte variance, de petits changement dans les
données d’apprentissage entraînent de grosses variations de
performances du modèle.

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 82


Compromis Biais-Variance

Un modèle à forte variance

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 83


Compromis Biais-Variance

L’image ci-dessous schématise les erreurs dues au biais et à la


variance. Chaque point bleu représente la performance du même
modèle sur un jeu d’entraînement différent.

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 84


Compromis Biais-Variance

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 85


Diagnostiquer le biais et la variance

En général, le biais (underfit) et la variance (overfit) se


diagnostiquent assez facilement en observant les courbes
d’apprentissage du modèle.

Courbe type d’apprentissage d’un bon modèle

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 86


Diagnostiquer le biais et la variance

Courbe type d’un modèle à fort biais (underfitting)

• Les loss en entraînement et en validation cessent rapidement


de décroître.
• La valeur de la loss est inacceptablement élevée.
Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 87
Diagnostiquer le biais et la variance

Courbe type d’un modèle à forte variance (overfitting)

• La loss en entraînement ne cesse pas de décroître.


• La loss en validation se remet à croître au bout d’un moment.
Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 88
Lutter contre le sur apprentissage

• Arreter l’entraînement au bon moment.

On a vu que dans les courbes présentant un sur apprentissage, la


loss de validation se remet à croitre au bout d’un moment. Ceci se
produit quand le modèle a eu le temps de totalement se calquer aux
donner d’entraînement, et par conséquent performe mal sur de
nouvelles données en validation. L’idée est alors de stopper
l’entraînement une fois qu’on détecte ce phénomène. Cette
methode s’appelle early stopping

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 89


Lutter contre le sur apprentissage

• Réduire le nombre de variables du modèle.

Les variables d’un modèle sont les paramettres qui permettent au


modèle d’apprendre la structure cachée dans les données
d’apprentissage. Plus ces variables sont nombreuses, plus le modele
est capable de se calquer sur les données d’apprentissage. Un
modèle avec un très grand nombre de variables risque ainsi
d’apprendre le bruit spécifique au données d’apprentissage, et non
la structure générale de ces dernières. On parle donc de
surapprentissage. Pour éviter cette situation, il est recommendé de
réduire le nombre de variables du modèle, on parle de efeature
selection

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 90


Lutter contre le sur apprentissage

• Augmenter le nombre de données d’entraînement.

Plus les données d’entraînement sont nombreuses, moins il est


facile pour le modèle de se calquer aux donner d’apprentissage

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 91


Lutter contre le sur apprentissage

• Séparer les données en 3, entraînement, validation et test.


1 Comme précédemment, l’ensemble d’entraînement permet
d’entraîner le modèle.
2 L’ensemble de validation permet de tuner le modèle et de
choisir les bons paramètres. La validation permet de contrôler
l’overfitting.
3 Comme précédemment, l’ensemble de test permet d’évaluer le
modèle final.

Partition entraînement, validation test

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 92


Lutter contre le sur apprentissage

• La validation croisée.

Les données sont séparées en deux, de façon itérative et en utilisant


des partitions différentes à chaque fois. Ainsi a chaque run le
modèle est entraîné sur un jeu différent. cette méthode permet de
rapidement diagnostiquer un sur apprentissage car les perfomance
varieraient alors fortement d’une itération à l’autre. La performance
finale du modèle et obtenu en faisant la moyenne des performances
obtenues à toutes les itérations

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 93


Lutter contre le sur apprentissage

• Utiliser la régularisation.

Nous avons vu que pour évaluer un modèle on calcule sa loss


suivant la formule :

n
1X
loss(f ) = loss(yi , f (xi ))
n
i=1

La régularisation est un terme R(f ) qui qu’on ajoute à cette loss.


La loss à minimiser au cour de l’apprentissage devient alors :

n
1X
loss(f ) = loss(yi , f (xi )) + R(f )
n
i=1

Ce paramètre de régularisation fait en sorte que le modèle a plus de


mal à se calquer sur les données d’entraînement.
Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 94
Contenu de la section

ML dans la pratique
• Sélection d’un modèle
• Diagnostiquer un algorithme de ML
• Se lancer dans un projet ML

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 95


Machine Learning Canvas

Les systemes de machine learning sont complexes.


En général dans le monde de l’entreprise, les équipent capable de
créer les modèles prédictifs sont différentes des équipes qui capables
de s’en servir pour prendre les bonnes décisions pour l’entreprise.
Il arrive très souvent que les ingénieurs passent beaucoup de temps
à trouver des solutions au mauvais problème, les models ainsi
construits ne sont jamais utilisé.
Une façon de résoudre ces problématiques passe par des canvas.

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 96


Machine Learning Canvas

Le machine learning canvas permet de décrire tous les aspects


entrant en jeu dans un cas d’usage de machine learning

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 97


Machine Learning Canvas

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 98


ML Canvas : Value Proposition

C’est la première étape lorsqu’on se lance dans un projet de ML en


entreprise, il s’agit de la valeur ajoutée du modèle.
Les questions à répondre sont :

• Qui Qui est l’utilisateur final du modèle prédictif ?


• Quoi Qu’est-ce qu’on apporte à l’utilisateur final ?
• Pourquoi En quoi le modèle prédictif est-il important ?

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 99


ML Canvas : Data source

Ce bloc permet de penser à l’origine des données du modèle :

• Open data
• API
• Papiers de recherche
• Données du web
• Données internes
• Etc...

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 100


ML Canvas : Collecting Data

La question à laquelle répond ce bloc est Comment est ce qu’on


obtient les données (entrées et sortie) du modèle ? Ce bloc pose
aussi la prolématique de la qualité des données, l’étiquetage des
données.

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 101


ML Canvas : Features

Ce bloc traite de la sélection des variables du modèle, on parle de


feature engineering.
C’est une étape tres importante car la qualité d’un modèle est
étroitement lié à la qualité des features du modèle.

• Trop peu de variable conduit à l’underfit, i.e un modèle à fort


biais.
• Trop de variables conduit à l’overfit, i.e un modèle à forte
variance.
• Des variables insignifiantes augmentent la complexité du
modèle sans pour autant augmenter les performances.

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 102


ML Canvas : Building Models

Ce bloc adresse les problématiques de création et de mise à jour du


modèle. Mettre un modèle à jour signifie le ré-entraîner. Quand
faut-il le faire ? On met un modèle à jour pour deux principales
raisons :

1 L’amélioration des performances du modèle avec de nouvelles


données.
2 L’évolution de la distribution des données.

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 103


ML Canvas : ML Task

Ce bloc permet de définir le type de problème de machine learning


auquel on a à faire.

• Classification.
• Régression.
• Classement (Systèmes de recommandation).

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 104


ML Canvas : Offline Evaluation

Ce bloc répond à la problématique d’évaluation du modèle machine


learning. Il s’agira d’utiliser les méthodes et métriques classiques
pour évaluer le modèle avant déploiement.

• Séparation entraînement/test.
• Validation croisée.
• fonctions de coût.
• etc...

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 105


ML Canvas : Making Predictions

Ce bloc répond à la question quand faut-il faire des prédictions ?

• De façon planifiée
• De façon événementielle
• A la demande

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 106


ML Canvas : Décisions

Comment est ce que les prédictions du modèle sont utilisées pour


produire de la valeur ajoutée à l’utilisateur final ?
Les prédictions tout droit sorties du modèle n’ont pas d’utilité si
elles ne sont pas utilisées pour prendre des décisions.

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 107


ML Canvas : Live Evaluation and Monitoring

Il s’agit des métriques qui permettent d’évaluer le modèle après


déploiement. Le but est de quantifier la valeur ajoutée du modèle.
La méthode la plus couramment utilisée est le A/B Testing

Cependant il est recommandé de continuer à évaluer le modèle avec


les métrique classiques de machine learning sur des données réelles,
et au besoin mettre le modèle à jour.

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 108


Quelques Références

• MOOCs complets
https ://www.coursera.org/learn/machine-learning

https ://openclassrooms.com/fr/courses/4011851-initiez-vous-
au-machine-learning

https ://makina-corpus.com/blog/metier/2017/initiation-au-
machine-learning-avec-python-theorie

• Des exemples pratiques avec du code :


https ://machinelearningmastery.com

• Toute la théorie des réseaux de neuronnes :


http ://neuralnetworksanddeeplearning.com
Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 109
Merci

Gilles MADI WAMBAgilles.madi@prevision.io Cours - Intro Techniques ML 110