Académique Documents
Professionnel Documents
Culture Documents
Support de cours
1
Table des matières
1 Introduction 5
1.1 Machine Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1.1 Définition du Machine Learning . . . . . . . . . . . . . . . . . . . . . 6
1.1.2 Applications de l’Apprentissage Machine . . . . . . . . . . . . . . . . 7
1.1.3 Types d’Apprentissage . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2 Définition des Réseaux de Neurones . . . . . . . . . . . . . . . . . . . . . . . 10
1.2.1 Exemple réalisé sur le cerveau humain . . . . . . . . . . . . . . . . . . 10
1.2.2 Naissance du neurone formel avec Mc Culloch-Pitt (1943) . . . . . . . 11
1.2.3 Fonctions d’activation . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2 Perceptron 17
2.1 Algorithme d’Apprentissage . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.2 Etapes de l’apprentissage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.3 En pratique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.4 Exercices : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3 Réseau multi-couches 21
3.1 Propagation en avant ou Forward Propagation . . . . . . . . . . . . . . . . . . 23
3.2 Backpropagation ou Rétropropagation . . . . . . . . . . . . . . . . . . . . . . 25
3.2.1 Descente de gradient . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.3 Taux d’apprentissage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.4 Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.4.1 Exercice 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.4.2 Exercice 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4 Régularisation et Sur-apprentissage 32
4.1 Facteurs de Sur-apprentissage . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.2 Solutions au Sur-apprentissage . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.2.1 DropConnect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5 Réduction de dimensionnalité 36
5.1 Analyse des Composantes Principales (ACP) . . . . . . . . . . . . . . . . . . . 36
5.1.1 Notion d’inertie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2
5.1.2 Coefficient de corrélation linéaire . . . . . . . . . . . . . . . . . . . . 39
5.2 Méthodes de réduction de dimensionalité non linéaires . . . . . . . . . . . . . 40
5.2.1 Cartographie des entités isométriques (Isomap) . . . . . . . . . . . . . 41
5.3 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.3.1 Exercice 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.3.2 Exercice 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
7 Réseaux particuliers 50
7.1 Les Réseaux récurrents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
7.1.1 Apprentissage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
7.1.2 Les inconvénients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
7.1.3 Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
7.2 Sel Organizing Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
7.2.1 Etapes : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
7.2.2 Exercice : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
7.3 Long-Short Term Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
7.4 Gated Recurrent Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
7.5 Apprentissage profond ou Deep Learning . . . . . . . . . . . . . . . . . . . . 57
7.5.1 Les Autoencodeurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
7.5.2 Convolutional Neural Network (CNN) . . . . . . . . . . . . . . . . . . 58
7.5.3 Deep Belief Network . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
8 Méthodes d’Ensemble 60
8.1 Techniques simples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
8.1.1 Averaging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
8.1.2 Weighted Averaging . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
8.1.3 Majority Voting (Hard mode/Soft mode) . . . . . . . . . . . . . . . . . 62
8.2 Techniques avancées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
8.2.1 Bagging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
8.2.2 Boosting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
8.2.3 Blending . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
8.2.4 Stacking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
9 Implémentation 66
9.1 Etape 0 : Identifier et comprendre le problème . . . . . . . . . . . . . . . . . . 66
9.2 Etape 1 : Acquisition des données . . . . . . . . . . . . . . . . . . . . . . . . 67
3
9.3 Etape 2 : Exploration des données . . . . . . . . . . . . . . . . . . . . . . . . 67
9.4 Etape 3 : Data Engineering ou Pré-traitement des données . . . . . . . . . . . . 68
9.4.1 Nettoyage des données . . . . . . . . . . . . . . . . . . . . . . . . . . 68
9.4.2 Gestion des données manquantes . . . . . . . . . . . . . . . . . . . . . 68
9.4.3 Gestion des données aberrantes . . . . . . . . . . . . . . . . . . . . . . 70
9.4.4 Normalisation et Standardisation . . . . . . . . . . . . . . . . . . . . . 71
9.5 Etape 4 : Feature Engineering ou Paramétrage . . . . . . . . . . . . . . . . . . 71
9.5.1 Transformation de variables . . . . . . . . . . . . . . . . . . . . . . . 71
9.5.2 Création de variables . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
9.5.3 Réduction de Dimensionnalité . . . . . . . . . . . . . . . . . . . . . . 71
9.6 Etape 5 : Modélisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
9.6.1 Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
9.6.2 Hyper-paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Bibliographie 79
4
Chapitre 1
Introduction
Le Machine Learning ou Apprentissage automatique est une grande avancée dans le monde
technologique et scientifique actuellement. Certains scientiques tels que Andrew Ng (pionnier
de l’éducation en ligne avec Coursera et co-fondateur de Google Brain) le compare même à la
révolution qu’a entrainé l’arrivée de l’électricité. Les Réseaux de Neurones, en particulier, ont
fait leur apparition depuis plus de soixante ans et constituent, par conséquent, un algorithme de
référence en Apprentissage Automatique. Ce cours est une introduction aux Réseaux de Neu-
rones. L’objectif est de commencer par assimiler l’intérêt de l’approche Machine Learning,
d’initier les étudiants à ses principes fondamentaux, à distinguer les différents types d’Appren-
tissage et à explorer les Réseaux de Neurones à travers leur évolution pour, ainsi, maı̂triser tous
ces aspects qui font leur efficacité.
5
F IGURE 1.1 – Le Machine Learning fait partie de l’Intelligence Artificielle
Définition de l’Intelligence Artificielle :
Ensemble de théories et techniques mises en œuvre envue de réaliser des machines capables
de simuler l’intelligence humaine, de raisonner, apprendre, décider, voire rire et ressentir des
émotions.
6
1.1.2 Applications de l’Apprentissage Machine
L’Apprentissage Machine est de plus en plus présent au quotidien, ses applications sont
devenues, pour la plupart, des indispensables autant dans le milieu professionel que personnel.
Celles-ci viennent, ainsi, répondre à des besoins, jusque là, complexes consommateurs en
termes de temps, d’argent et de ressources humaines.
Ces applications portent sur plusieurs domaines : la santé, la finance, le divertissement, etc..
Illustration
Comment peut-on déterminer si un bien immobilier se trouve à Casablanca ou à Marrakech ?
Une donnée étiquetée correspond à une donnée avec un label et donc définie. De cette manière,
les entrées et sorties de l’Algorithme sont connues [?].
La labellisation ou annotation des données peut également être considérée comme une étape de
Pré-traitement des données. Celle-ci requiert souvent une intervention humaine appelée ”Hu-
man In The Loop” ou ”l’Humain dans la boucle”.
7
Apprentissage supervisé
Dans le cas de l’Apprentissage supervisé, l’Algorithme établit un lien entre chaque entrée
donnée connue et la sortie (voir figure 1.4). Ainsi, une ”supervision” lie les caractéristiques
de l’entrée à la sortie en vue.
8
F IGURE 1.5 – Apprentissage non Supervisé
Il existe egalement un type d’Apprentissage appelé Apprentissage semi-supervisé, celui-ci
combine des données étiquetées et non étiquetées.
9
1.2 Définition des Réseaux de Neurones
L’origine des Réseaux de Neurones en tant qu’Algorithme est une mimique du cerveau.
HYPOTHESE : La façon avec laquelle le cerveau réalise cette multitude de tâches ne corres-
pond pas à plusieurs programmes mais plutôt à un unique algorithme d’apprentissage.
10
F IGURE 1.8 – Neurone humain
De façon très réductrice, un neurone biologique est une cellule qui se caractérise par :
— des synapses, les points de connexion avec les autres neurones, fibres nerveuses ou
musculaires ;
— des dentrites ou entrées du neurones ;
— les axones, ou sorties du neurone vers d’autres neurones ou fibres musculaires ;
— le noyau qui active les sorties en fonction des stimulations en entrée
Comment le cerveau marche ?
— Chaque neurone reçoit des entrées provenant d’autres neurones.
— L’effet de chaque entrée est contrôlé par un poids synaptique.
— Le poids synaptique s’adapte au réseau dans sa totalité afin la performance de l’appren-
tissage soit à son maximum.
— Le cerveau dispose de plus de 100 000 000 000 de neurones et de plus de 10 000 000
000 poids synaptiques.
Par analogie, le neurone formel est un modèle qui reçoit des signaux d’entrée pondérés par des
poids ensuite additionnés et soumis à une fonction d’activation. oj = φ(x1 , ..., xp ) . Le neurone
comprend les élèments clés suivants :
1. Des entrées ou signaux d’entrée (x1 , . . . , xp ) : ce sont des données provenant de
l’échantillon. Ces valeurs sont normalisées afain d’améliorer l’efficacité de l’algorithme
d’Apprentissage.
2. Des poids synaptiques (w1 j, . . ., wp j) : ces valeurs permettent de quantifier l’impact de
chaque entrée.
3. Fonction de combinaison : il s’agit de la somme des signaux pondérés.
4. Seuil d’activation ou biais : cette variable permet le déclenchement de la sortie de la
fonction de combinaison.
5. Fonction d’activation φ : cette fonction permet de limiter dans un intervalle raisonnable.
6. Signal de sortie oj : valeur finale produite par le neurone sur la base d’un ensemble de
signaux d’entrée
11
1.2.3 Fonctions d’activation
Les fonctions d’activation peuvent être réparties en deux catégories : des fonctions partielle-
ment dérivables et des fonctions complètement dérivables.
Fonction Bipolaire :
1
if u > 0
g(u) = 0 if u = 0 (1.2)
−1 if u < 0
Fonction Symétrique :
a
if u > a
g(u) = u if −a =< u <= a (1.3)
−a if u < −a
12
F IGURE 1.12 – Fonction d’activation symétrique
Fonction Hyperbolique :
1 − exp(−βu)
g(u) = (1.5)
1 + exp(−βu)
Fonction Gaussienne :
(u−c)2
g(u) = −e− 2σ 2 (1.6)
13
F IGURE 1.15 – Fonction d’activation gaussienne
Régression linéaire
La régression linéaire est l’une des méthodes statistiques les plus courantes. il s’agit du cas
simple où une variable X est expliquée, modélisée par une fonction affine d’une autre variable
y.
Modélisation d’un problème :
On note y la variable aléatoire réelle à expliquer et X la variable explicative comme suit :
y = aX + b
L’objectif de l’exemple est de savoir, de façon générale, si le nombre de chambres a un impact
sur le prix d’un bien immobilier et sous quelle forme cette infuence peut être exprimée. Le but
est éventuellement de prédire le prix d’un bien sur la base du nombre de chambres.
— La variable Y : variable prix, la variable à prédire.
— La variable X : variable nombre de chambres, la variable explicative.
14
Le tableau suivant constitue l’échantillon à considérer dans cet exemple :
Nombre de chambre xi 1 2 3 4 5
Prix yi 510 000 565 000 588 000 663 000 684 000
Représentation graphique :
En général, avant de procéder à une analyse, il est intéressant de représenter les données.
Cette première représentation permet de savoir si le modèle linéaire est pertinent. Dans le
cas de l’exmple cité ci-dessus, le graphique 1.17 représente le prix en fonction du nombre
de chambres. Les points ne sont pas tous sur la droite, il s’agit d’un nuage de points proches de
celles-ci. Dans ce cas, le modèle de régression linéaire constitue un bon modèle d’estimation.
15
soustraire 0.01 à l’ordonnée à l’origine
-si celui-ci se trouve en dessous de la ligne et à gauche de l’axe y, ajouter 0,01 à la pente et
soustraire 0.01 à l’ordonnée à l’origine
16
Chapitre 2
Perceptron
Parmi les architectures les plus populaires dans le champ des réseaux de neurones, on trouve les
réseaux mono-couches. Ceux-ci se composent d’un seul neurone de décision en Feed-forward
(propagation en avant) ; le plus souvent, c’est le perceptron. Il est capable d’effectuer une clas-
sification linéairement separable seulement et distingue, ainsi, entre deux états dans le plan xy
par une séparation rectiligne.
Bien que simple, le Perceptron reste un modèle qui a fait ses preuves.
17
F IGURE 2.2 – Illustration d’une séparation linéaire vs non linéaire
La limite de classification, dans le cas de deux signaux d’Entrée est une ligne droite selon la
formule suivante :
w 1 x1 + w 2 x2 = 0 (2.2)
Ainsi, le Perceptron permet de réaliser une décision linéaire (voir figure 2.2). Dans le cas de
deux entrées, la séparation sera une droite tandis que dans le cas de trois entrées, elle sera sous
forme d’un plan. Dans le cas d’une plus grande dimension, ce sera un hyperplan.
Bref, si la sortie produite par le Perceptron coı̈ncide avec la sortie désirée, ses poids synap-
tiques et son seuil restent inchangés (condition inhibitrice) ; sinon, dans le cas où la sortie
produite est différente de la valeur souhaitée, alors ses poids synaptiques et son seuil sont
ajustés proportionnellement à ses signaux d’entrée (condition excitatrice). Ce processus est
répété séquentiellement pour tous les échantillons d’apprentissage jusqu’à ce que la sortie pro-
duite par le Perceptron soit similaire à la sortie souhaitée de tous les échantillons. En notation
mathématique, les règles d’ajustement du poids synaptique wi et du seuil θ peuvent être ex-
primées, respectivement, par les équations suivantes :
(
wi (t + 1) = wi (t) + δwi (t)
(2.3)
δwij (t) = xi
La loi de Hebb est modélisée par les équations ci-dessus de telle sorte que w(t + 1) est le
nouveau poids et wij (t) l’ancien.
La coactivité xi est modélisée comme le produit des deux valeurs d’activation. L’algorithme
d’apprentissage modifie de façon itérative les poids pour adapter la réponse désirée. Il s’agit
de modifier les poids lorsqu’il y a erreur seulement.
18
2. Présentation d’une entrée E = (e1 , ...en ) de la base d’apprentissage.
3. Calcul de la sortie obtenue y pour cette entrée :
( P
a = wi ei − θ
(2.4)
x = signe(a)si a>0 alors y = +1 si a<=0 alors y = -1
2.3 En pratique
Quelques caractéristiques pratiques dans le processus de formation du Perceptron :
(a) Le réseau divergera si le problème est non linéairement séparable. La stratégie pour ce
scénario est de limiter le processus d’entraı̂nement par un nombre maximum d’époques.
(b) Lorsque la frontière de décision entre deux classes est trop étroite, son processus d’appren-
tissage peut impliquer une instabilité. Dans de tels cas, en supposant une faible valeur de taux
d’apprentissage µ, cette instabilité pourrait être atténuée.
(d) Plus la surface de décision est proche de la frontière séparatrice, moins il faut généralement
d’époques pour la convergence Perceptron.
(e) La normalisation des entrées dans des domaines appropriés améliore les performances du
processus de formation.
2.4 Exercices :
1/ Simuler la fonction ET avec des poids fixes et sans apprentissage.
Les paramètres du Perceptron sont les suivants : w1 = 0.2, w2 = 0.1 et θ = −0.2.
2/ Pour la même base d’apprentissage, réaliser l’apprentissage (ne pas oublier la modification
du seuil). Le choix des conditions initiales est confié au hasard.
Dans une première étape, il est conseillé de refaire pas à pas l’exemple : w1 = −0.2,
w2 = +0.1, θ = 0, µ = +0.1 (Conditions initiales). Puis faites varier µ.
19
ou
e1 et e2 sont égales à 0 en même temps.
20
Chapitre 3
Réseau multi-couches
Alvinn est une application de véhicule autonome régi par un réseau multi-couches :
— La couche d’entrée du réseau est une ”rétine” bidimensionnelle de 30 x 32 qui reçoit
l’entrée de la caméra vidéo des véhicules.
21
— Chaque unité d’entrée est entièrement connectée à une couche de cinq unités cachées
qui sont à leur tour entièrement connectées à une couche de 30 unités de sortie.
— La couche de sortie est une représentation linéaire de la direction que le véhicule doit
parcourir afin de maintenir le véhicule sur la route
Ainsi, un réseau multi-couches pallie à la limitation linéaire du Perceptron à une couche et
répond, par conséquent, à des problèms plus complexes. Toutefois, en construisant un réseau
multi-couches, la question qui se pose est :
Comment calculer les poids ?
L’approche intuitive serait d’établir des équations pour chaque expérience est en déduire les
poids. => Approche itérative.
Exemple :
Chaque jour vous prenez un repas dans un restaurant qui comprend de la viande, du pain et
des frites avec des portions différentes et le caissier vous donne uniquement le montant global.
Après quelque jours, vous souhaiteriez savoir le prix de chaque portion.
M ontantglobal = xviande ∗ wviande + xpain ∗ wpain + xf rites ∗ wf rites
Règle delta :
δwi = ηxi ∗ (t − y)
22
Avec un taux d’apprentissage η = 1/35
Les nouveaux poids sont 70, 100, 80. Le poids du pain s’est dégradé.
23
Dans le cas d’une seule couche cachée :“a single hidden layer neural network with a linear
output unit can approximate any continuous function arbitrarily well, given enough hidden
units” Hornik 1991
24
X
Rw = 1/n l(f (x(n) , w), y (n) ) (3.4)
où : l est la Fonction perte appelée aussi Fonction Coût.
a(1) = x
z (2) = W (1) a(1)
a(2) = g(z (2) )
(3.5)
z (3) = W (2) a(2)
a(3) = g(z (3) )
..
La Rétropropagation se réalise à travers le calcul de dérivés en commençant par la dernière
couche l :
( (
δj l) = aj l) − yj (3.6)
Modification des poids
-Si apprentissage stochastique (après chaque exemple) :
25
∆Wij = η(t)δj yi m (3.7)
-Si apprentissage total :
n
X
∆Wij = η(t) δj (n)zi (n) (3.8)
i=1
Le gradient de f (x, y) est un vecteur à deux dimensions qui indique la direction (x, y) dans
laquelle se déplacer pour atteindre le point le plus bas. En d’autres termes, le vecteur du gra-
dient pointe vers la vallée. Dans le domaine du Machine Learning, les gradients permettent
d’effectuer des descentes de gradients. Il est souvent nécessaire de minimiser une fonction de
perte comportant plusieurs variables, ce qui se réalise en suivant la direction inverse du gra-
dient de cette fonction. L’algorithme de descente de gradient calcule ensuite le gradient de la
courbe de perte au point de départ. En bref, un gradient est un vecteur de dérivées partielles in-
diquant la direction à suivre pour atteindre le minimum recherché. Le gradient d’une fonction,
noté comme suit, est le vecteur des dérivées partielles calculées pour l’ensemble des variables
indépendantes :
26
F IGURE 3.8 – Descente de Gradient
∆f Un gradient étant un vecteur, il présente les deux caractéristiques suivantes :
-une direction
-une magnitude
27
L’algorithme de descente de gradient fait un pas dans le sens inverse afin de réduire la perte
aussi rapidement que possible. Un pas de gradient nous positionne au point suivant de la courbe
de perte. Ce processus est alors répété, se rapprochant ainsi progressivement du minimum.
Les algorithmes de descente de gradient multiplient généralement le gradient par une valeur
scalaire appelée taux d’apprentissage (voir pargraphe 3.3)pour déterminer le point suivant. Par
exemple, si la magnitude du gradient est de 2,5 et que le taux d’apprentissage est de 0,01, alors
le point suivant sera situé à une distance de 0,025 du point précédent.
Lors d’une descente de gradient, un lot représente le nombre total d’exemples utilisés pour
calculer le gradient à chaque itération. Jusqu’à présent, nous avons procédé comme si le lot
correspondait à l’intégralité de l’ensemble de données. À l’échelle de Google, les ensembles
de données contiennent souvent des milliards, voire des centaines de milliards d’exemples. En
outre, les ensembles de données de Google comportent souvent un très grand nombre de ca-
ractéristiques. Un lot peut donc être gigantesque. Lorsque le lot est très important, la durée des
calculs pour une simple itération peut être particulièrement longue. Un ensemble de données
important qui comporte des exemples échantillonnés de façon aléatoire contient généralement
des données redondantes. De fait, plus la taille d’un lot augmente, plus la probabilité de redon-
dance sera élevée. Un certain niveau de redondance peut être utile pour atténuer les effets du
bruit dans les gradients, mais les lots gigantesques présentent rarement une valeur prédictive
supérieure à celle des lots de grande taille.
Calcul différentiel
δz
dz = dx
δx (3.10)
δy
dy = dz
δz
28
Descente de gradient stochastique
Et s’il était possible d’obtenir le gradient souhaité, en moyenne, avec un nombre de calculs
nettement inférieur ? Le choix d’exemples aléatoires dans notre ensemble de données nous
permet d’estimer une moyenne importante à partir d’une moyenne bien plus modeste (en
acceptant une certaine quantité de bruit). La descente de gradient stochastique (SGD) constitue
une application radicale de ce principe, car elle n’utilise qu’un exemple (un lot dont la taille
est 1) par itération. Si le nombre d’itérations est assez important, la SGD fonctionne, tout en
générant beaucoup de bruit. Le terme ”stochastique” signifie que l’exemple est sélectionné de
façon aléatoire.
Dans ce cas l’ajstement de fait conformément à la formule 3.7.
29
3.3 Taux d’apprentissage
3.4 Exercice
3.4.1 Exercice 1
On considère le réseau de neurones ci-dessous. Pour pouvoir travailler, nous allons donner des
poids initiaux, des biais et un apprentissage entrées/sorties. Nous disposons d’un seul appren-
tissage : les entrées sont à 0,05 et 0,10 et les sorties sont à 0,01 et 0,99.
30
F IGURE 3.11 – exercice en Backpropagation
3.4.2 Exercice 2
Le fichier contient l’ensemble de données pour notre problème de régression linéaire. La
première colonne est la population d’une ville et la deuxième colonne est le profit d’un res-
taurant gastronomique dans cette ville. Une valeur de profit négative indique que le restaurant
ne fait pas de profit mais perd de l’argent. Utilisez ces données pour ajuster un modèle de
revêtement : h(x) = b + mx. Vous pouvez remplacer b et m par w0 et w1. Exécutez le proces-
sus avec 1500 itérations. Utilisez 0,5 pour le taux d’apprentissage.
X0 X1 X2 Y
0 1 0,72 0,32 6,93
1 1 0,75 0,12 5,99
2 1 0,53 0,65 1,46
3 1 0,27 0,82 1,44
4 1 0,49 0,15 4,51
5 1 0,02 0,19 1,25
6 1 0,35 0,87 2,53
7 1 0,99 0,71 6,88
8 1 0,98 0,92 6,25
9 1 0,73 0,19 6,36
31
Chapitre 4
Régularisation et Sur-apprentissage
32
données. En d’autres termes, au lieu de simplement viser à minimiser les pertes (minimisation
empirique des risques), il convient de minimiser la perte + la complexité, ce qu’on appelle la
minimisation du risque structurel :
R∗ (f ) = Remp (f, E) + λΩ(f ) (4.1)
où Remp (f, E) est le risque empirique de f calculé sur l’echantillon E, Ω est une fonction
régularisante et λ un coefficient de régularisation [1]. L’optimisation est désormais fonction de
deux termes : le terme de perte, qui mesure l’adéquation du modèle aux données, et le terme de
régularisation, qui mesure la complexité du modèle. Dans la formule 3.1, les poids proches de
zéro ont peu d’effet sur la complexité du modèle, tandis que les poids aberrants peuvent avoir
un impact énorme. Un deuxième régulariseur est aussi introduit pour quantifier la complexité
d’un modèle.
La séparation des points verts des points rouges par un NN à 1, 2 et 4 couches cachées (respec-
tivement).
33
F IGURE 4.4 – Taux de régularisation 0.01, 0.1 et 1
La séparation des points verts des points rouges par un NN avec un coefficient de régularisation
λ de 0,01, 0,1 et 1.
4.2.1 DropConnect
Sur la base des travaux de [2], il est possible de considérer une architecture de modèle stan-
dard composée de quatre composants de base (voir 4.5) : 1. Extracteur de fonctionnalités :
v = g(x; W g) où v sont les caractéristiques de sortie, x est les données d’entrée du modèle
global, et Wg sont des paramètres de l’extracteur de caractéristiques. 2. Couche DropConnect :
r = a(u) = a((M W )v) où v est la sortie de l’extracteur de caractéris-tiques, W est une matrice
de poids connectée, a est une activation non linéaire et M est la matrice de masque binaire.3.
Couche de classification Softmax : o = s(r; W s) prend comme entrée r et utilise les paramètres
Ws pour mapper ceci à une sortie
P dimensionnelle (k étant le nombre de classes). 4. Perte d’en-
tropie croisée : A(y, o) = − ki = 1yi log(oi ) prend les probabilités o et les vrais labels y
comme entrée.
34
F IGURE 4.5 – Un exemple de modèle de DropConnect
35
Chapitre 5
Réduction de dimensionnalité
Les méthodes de réduction de dimensionnalité les plus courantes et les plus connues sont celles
qui appliquent des transformations linéaires, comme ACP (Analyse en Composantes Princi-
pales).
36
F IGURE 5.1 – Exemple d’application
La projection des éléments du tableau compte-tenu du premier attribut ”Poids” sur la figure
5.2 permet de distinguer 2 Clusters. Le deuxième attribut ”Taille” permet aussi de confirmer
cette hypothèse (Cluster : genre) (voir figure 5.3).
37
F IGURE 5.3 – Représentation graphique de l’échantillon
38
On appelle axes principaux d’inertie les axes de direction les vecteurs propres de V normés
à 1. Il y en a p. La première composante est celle qui maximise l’écartement global des
points par rapport à l’origine. La seconde composante est celle qui traite l’inertie non-expliquée
(résiduelle) par la première composante (par conséquent, non corrélé). Le premier axe est celui
associé à la plus grande valeur propre . On le note u1 Le deuxième axe est celui associé à la
deuxième valeur propre . On le note u2 À chaque axe est associée une variable appelée compo-
sante principale. La composante c1 est le vecteur renfermant les cordonnées des projections des
individus sur l’axe 1. La composante c2 est le vecteur renfermant les cordonnées des projec-
tions des individus sur l’axe 2. Pour obtenir ces coordonnées, on écrit que chaque composante
principale est une combinaison linéaire des variables initiales.
SommedesdistancesdeP C1
variationdeP C1 =
n−1
(5.2)
SommedesdistancesdeP C2
variationdeP C2 =
n−1
1
cj
c2j
. fournit les coordonnées des n individus
La jème composante principale c principal : cj =
.
cnj
sur le jème axe
39
5.2 Méthodes de réduction de dimensionalité non linéaires
Des méthodes de transformation non linéaires ou des méthodes d’apprentissage multiples
sont utilisées lorsque les données ne se trouvent pas sur un sous-espace linéaire. L’hypothèse
de base pour la réduction linéaire est justement qu’il existe une relation linéaire entre les
paramètres or cette hypothèse n’est pas toujours vraie. D’ooù l’intérêt de la réduction de
dimensinnalité non linéaire telle que :
Mise à l’échelle multidimensionnelle (MDS) : technique utilisée pour analyser la similitude
ou la dissemblance des données en tant que distances dans un espace géométrique. Celle-ci
projette les données vers une dimension inférieure de telle sorte que les points de données
qui sont proches les uns des autres (en termes de distance euclidienne) dans la dimension
supérieure le sont également dans la dimension inférieure.
Hessian Eigenmapping (HLLE) : Projette les données dans une dimension inférieure tout en
préservant le voisinage local comme LLE mais utilise l’opérateur hessien pour mieux obtenir
ce résultat et donc le nom.
Incorporation spectrale (cartes propres laplaciennes) : utilise des techniques spectrales
pour effectuer une réduction de dimensionnalité en mappant les entrées proches sur les sorties
proches. Il préserve la localité plutôt que la linéarité locale.
40
F IGURE 5.6 – Cercle de Corrélation
41
F IGURE 5.7 – Distance Géodésique
Ensuite le centre est calculé sur la base des lignes mais aussi des colonnes. Les étapes de l’ISO-
MAP. Isomap ne diffère du MDS classique que par quelques étapes initiales. Au lieu d’utiliser
la métrique euclidienne pour la dissemblance, il utilise des distances graphiques. Les étapes de
l’algorithme Isomap sont :
Graphique de voisinage : créer un graphe de voisinage et une matrice de contiguı̈té à partir
du jeu de données.
Matrice de dissimilarité : Il s’agit d’une matrice qui représente la dissemblance entre les
points d’un jeu de données. Cette dissemblance peut être calculée à l’aide de n’importe quelle
mesure. Bien que la mesure la plus courante soit la distance entre les points. Plus la distance
est grande, plus les échantillons sont dissemblables.
Décomposition des valeurs propres : Avant la décomposition des valeurs propres, il faut qua-
driller la distance et centrer deux fois la matrice de similarités au carré. Après la décomposition
des valeurs propres, sélectionner les K premiers vecteurs propres avec K valeurs propres les
plus élevées.
5.3 Exercices
5.3.1 Exercice 1
On considère le tableau ci-dessous.
Individus/variables Y X
1 20 10
2 82 40
3 44 20
4 65 30
5 25 15
Somme 236 115
1) Réaliser une représentation graphique des individus sur un espace R2 .
2) Calculer les moyennes, variance et covariance.
3) Déduire la droite la plus proche du nuage de points.
4) Le coefficient de correélation entre les 2 variables est eégal au cosinus de l’angle formé
par les vecteurs représentant ces variables (X − moyenne(X)). Calculer ce coefficient de
corrélation.
42
5.3.2 Exercice 2
43
Chapitre 6
44
6.1 Matrice de confusion
Une matrice de confusion ou tableau de contingence sert à évaluer la qualité d’une classifi-
cation. Elle est obtenue en comparant les données classées avec des données de référence qui
doivent être différentes de celles ayant servi à réaliser la classification. Il s’agit de confronter
les valeurs observées de la variable dépendante Y avec les valeurs prédites Ŷ fournies par le
modèle.
6.1.3 La précision
La proportion des positifs à l’intérieur de la cible, elle correspond à la probabilité P (Y (ω) =
+/ω ∈ cible).
a
p= (6.3)
a+c
45
6.1.5 La spécificité
La fraction des négatifs qui sont exclus de la cible.
d
Sp = 1 − T F P = (6.5)
c+d
Un bon classifieur doit présenter d’une part un rappel élevé et, d’autre part, une précision
et une spécificité élevée (et un taux de faux positifs faible).
Area under curve (AUC) AUC représente le séparabilité dont le modèle est capable afin de
différencier entre les classes.
46
F IGURE 6.3 – Exemple d’application de la Matrice de Confusion
Avant de prcéder à cette répartition, il convient de vérifier si le premier sous-ensemble est suf-
fisamment grand pour donner des résultats statistiquement significatifs et s’il est représentatif
de l’ensemble de données dans son ensemble. Le modèle d’Apprentissage n’est pas parfait,
quelques prédictions sont fausses. Cependant, ce modèle fonctionne aussi bien sur les données
de test que sur les données d’entraı̂nement. Il est aussi intéressant de réaliser une Cross-
validation, de telle sorte à ce qu’une partie (20 % par exemple) soit réservé pour le Test et
une autre (80 % par exemple) pour l’Apprentissage. L’itération suivante fera une sorte de tran-
sition sur les données de telle sorte à ce qu’une autre partie constituera le Test et le restant
Apprentissage (voir la figure 6.4). Ainsi toutes les données sont prises en compte pour l’Ap-
prentissage/Test.
47
F IGURE 6.4 – Cross-validation (tiré de Wikipédia)
48
Erreur carrée relative
r
1P
(yi − f (xi ))2
nP
RSE = (6.7)
(yi − ȳ)2
1X
ȳ = yi
n
Corrélation de Pearson
Il est parfois préférable de calculer la corrélation appelée aussi coefficient de détermination
(R2), qui est le carré de la corrélation de Pearson entre valeurs prédites et vraies valeurs r.
P ˆ
(yi − ŷ)(f (xi ) − f (x))
r=p q (6.8)
P
(yi − ŷ)2
P ˆ 2
(f (xi ) − f (x))
49
Chapitre 7
Réseaux particuliers
st = f (U xt + W (st−1 ) (7.1)
Les applications sont nombreuses : speech recognition, language modeling, translation, image
captioning. . .
Les réseaux de neurones récurrents offrent une grande flexibilité, en fonction des applications,
le réseau peut avoir une ou plusieurs entrées mais aussi une ou plusieurs sorties :
50
F IGURE 7.2 – La flexibilité des Réseaux récurrents
F IGURE 7.3 – La traduction machine réalisé par un réseau récurrent(Image Source : Stanford
lectures)
7.1.1 Apprentissage
Les réseaux récurrents recourent aussi, pour leur apprentissage, à la Rétropropagation mais leur
aspect séquentiel exige une Rétropropagation à Travers le Temps.
Backpropagation Through Time (BPTT) – Comment ça marche ?
Pour chaque itération d’apprentissage : l’apprentissage se fait sur des petites séquences
et progressi-vement sur de plus grandes séquences jusqu’à atteindre la longueur maximale ;
Pour chaque longueur de séquence k : une extension du réseau est effectuée et un normal
FeedForward Propagation a lieu sur k couches cachées ;
51
F IGURE 7.4 – Réseau récurrent : un algorithme séquentiel
— si |λ1 | < 1 (les poids deviennent petits) => Fuite ou evaporation vanishing)
— si |λ1 | > 1 (les poids deviennent grands) => Explosion
7.1.3 Solution
— Explosion => coupure du gradient (erreur partielle) lorsqu’elle devient trop grande
— Fuite ou Evaporation => alléger la dépendance non-linéaire en faveur de la dépendance
linéaire=¿LSTM, GRU, etc.
52
7.2.1 Etapes :
1. Initialiset les poids, poser une valeur pour α
2. Si condition d’arrêt fausse, réaliser les étapes de 3 à 7
3. Pour chaque vecteur d’entrée x faire les étapes de 4 à 6
pP
4. Pour chaque neurone j calculer la distance euclidienne D(j) = (xi − wij )2
5. Trouver l’indice j pour lequel D(j) est minimale
6. Pour les neurones j réajuster les poids pour tous les i, tel que :
wij (nouveau) = wij (ancien) + α(xi − wij (ancien))
7. Mettre à jour α, cette valeur décroit plus le nombre d’épochs augmente
7.2.2 Exercice :
Exercice 1 :
Nous disposons d’un seul apprentissage : les entrées sont à 0,05 et 0,10 et les sorties sont à 0,01
et 0,99.
1) Réaliser l’Etape Propagation en avant ;
53
Exercice 2 :
54
F IGURE 7.9 – Long-Short Term Memory
Les valeurs Ĉt sont candidates à l’état de la cellule de mémoire (qui pourrait être filtré par la
porte d’entrée plutard).
Ĉt = tanh(Wc xt + Uc ht−1 + bc ) (7.3)
Si la fonction détectée semble importante, la porte d’oubli ft sera fermée et transmettra des
informations à ce sujet à travers de nombreux timesteps, sinon elle peut réinitialiser la mémoire.
Parfois, il est bon d’oublier. Si vous analysez un corpus de texte et venez à la fin d’un do-
cument, vous n’avez peut-être aucune raison de croire que le document suivant a une rela-
tion quelconque avec lui et, par conséquent, la cellule de mémoire doit être réinitialisée avant
que le réseau obtienne le premier élément du document suivant. Dans de nombreux cas, par
réinitialisation, nous ne signifions pas seulement que l’on définit immédiatement à 0, mais
aussi des réinitialisations graduelles correspondant aux états cellulaires à décoloration lente.
Le nouvel état de la cellule de mémoire Ct est calculé en oubliant partiellement le contenu de
mémoire existant Ct-1 et en ajoutant un nouveau contenu de mémoire Ĉt .
55
La porte de sortie Ot contrôle la quantité de contenu de la mémoire pour passer à l’état caché
suivant.
Ot = σ(Wo xt + Uo ht−1 + Vo Ct ))
(7.6)
ht = Ot ∗ tanh Ct
56
7.5 Apprentissage profond ou Deep Learning
Le Deep learning est une méthode d’apprentissage du ML. Elle est principalement connue pour
son apprentissage des représentations (learning patterns). Celle-ci -qui se distingue du Deep
Neural Network- a vu le jour en 2006 avec Geoffrey Hinton. Les chercheurs qui se démarquent
dans le domaine sont :
— Geoffrey Hinton (Université de Toronto et Google) — Yann LeCun (Université de New
York et Facebook) — Andrew Ng (Stanford)
— Yoshua Bengio (Université de Montréal)
— Jurgen Schmiduber (Swiss AI Lab)
Ainsi, le Deep Learning prend en charge la partie paramétrage alors qu’il était nécessaire dans
les autres méthodes d’apprentissage de distinguer le paramétrage de l’apprentissage. Nul besoin
de réduire le nombre de paramètres (PCA ou autres) puisque le Deep Learning prend avantage
de la taille des données. L’idée est de constituer une hiérarchie de couches qui transforme les
données en des représentations plus abstraites (pixel − > arc − > nez − > visage). Plus le
nombre de couches est élevé, plus l’abstraction des paramètres est importante. En pratique, il
existe 4 principaux algorithmes de Deep Learning :
57
F IGURE 7.13 – Deep Learning - apprentissage de représentations
58
F IGURE 7.15 – Les Réseaux de neurones convolutionnels
59
Chapitre 8
Méthodes d’Ensemble
Dans certains cas, il est intéressant de combiner plus d’un algorithme d’Apprentissage. Cette
combinaison permet, en effet, de tirer profit des forces de chacun de ses modèles et de contenir
leurs failesses.
60
F IGURE 8.2 – Averaging
61
F IGURE 8.3 – Weighted Averaging
62
Hard voting
Dans le cas d’une Classification, le Hard Voting consiste à prendre la Classe qui a été
sélectionnée de façon majoritaire.
Soft voting
Tandis que le Soft Voting considère la probabilité avec laquelle une Classe a été sélectionnée
et prend la moyenne de probabilité de tous les modèles et décide en conséquence.
8.2.1 Bagging
Bagging n’est autre que le diminutif de Bootstrap Aggregating. Pour chaque partie du Dataset,
en appliquant le même algorithme d’Apprentissage (Decision Tree par exemple), un modèle est
obtenu, celui-ci sert à réaliser une prédiction sur le même Test set. Une fois, ladite prédiction
est aboutie, l’une des Techniques d’ensemble simple permet de générer la décision finale.
63
Random Forest est d’ailleurs un exemple de Bagging.
8.2.2 Boosting
Boosting permet de convertir des lagorithmes faibles en algorithmes plus forts. Il existe
différentes types de Boosting notamment : AdaBoost, GRADIENT BOOSTING, XgBOOST
(Extreme Gradient Boosting).
Pour le Boosting, la répartition se fait de façon séquentielle, comme suit : quelques instances
du Dataset sont pris pour Apprentissage de l’Algorithme de base A1, ensuite tous les instances
du Dataset sont considérés par le modèle obtenu. Les instances qui ont été mal classées vont
constituer le Dataset d’Apprentissage du second Algorithme de base A2. De la même manière,
les instances mal classés sont considérés par l’Algorithme A3, etc.. jusqu’à atteindre le nombre
d’Algorithmes de base spécifié.
8.2.3 Blending
Blending combine différents Algorithmes, souvent hétérogènes, et prend la décision finale à la
suite d’un méta-modèle. Ce dernier est un Agorithme (par exemple : Réseau de Neurones) qui
prend en entrée les sorties des Algorithmes en amont (voir figure 8.7)pour son apprentissage.
64
F IGURE 8.7 – Blending
Etapes du Blending :
1. Répartir le Dataset en deux ;
2. Réaliser l’Apprentissage des Algorithmes sur la première partie du Dataset et la
prédiction sur la seconde ;
3. Réaliser l’Apprentissage du Méta-modèle sur les sorties (prédites) en amont, celles-ci
sont les entrées du Méta-modèle.
8.2.4 Stacking
Le Stacking ressemble au Blending, àa la différence que celui-ci se base sur la Cross-Validation
ou validation croisée, comme sur la figure 8.8.
Ainsi, le Dataset divisé en sous blocs est considéré dans sa totalité et prédit dans sa totalité.
65
Chapitre 9
Implémentation
L’objectif de ce chapitre est de mettre à profit les connaissances acquises au cours des chapitres
précédents via l’implémentation effective du Réseau Neuronal. Réciproquement, cette même
mise en pratique des Réseaux de Neurones est le moyen le plus sûr de maı̂triser tous les aspects
liés au fonctionnement de l’Algorithme.
La formulation d’un problème en Machine Learning passe par la détermination du type d’Al-
gorithme à considérer (voir la figure 9.1) :
Apprentissage supervisé ou non supervisé ? Classification ou Régression ?
Si Classification, quel est le nombre de classes ?
Si Régression, quelle valeur en sortie ?
Après avoir répondu à ces questions, l’implémentation se fait en suivant les étapes ci-dessous
(fig 9.2) :
66
F IGURE 9.2 – Les étapes de l’implémentation
67
9.4 Etape 3 : Data Engineering ou Pré-traitement des
données
Avant de pouvoir manipuler une base de données, un traitement de ces données est nécessaire.
Et celui-ci peut être réparti en trois phases : Le taleau 9.4 inspirée de la Base de données citée
plus-haut, constituera un exemple illustratif pour les phases qui suivent.
68
F IGURE 9.4 – Tableau des données
textbfSuppression :
Il existe deux types : la suppression par liste et la suppression par paire. Dans la suppression
par liste, nous supprimons les observations où l’une des variables est manquante. La simplicité
est l’un des principaux avantages de cette méthode, mais cette méthode réduit la puissance du
modèle car elle réduit la taille de l’échantillon.
Dans la suppression par paire, nous effectuons une analyse avec tous les cas dans lesquels les
variables d’intérêt sont présentes. L’avantage de cette méthode est qu’elle permet de conserver
autant de cas disponibles pour l’analyse. L’un des inconvénients de cette méthode est qu’elle
utilise une taille d’échantillon différente pour différentes variables.
Moyenne :
Il s’agit de remplacer les valeurs manquantes par des valeurs estimées. La moyenne / médiane
est l’une des méthodes les plus fréquemment utilisées soit par l’usage de la moyenne générale.
Dans ce cas, la moyenne ou la médiane de toutes les valeurs non manquantes de cette variable
est calculée pour remplacer la valeur manquante par cette dernière ou en recherchant des cas
similaires et en faisant la moyenne de ceux-ci. Par exemple sur la base de l’âge dans le cas du
tableau.
Modèle de prédiction :
69
Dans ce cas, l’ensemble de données est divisé en deux sous-ensembles : un ensemble sans
valeurs manquantes pour la variable et un autre avec des valeurs manquantes. Le premier
ensemble de données devient l’ensemble de données d’apprentissage du modèle tandis que le
second ensemble de données avec des valeurs manquantes est un ensemble de données de test
et la variable avec des valeurs manquantes est traitée comme une variable cible. Ensuite, nous
créons un modèle pour prédire la variable cible en fonction d’autres attributs de l’ensemble de
données d’entraı̂nement et remplissons les valeurs manquantes de l’ensemble de données de
test. Il est possible d’utiliser la régression entre autres.
Certains analystes ont également diverses règles empiriques pour détecter les valeurs aber-
rantes. Certains d’entre eux sont :
La distance de Mahalanobis :
Les méthodes basées sur la distance détectent les valeurs aberrantes en calculant la distance,
généralement la distance de Mahalanobis entre un point particulier et le centre des données est
calculée comme suit : p
M = (~x − µ ~ )T S −1 (~x − µ
~) (9.1)
où µ~ est la moyenne arithmétique multivariée (le centroı̈de) et S la matrice de variance-
covariances de l’échantillon, qui doit être inversée. Cette distance indique à quel point chaque
observation est éloignée du centre du nuage multivarié créé par les données.
Le volume minimum de l’Ellipsoide :
Le volume minimum de l’ellipsoide est lepluspetit ellipsode régulier couvrant au moins h
x1
x2
éléments de l’ensemble des données X = . où l’estimateur de localisation est le centre
.
xn
de cet ellipsoı̈de et l’estimateur de dispersion correspond à sa matrice de covariance. h est fixé à
priori supérieur ou égal à n2 +1, où n est le nombre total de points du nuage de données. Le seuil
de détection qui est la fraction des valeurs aberrantes qui, lorsqu’elle est dépassée entraı̂ne des
estimés totalement biaisés est de l’ordre de 50% à mesure que n augmente [7]. L’algorithme
MVE est initié en choisissant au hasard un ensemble de p + 1 points de données pour estimer
le modèle majoritaire, où p est le nombre de variables. Cet ensemble initial est alors augmenté
pour contenir les h points de données. L’algorithme passe par plusieurs itérations avant de
70
converger sur l’ensemble des points les plus rapprochés qui auront le plus petit volume d’ellip-
soide.
71
— Suppressioondesdonnéesredondantes ;
— Capacité de visualisation.
Dans ce cas deux méthodes sont possibles :
— La conservation des variables les plus pertinentes (cette technique est appelée sélection
d’entités).
— La combinaison de variables d’entréecontenantles mêmes informations que les variables
d’entrée (cette technique est appelée réduction de dimensionnalité).
Expérimentation
Chaque problème à traiter a ses particularités et donc une architecture et une configuration
propre. L’expérimentation systématique minutieuse reste le yen le plus utilisé pour déceler
l’architecture la plus adaptée.
Intuition
L’intuition est aussi de mise puisque certaines modélisations nécessitent plus d’abstraction que
d’autres et donc requièrent dans ce cas une plus grande profondeur. Et puisqu’il s’agit d’un ap-
prentisage de représentation, il est poossible de considérer des facteurs de variation sous-jacents
d’autres facteurs. Cette intuition peut provenir de l’expérience du domaine, de l’expérience des
problèmes de modélisation avec les réseaux de neurones, ou d’un mélange des deux.
Profondeur
Des chercheurs de renommée tels que Bengio et Hinton soulignent qu’empiriquement que les
réseaux de neurones profonds sont plus efficaces dans le cas de problèmes complexes.
72
Littérature
Il existe une approche fondamentalement scientifique qui consiste se référer aux travaux des
prédé- cesseurs et de s’en inspirer quant au choix de l’architecture. En tout cas cette méthode
peut constituer un point de départ pour l’expérimentation.
9.6.2 Hyper-paramètres
Une application d’Apprentissage comprend trois catégories de données :
Des données en entrée : il s’agit des exemples pourvus pour réaliser l’entrainement.
Les paramètres : la résultante de l’Etape Feature Engineering (voir 9.5). Des poids sont ensuite
affectés à ces paramètres.
Les hyperparamètres sont les variables qui régissent le processus d’entraı̂nement lui-même, il
est donc important de les optimiser. Ce sont des variables de configuration, notamment :
1. Batch size et nombre d’epochs
2. Taux d’Apprentissage et momentum
3. Initialisation des poids
4. Fonction d’Activation
5. Régularisation
Afin de trouver les paramètres les plus optimaux, les approches les plus utilisées sont les sui-
vantes sont :
Réglage manuel
Les paramètres sont choisis en se référant à l’expérience, des essais et des erreurs. L’objectif
est de trouver les hyperparamètres qui engendrent une erreur minimale.
Recherche en grille
Une grille constituée des différentes combinaisons possibles de paramètres est créée et la
meilleure option est choisie.
Recherche aléatoires
Dans ce cas, une partie des combinaisons des hyperparamètres possible est prise en compte et
la meilleure option dans celle-ci est choisie.
Batch size la taille du lot signifie le nombre de motifs affichés sur le réseau avant la mise à
jour des poids lors de l’application de la descente de gradient itérative. C’est, de surplus, le
nombre de motifs à traiter et à conserver en mémoire.
73
F IGURE 9.6 – Observation du comportement du modèle en fonction de la taille du lot
Nombre d’epochs correspond au nombre de fois où l’ensemble de données d’entraı̂nement est
affiché au réseau pendant l’entraı̂nement.
Taux d’apprentissage c’est la valeur qu’utilise le réseau pour ajuster les poids avec chaque
itération. Plus la valeur est basse, plus l’apprentissage long.
Les hyperparamètres peuvent faire une grande différence dans les performances d’un modèle
d’apprentissage automatique. Ce réglage relève de l’optimisation.
74
Table des figures
2.1 Le Perceptron . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2 Illustration d’une séparation linéaire vs non linéaire . . . . . . . . . . . . . . . . . 18
2.3 Fonction XNOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
75
4.2 1 couche cachée de 3, 6, 20 noeuds . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.3 u1, 2 et 4 couches cachées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.4 Taux de régularisation 0.01, 0.1 et 1 . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.5 Un exemple de modèle de DropConnect . . . . . . . . . . . . . . . . . . . . . . . 35
76
9.4 Tableau des données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
9.5 Normalisation et Standardisation . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
9.6 Observation du comportement du modèle en fonction de la taille du lot . . . . . . . 74
9.7 Observation du comportement du modèle en fonction du taux d’Apprentissage . . . 74
77
Liste des tableaux
78
Bibliographie
79