Vous êtes sur la page 1sur 79

RESEAU DE NEURONES ARTIFICIELS

Enseignante : ZINEB LANBOURI

Support de cours

1
Table des matières

Table des matières 2

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

6 Evaluation du Réseau de neurones 44


6.1 Matrice de confusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
6.1.1 Le Taux d’erreur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
6.1.2 Le rappel (ou sensibilité - Taux de Vrais Positifs TVP)) . . . . . . . . . 45
6.1.3 La précision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
6.1.4 Le Taux de Faux Positifs . . . . . . . . . . . . . . . . . . . . . . . . . 45
6.1.5 La spécificité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
6.1.6 D’autres métriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
6.2 Répartition des données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
6.3 Evaluation d’un modèle de régression . . . . . . . . . . . . . . . . . . . . . . 48
6.3.1 Erreur quadratique moyenne . . . . . . . . . . . . . . . . . . . . . . . 48
6.3.2 Calcul de corrélation . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

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

Table des figures 75

Liste des tableaux 78

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é.

1.1 Machine Learning


Il convient de préciser que le Machine Learning fait partie intégrante de l’Intelligence
Artificielle.

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.

1.1.1 Définition du Machine Learning


Le Machine Learning ou Apprentissage Automatique est un champ d’étude de l’intelligence
artificielle qui concerne la conception, l’analyse, le développement et l’implémentation de
méthodes permettant à une machine d’évoluer par un processus systématique. Il consiste à
apprendre, en tirant des prévisions de fonctionnement ou de comportement, à partir de masses
de données gigantesques. Il aboutit à la mise en place de programmes informatiques qui
n’auraient jamais pu être écrits en passant par de l’algorithmique classique.
Ce domaine datant de plus de 80 ans est passé par l’apprentissage statistique, les arbres de
décision, les réseaux de neurones, SVM, etc. . .
Approche Machine Learning :
Au lieu d’écrire un programme à la main pour chaque tâche spécifique, l’approche ML se
base sur une collecte d’exemples qui spécifient la sortie correcte pour une entrée donnée. Un
algorithme d’apprentissage automatique prend alors ces exemples et produit un programme
qui fait le travail.

En bref : Il s’agit de faculté donnée à un ordinateur d’apprendre un comportement à partir


d’exemples.

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..

F IGURE 1.2 – Des applications du Machine Learning

Illustration
Comment peut-on déterminer si un bien immobilier se trouve à Casablanca ou à Marrakech ?

1.1.3 Types d’Apprentissage


Il existe trois principaux types d’Apprentissage Machine, chaque type a ses propres avantages
et inconvénients. Le choix du type est, de ce fait, lié au problème à résoudre. Le type de
données disponibles est un facteur déterminant, celles-ci peuvent être soit étiquetées ou non
étiquetées.

F IGURE 1.3 – Apprentissage Supervisé vs Apprentissage non Supervisé

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.

F IGURE 1.4 – Apprentissage Supervisé

Apprentissage non supervisé


Bien que plus complexe, l’Apprentissage non supervisé peut être extrêmement bénéfique
dans le cas où les données disponibles ne sont pas étiquetées. Dans ce cas, deux options
se présentent : soit labelliser toutes les données, ce qui peut être très contraignant voire
impoossible ou utiliser un algorithme non supervisé. Il convient, d’ailleurs, d’ajouter que
les données non-étiquetées sont les plus fréquentes. Dans ce cas, l’Algorithme réalise un
Clustering ou regroupement dans lequel les éléments qui se ressemblent se retrouvent dans un
même groupe.

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.

Apprentissage par Renforcement


L’Apprentissage par Renforcement s’inspire de l’humain dans son apprentissage par l’erreur.
Dans ce cas, un agent agit dans un environnement intéractif et entreprend des actions itérées,
une action favorable est gratifiante et applaudie tandis qu’une action défavorable est punie.
Cet agent suit un enchaı̂enemnt appelé Stratégie ou Politique de telle sorte que la récompense
globale soit maximale.
L’Apprentissage par Renforcement se caractérise par les élèments clés suivants :
— Environnement : l’espace dans lequel l’agent opère
— Etat : la situation de l’agent
— Récompense : la réponse de l’environnement
— Politique : la méthode qui lie l’état de l’agent à ses actions
— Valeur : la future récompense que reçoit l’agent dans un état donné après avoir entreprise
une action

F IGURE 1.6 – Apprentissage par reforcement

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.

1.2.1 Exemple réalisé sur le cerveau humain

F IGURE 1.7 – Expérience d’apprentissage de la vue par le biais de la langue


Dans cette expérience, une caméra en niveaux de gris attachée au front, vers l’avant, prend
l’image en basse résolution et un tableau d’électrodes placé sur la langue accorde chaque em-
placement sur la langue à un pixel où, peut-être, une haute tension correspond à un pixel sombre
et une basse tension correspond à un pixel lumineux. Et, à ce jour, ce type de système permet
d’ apprendre à voir avec la langue en quelques dizaines de minutes.
Par conséquent, le cerveau naturel est un modèle très intéressant puisque’il est
— capable d’apprentissage ;
— robuste et tolérant aux fautes ;
— s’accomode d’informations incomplètes et incertaines ;
— massivement parallèle.
Vers des Réseaux de neurones artificiels :
— calculs parallèles ;
— emploi très général ;
— défaut : opacité du raisonnement
[ !h]

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.

1.2.2 Naissance du neurone formel avec Mc Culloch-Pitt (1943)

F IGURE 1.9 – Neurone formel

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.

Fonctions d’activation partiellement dérivables


Fonction Heaviside :
(
1 if u >= 0
g(u) = (1.1)
0 if u < 0
La représentation graphique de cette fonction est comme suit :

F IGURE 1.10 – Fonction d’activation binaire

Fonction Bipolaire :

1
 if u > 0
g(u) = 0 if u = 0 (1.2)

−1 if u < 0

F IGURE 1.11 – Fonction d’activation bipolaire

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

Fonctions d’activation complètement dérivables


Fonction Logistique :
1
g(u) = (1.4)
1 + exp(−βu)

F IGURE 1.13 – Fonction d’activation logistique

Fonction Hyperbolique :

1 − exp(−βu)
g(u) = (1.5)
1 + exp(−βu)

F IGURE 1.14 – Fonction d’activation hyperbolique

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

F IGURE 1.16 – Graphique représentant un modèle de Régression Linéaire

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

F IGURE 1.17 – Exemple de prédiction de biens immobiliers

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.

F IGURE 1.18 – Graphique représentatif de l’exemple

Afin de déterminer cette droite :


Etape1 : Poser une droite aléatoirement
Etape2 : Fixer le nombre d’itérations (epochs) 1000 par exemple
Etape3 : Fixer le taux d’apprentissage 0,01 par exemple
Etape4 : (Répéter 1000 fois) Prendre un point au hasard,
-si celui-ci se trouve au dessus de la ligne et à droite de l’axe y, ajouter 0,01 à la pente et ajouter
0.01 à l’ordonnée à l’origine
-si celui-ci se trouve au dessus de la ligne et à gauche de l’axe y, soustraire 0,01 à la pente et
ajouter 0.01 à l’ordonnée à l’origine
-si celui-ci se trouve en dessous de la ligne et à droite de l’axe y, soustraire 0,01 à la pente et

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.

F IGURE 2.1 – Le Perceptron

Bien que simple, le Perceptron reste un modèle qui a fait ses preuves.

La fonction d’activation adoptée est, usuellement, la fonction Heaviside ou Bipolaire, ls ortie


par conséquent prend les valeurs 0 ou 1 dans le cas de Heaviside et -1 ou 1 dans le cas Bipolaire.
L’ajustement des poids et du seuil se fait sur la base d’un Apprentissage supervisé.
Dans le cas de la fonction Bipolaire :
( P
1 si wi xi − θ >= 0
y= P (2.1)
−1 si wi xi − θ < 0

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.

2.1 Algorithme d’Apprentissage


L’ajustement des poids et du seuils de Perceptron, afin de classer les motifs qui appartiennent
à l’une des deux classes possibles, est effectué par l’utilisation de la règle d’apprentissage de
Hebb (Hebb 1949).

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.

2.2 Etapes de l’apprentissage


Les étapes de l’Apprentissage sont comme suit :
1. Initialisation des poids et du seuil à des valeurs choisies au hasard.

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

4. Si la sortie x du Perceptron est différente de la sortie désirée d pour E alors modification


des poids (µ le pas de modification) :
wi (t + 1) = wi (t) + µ(d − y)ei
Rappel : d = +1 si E est de la classe 1, d = −1 si E est de la classe 2 et (d − y) est une
estimation de l’erreur.
5. Tant que tous les exemples de la base d’apprentissage ne sont pas traités correctement
(i.e. modification des poids), retour à l’étape 2.

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.

(c) Le nombre d’époques requis pour la convergence du processus d’apprentissage varie en


fonction des valeurs initiales attribuées au vecteur de poids w, ainsi que de la disposition
initiale des échantillons d’apprentissage et de la valeur spécifiée pour le taux d’apprentissage µ.

(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 µ.

3/ Sachant que pour XNOR, y prend une valeur égale à 1 quand :


e1 et e2 sont égales à 1 en même temps

19
ou
e1 et e2 sont égales à 0 en même temps.

F IGURE 2.3 – Fonction XNOR

20
Chapitre 3

Réseau multi-couches

F IGURE 3.1 – Alvinn : véhicule autonome régi par un réseau de neurones

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

F IGURE 3.2 – Exemple

Un premier essai alétoire donne ceci :

F IGURE 3.3 – Essai aléatoire

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é.

Dérivation de la règle delta :


1/L’erreur est égale à la somme des écarts carré ;
1X n
E= (t − y n )2 (3.1)
2
2/Le changement du poids se fait sur la base de tous les autres cas d’expérience.
δE 1 X δy n dE n
=
δwi 2 wi dy n
X
=− xni (tn − y n ) (3.2)
δE X
∆wi = − = xni (tn − y n )
δwi

3.1 Propagation en avant ou Forward Propagation

F IGURE 3.4 – Propagation du signal

— La couche 0 correspond au noeuds en Entrée.


— Les couches 1 à N-1 sont les noeuds cachés
— La couche N correspond aux noeuds en Sortie
— Tous les noeuds d’une couche k sont connectés à tous les noeuds d’une couche k+1
— Il n’y a pas de cycles

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

Pour 1 couche cachée


Etape1 : pré-activation des neurones (ou activation des neurones d’Entrée)
Etape2 : fonction d’activation
X
a(x) = b + w i ∗ xi = b + w T x
X (3.3)
h(x) = g(a(x)) = g(b + w i ∗ xI )
Dans le cas de plusieurs couches cachées :
Etape1 : pré-activation des neurones pour k > 0

F IGURE 3.5 – Modèle à une seule couche cachée

h(0) (x) = a(k) (x) = b(k) + W (k) h(k−1) (x)


Etape2 : fonction d’activation
h(k) (x) = g(a(k) (x))

Comment se réalise un Apprentissage FeedForward ?


Minimisation du Risque Empirique :
Réaliser l’apprentissage revient à déterminer les bonnes valeurs pour tous les poids et le biais
à partir d’exemples. Le modèle doit s’approcher au mieux de la réponse désirée, il faut, de ce
fait, minimiser la perte. Ce processus est appelé minimisation du risque empirique.

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.

F IGURE 3.6 – Modèle à deux couches cachées

3.2 Backpropagation ou Rétropropagation


Après avoir effectué une propagation en avant suivant les équations 3.3 :

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

3.2.1 Descente de gradient

F IGURE 3.7 – Principe de Descente de Gradient

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

F IGURE 3.9 – Direction - 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

y = g(f (x)) (3.9)

δ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.

Descente de gradient par mini-lots


La descente de gradient stochastique (SGD) par mini-lots (SGD par mini-lots) offre un com-
promis entre l’itération des lots entiers et la SGD. Un mini-lot comprend généralement entre 10
et 1 000 exemples sélectionnés aléatoirement. La SGD par mini-lots limite la quantité de bruit
propre aux SGD tout en restant plus efficace que le traitement de lots entiers. Pour simplifier
notre explication, nous avons appliqué la descente de gradient à une caractéristique unique. Na-
turellement, la descente de gradient fonctionne également sur des ensembles de caractéristiques
comportant des caractéristiques multiples.

29
3.3 Taux d’apprentissage

F IGURE 3.10 – Taux d’apprentissage

Le taux d’apprentissage α est un hyperparamètre d’une grande importance. Un α trop petit


permettra une convergence lente ou un Sur-apprentissage (voir chapitre ??) tandis qu’un α trop
grand risque de faire rater le Global minima ou même diverger.
Il est, toutefois, possible d’adapter le Taux d’apprentissage ou l’ajuster avec des algorithmes,
tels que :
— Adam
— Adagrad
— Adadelta
— RMSProp
Certains algorithmes d’optimisation sont également disponibles, par exemple Ant Colony Op-
timisation (ACO), Particle Swarm Optimisation (PSO), Genetic Algorithms (GAs), Evolutio-
nary Algorithms (EAs), Differential Evolution , etc (https ://medium.com/@b.terryjack/deep-
learning-neuroevolution-extreme-learning-machines-6b448860a72a)

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

1) Réaliser l’Etape Propagation en avant ;


2) Calculer l’Erreur à chaque noeud ainsi que l’Erreur Totale ;
3) Réajuster les poids.

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

La régularisation joue un rôle clé dans de nombreux algorithmes d’apprentissage automatique.


Les deux graphiques ci-dessous montrent ce qu’est le sur-apprentissage.

F IGURE 4.1 – un sur-apprentissage dû au nombre de couches


Le graphique de gauche est une régression linéaire : On tente de trouver une droite passant au
plus près de tous les points. En effet, une régression linaire prend en entrée la liste des variables
d’un individu et retourne une sortie. Le graphique de droite n’a pas su généraliser les données,
il a sur-appris les données. Cela est dû à un nombre trop élevé de couches cachées et de nœuds
dans ces couches. La régularisation est conçue pour résoudre le problème du Sur-apprentissage.
Le biais élevé ou le sous-apprentissage est lorsque la forme de notre hypothèse correspond mal
à la tendance des données. Il est généralement causé par une fonction trop simple ou qui utilise
trop peu de fonctionnalités.
Par exemple, si nous prenons h(x) = w0 + w1 x1 + w2 x2 alors on fait une hypothèse initiale
selon laquelle un modèle linéaire correspond bien aux données de formation et sera capable de
généraliser mais ce ne sera peut-être pas le cas. D’un autre coté, le sur-apprentissage excessif
ou la variance élevée est causée par une fonction d’hypothèse adaptée aux données disponibles
mais ne se généralise pas bien pour prévoir de nouvelles données. Il est généralement causé par
une fonction compliquée qui crée de nombreuses courbes et angles inutiles sans rapport avec les

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.

4.1 Facteurs de Sur-apprentissage


Les paramètres qui déterminent l’efficacité d’un modèle dépendent des données d’entrée (donc
du nombre de nœud de la couche d’entrée) et du nombre de classe en sortie (donc du nombre
de neurones de la couche de sortie). Plus on va ajouter de couche cachée et de nœuds dans les
couches cachées, plus le modèle généré va coller aux données. Un réseau de neurones avec trop
de couche cachée va sur-apprendre les données de test et donc créer un modèle faux.

F IGURE 4.2 – 1 couche cachée de 3, 6, 20 noeuds


La séparation des points verts des points rouges par un NN à une seule couche cachée de 3, 6
et 20 nœuds.

F IGURE 4.3 – u1, 2 et 4 couches cachées

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 Solutions au Sur-apprentissage


Il existe deux options principales pour résoudre le problème du Sur-apprentissage :
1. Réduire le nombre de fonctionnalités
— Sélectionner manuellement les fonctionnalités.
— Utiliser un algorithme de sélection.
2. Régularisation
— Conserver toutes les fonctionnalités, mais réduire les poids. La régularisation fonctionne
bien lorsque nous avons beaucoup de fonctionnalités légèrement utiles.
Critères classiques :
1. Borne sur le temps de calcul (i.e., nombre d’itérations de l’algorithme)
2. Valeur à atteindre (on s’arrête quand l’erreur passe en dessous d’un seuil)
3. Vitesse de progression (on s’arrête quand l’erreur ne diminue plus assez ou quand le
vecteur de paramètres ne change plus)
En général, on combine 1 et 3
Una autre technique de Régularisation : Early stopping ou Arrêt prématuré il s’agit
d’éviter le sur-apprentissage en arrêtant l’algorithme avant d’avoir atteint le minimum. Pour
ceci, il faut utiliser un ensemble d’exemples dit de validation : on s’arrête quand l’erreur re-
monte “trop” sur cet ensemble.

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

Algorithm 1 Algorithm SGD Training with DropConnect


Require: example x, parameters θt−1 from step t - 1, learning rate α
return : updated parameters θt
ForwardPass :
Extract features : v ← g(x; W g)
Random sample M mask : Mij ∼ Bernoulli(p)
Compute activations : r = a((M W )v)
Compute output : o = s(r; W s) BackpropagateGradients : Differentiate loss A0 θ with respect
to parameters θ :
Update softmax layer : W s = W s − αA0 W s0
Update DropConnect layer : W = W − α(M × AW )
Update feature extractor : W g = W g − αA0 W g

35
Chapitre 5

Réduction de dimensionnalité

La réduction de dimensionnalité correspond simplement au processus qui permet de réduire la


dimension de l’ensemble de données. Ce dernier peut contenir une centaine de colonnes (c’est-
à-dire d’attributs ou de fonctionnalités). La réduction de dimensionnalité consiste à ramener le
nombre de colonnes à un nombre plus réduit et ce pour plusieurs raisons. Depuis l’apparition
des Réseaux de Neurones, les scientifiques ont été confronté à un obstacle majeur appelé la
malédiction de dimensionnalité. Ce terme fait référence à divers problèmes qui surviennent
dans le cas de dimensions grandes. Le modèle est, pat ailleurs, plus complexe et aboutit souvent
à un sur-apprentissage.
Voici quelques avantages de la Réduction de dimensionnalité :
— Réduction du temps et de capacité nécessaires au Calcul ;
— Réduction de l’espace de Stockage requis ;
— Suppression de redondance susceptile de biaiser le modèle ;
— Meilleure capacité de visualisaton.
La sélection des paramètres, faisant partie du Feature Engineering (voir section 9.5) est le
processus d’identification et de sélection des fonctionnalités pertinentes pour l’échantillon. La
sélection des fonctionnalités peut être effectuée manuellement ou par programme.

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).

5.1 Analyse des Composantes Principales (ACP)


L’Analyse des Composantes Principales tourne et projette les données dans le sens de la va-
riance croissante. Il s’agit d’une représentation des n individus de dmension n, dans un sous-
espace Fp de dimension p ( p petit 2, 3 . . . ; par exemple un plan). Autrement dit, on cherche p
nouvelles variables combinaisons linéaires des n variables initiales qui feront perdre le moins
d’information possible. Fp devra être  ajusté  le mieux possible au nuage des individus : la
somme des carrés des distances des individus à Fp doit être minimale. Les caractéristiques avec
la variance maximale sont les principales composantes.
Pour illustrer cette partie, nous considérons le taleau ci-dessous :

36
F IGURE 5.1 – Exemple d’application

F IGURE 5.2 – Graphe illstratif de la dispersion et de l’inertie

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

La première étape consiste à transformer l’échantillon de telle sorte à ce que le vecteur


(X̄1 , , X¯N ), (X̄1 , , X¯N ) est le centre de gravité du nuage de points.
Nous cherchons à minimser la projection ce qui revient à maximiser c selon le théorème de
Pythagore : a2 = b2 + c2 Le principe de l’ACP est de trouver un axe u, issu d’une combinaison
linéaire des Xn , tel que la variance du nuage autour de cet axe soit maximale.

5.1.1 Notion d’inertie


L’inertie indique la dispersion autour du barycentre, c’est une variance multidimensionnelle.
On définit la distance euclidienne entre deux individus par :

ei = (x1i , x2i , .., xpi )


ej = (x1j , x2j , .., xpj ) (5.1)
X
d2 (ei , ej ) = (xki − xkj )2

F IGURE 5.4 – Approximation par une doite

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.

F IGURE 5.5 – Vecteur propre

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

5.1.2 Coefficient de corrélation linéaire


Le cosinus de l’angle formé par les variables Xi et X j est le coefficient de corrélation linéaire
de ces deux variables.
cos(xi , xj ) = r(X i , X j ) (5.3)

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

Incorporation de voisin stochastique distribué en t (t-SNE) : calcule la probabilité que des


paires de points de données dans l’espace de grande dimension soient liées, puis choisit une
incorporation de faible dimension qui produit une distribution similaire.

5.2.1 Cartographie des entités isométriques (Isomap)


Cette technique projette les données dans une dimension inférieure tout en préservant la
distance géodésique (plutôt que la distance euclidienne comme dans MDS). La distance
géodésique est la distance la plus courte entre deux points sur une courbe.

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

Evaluation du Réseau de neurones

Objectif : Mesurer la qualité du système obtenu

F IGURE 6.1 – L’évaluation d’un modèle d’apprentissage

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.

F IGURE 6.2 – Matrice de Confusion

Nous obtenons, de ce fait, les indicateurs suivants :

6.1.1 Le Taux d’erreur


La proportion de mal classés, il estime la probabilité de mal classer un individu pris au hasard
dans la population lorsque l’on applique le modèle de prédiction.
c+b a+d
= =1− (6.1)
n n
On appellera  cible  les individus qui ont été classés  positifs .

6.1.2 Le rappel (ou sensibilité - Taux de Vrais Positifs TVP))


La fraction des positifs intégrés dans la cible, il correspond à la probabilité
P (ω ∈ cible, Y (ω)+ =).
a
Se = (6.2)
a+b

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

6.1.4 Le Taux de Faux Positifs


La fraction des négatifs qui ont été intégrés dans la cible.
c
TFP = (6.4)
c+d

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).

6.1.6 D’autres métriques


En plus des mesures citées ci-dessus, d’autres métriques sont souvent utilisées afin de mesurer
au mieux la Performance d’un Algorithme donnée. Par exemple, la précision seule pourrait
induire en erreur dans le cas d’un échantillon déséquilibrée.

Métrique de Définition Formule


Performance
2
F1 score Moyenne harmonique de la 1 1
+ Recall
P recision
précision et recall. p
G-mean Estimation de la moyenne (P recision × Recall)
géometrique du Recall des classes
positives et négatives [3]
a×d−c×b
MCC (Matthews correlation coefficient) (a+c)(a+b)(d+c)(d+b)
Corrélation entre les classifications
binaires observées et prédites [4]
AlertD Nombre d’Alertes par jour a0 = Ptier1 × T V P
c0 = Ntier1 × T F P
AlertD = a0 + c0
TABLE 6.1 – Métriques de Performance

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

6.2 Répartition des données


Afin d’évaluer la performance d’un modèle donnée, il faut d’abord recourir à une répartition
de données. Et ce, afin destimer cette performance sur la base de prédictions réalisées sur des
données autres que celles de l’Apprentissage. Ainsi, il s’agit de diviser l’ensemble de données
en deux sous-ensembles :
— ensemble d’entraı̂nement : un sous-ensemble pour entraı̂ner un modèle.
— ensemble de test : un sous-ensemble pour tester le modèle entraı̂né.

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)

6.3 Evaluation d’un modèle de régression


6.3.1 Erreur quadratique moyenne
Pour évaluer un modèle de régression, il faut calculer l’erreur qui revient à calculer la somme
des résidus entre les valeurs prédites et les valeurs observées. Mais avant, il faut procéder à
une nrmalisation de ces valeurs. On obtient ainsi l’erreur quadratique moyenne, ou MSE, pour
Mean Squared Error. RMSE est calculée comme la racine carrée de la moyenne de la différence
quadratique entre les valeurs prévues et les valeurs observées. Et ce pour se ramener à l’unité
de y.
1X
M SE = (yi − f (xi ))2
n
r (6.6)
1X
RM SE = (yi − f (xi ))2
n
Les résidus mesurent la distance des points de données de la ligne de régression. En d’autres
termes, la RMSE montre à quel point les données sont concentrées autour de la ligne du
meilleur ajustement.

6.3.2 Calcul de corrélation


Même si les valeurs à prédire ont toutes le même ordre de grandeur, la RMSE peut être difficile
à interpréter, puisque cette erreur peut être significative dans un domaine plus qu’un autre. C’est
pour cette raison que l’on peut choisir de normaliser la somme des carrés des résidus non pas
par le nombre de points n, mais par la somme des distances entre chacune des valeurs à prédire
et leur moyenne. Le résultat s’appelle l’erreur carrée relative, ou RSE pour Relative Squared
Error.

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))

F IGURE 6.5 – Coefficient de corrélation Person (tiré de Wikipédia)

49
Chapitre 7

Réseaux particuliers

7.1 Les Réseaux récurrents


Un réseau de neurones récurrent peut être considéré comme plusieurs copies du même NN,
chaque copie envoie l’information à son successeur.

st = f (U xt + W (st−1 ) (7.1)

Les applications sont nombreuses : speech recognition, language modeling, translation, image
captioning. . .

F IGURE 7.1 – Les réseaux récurrents

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 ;

7.1.2 Les inconvénients


Inconvénient1 : L’un des principaux problèmes de BPTT est le coût élevé De la mise à
jour de chaque paramètre séparément, ce qui rend impossible l’utilisation d’un grand nombre
d’itérations. Par exemple, le gradient d’un RNN sur séquences de longueur 1000 coûte
l’équivalent d’un passage vers l’avant et d’un retour dans un réseau neuronal qui a 1000
couches. En principe, le réseau récurrent est un modèle simple et puissant, en pratique, il est
malheureusement difficile. Inconvénient2 : Dans la phase de rétro-propagation, l’erreur est
multipliée plusieurs fois par la matrice de poids associée à la connexion récurrente.

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.

7.2 Sel Organizing Map


Self-Organizing Map ou carte auto-adaptative ou encore cartes Kohonen comprend une classe
de RNN fondée sur de l’Apprentissage non supervisé. Celles-ci sont utilisées pour cartogra-
phier un espace réel, c’est-à-dire pour étudier la répartition de données dans un espace à grande
dimension. En pratique, cette cartographie peut servir à réaliser des tâches de discrétisation ou
de classification.

F IGURE 7.5 – SOM

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 ;

F IGURE 7.6 – Rétropropagation


2) Calculer l’Erreur à chaque noeud ainsi que l’Erreur Totale ;
3) Réajuster les poids.

53
Exercice 2 :

F IGURE 7.7 – Exercice

Ajuster les poids en prenant en compte les poids initiaux et α = 0, 6.


La matrice converge vers :

F IGURE 7.8 – Matrice de convergence

7.3 Long-Short Term Memory


Proposé par Hochreiter & Schmidhuber (1997) et depuis lors a été modifié par de nombreux
chercheurs. L’architecture LSTM se compose d’un ensemble de sous-réseaux , connus sous le
nom de blocs de mémoire. Chaque bloc de mémoire se compose de :
— la cellule de mémoire : stocke l’état
— la porte d’entrée : contrôle ce qu’il faut apprendre
— la porte de l’oubli : contrôle ce qu’il faut oublier
— la porte de sortie : contrôle la quantité de contenu à modifier
Contrairement à l’unité récurrente traditionnelle qui écrase son contenu chaque timestep, l’unité
LSTM peut décider de conserver la mémoire existante via les portes introduites. Ce bloc
mémoire nous permet donc de :
— Forget (vider la mémoire)

54
F IGURE 7.9 – Long-Short Term Memory

— Input (ajouter à la mémoire)


— Output (récupérer de la mémoire)
Le bloc de mémoire est un sous-réseau qui permet à une unité LSTM d’oublier, de mémoriser
et d’exposer le contenu de la mémoire. La porte d’entrée contrôle le degré auquel le nouveau
contenu de mémoire est ajouté à la cellule de mémoire

it = σ(Wi xt + Ui ht1 + bi ) (7.2)

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.

ft = σ(Wf xt + U f ht−1 + bf ) (7.4)

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 .

Ct = ft (Ct−1 + it Ĉt ) (7.5)

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

F IGURE 7.10 – Les équations de LSTM

7.4 Gated Recurrent Unit


Proposé par Cho et al. [2014],Il est similaire à LSTM dans l’utilisation des fonctions de portes,
mais diffère de LSTM puisqu’il n’a pas de cellule de mémoire.
— Chaque GRU se compose de : la barre de mise à jour - reset
— Paramètres du modèle : Xt l’entrée à l’instant t
— Matrices de poids : Wz , Wr , WH , Uz , Ur , UH

F IGURE 7.11 – Gated Recurrent Unit

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)

F IGURE 7.12 – Deep Learning

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

7.5.1 Les Autoencodeurs


Composés de 2 réseaux symétriques. L’encodeur apprend à compresser l’input tandis que le
décodeur reconstruit l’input.

F IGURE 7.14 – Les auto-encoders

7.5.2 Convolutional Neural Network (CNN)


Inspiré du système visuel humain, plusieurs couches de transformation sont appliquées pour
retenir la complexité de la représentation de l’input. Ici par exemple, une image 3D est trans-
formée en un vecteur de probabilités. Le CNN filtre les données inutiles et donc réduit l’espace
mémoire.

58
F IGURE 7.15 – Les Réseaux de neurones convolutionnels

7.5.3 Deep Belief Network


Le DBN est un réseau dont les connexions entre les couches sont indirectes. Ces couches indi-
rectes sont appelées RBM. Le training se fait en utilisant un apprentissage non supervisé. Selon
Hinton (2006), chaque RBM suit un préapprentissage (contrastive divergence), ensuite tout le
réseau procède à un  fine-tuning  selon un apprentissage supervisé.

F IGURE 7.16 – Deep Belief Network

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.

F IGURE 8.1 – Méthodes d’Ensemble

8.1 Techniques simples


8.1.1 Averaging
Dans l’objectif de réduire le biais ainsi que la variance, la moyenne ou Averaging est réalisé
comme suit :
— Générer N modèles avec des valeurs initiales aléatoires
— Apprendre pour chaque modèle séparément
— Calculer la moyenne des sorties pour obtenir la sortie finale.

60
F IGURE 8.2 – Averaging

8.1.2 Weighted Averaging


La moyenne pondéréer ou Weighted Averaging considère que les modèles n’ont pas tous la
même performance. Par conséquent, leur impact doit être proportionnelle à leur performance.
Une comparaison de R2 permet de donner des poids à chacun des modèles.
Par exemple :
-Si R2 du premier modèle est égale à 0,8 => le poids associé est 2
-Si R2 du second modèle est égale à 0,6 => le poids associé est 2
-Si R2 du troisième modèle est égale à 0,3 => le poids associé est 1
La décision finale sera égale à la moyenne pondérée des décisions des trois modèles cités plus-
haut.

61
F IGURE 8.3 – Weighted Averaging

8.1.3 Majority Voting (Hard mode/Soft mode)


La technique de vote a pour but d’améliorer la performance. Lorsqu’il s’agit de régression,
le vote correspond à la moyenne des sorties tandis que lorsqu’il s’agit de Classification, la
décision finale revient à la majorité des sorties.

F IGURE 8.4 – Majority Voting

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 Techniques avancées


En statistiques, l’échantillonnage par bootstrap est une méthode qui consiste à tirer des
échantillons de données à plusieurs reprises avec remplacement à partir d’une source de
données (voir figure 8.5). A l’issue de cette répartition, une prédiction est appliquée sur chaque
partie de l’échantillon et ensuite la moyenne (Averaging)n la moyenne pondérée ou le Max
Voting est effectuée pour obtenir la décision finale. Ainsi, une meilleure Accuracy est obtenue
et le sur-apprentissage peut être évité.

F IGURE 8.5 – Bootstrap

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.

F IGURE 8.6 – Bagging vs Boosting from [5]


Par exemple, dans le cas d’une Classification binaire, si le Dataset est réparti en N parties. Cha-
cune de ces parties donne naissance à un modèle. Ensuite, ce modèle effectue une prédiction
sur le Test Set. Si plus de n2 donnent comme résultat 1 et que la Majority Voting est appliqué
alors la décision finale correspond à la classe 1.

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.

F IGURE 8.8 – Stacking

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.

9.1 Etape 0 : Identifier et comprendre le problème


Une étape en amont consiste à comprendre le problème à traiter. On ne peut évaluer un modèle
si on ignore sa finalité. Il est, par conséquent, nécessaire d’identifier la valeur à prédire, les
données de base en ensuite le chemin qui les lie.

F IGURE 9.1 – Apprentissage supervisé et apprentissage non supervisé

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

9.2 Etape 1 : Acquisition des données


Un modèle de Machine Learning est, par définition, un modèle d’Apprentissage sur la
base d’exemples, d’où l’importance de ces exemples. En fonction du problème à trai-
ter, les données peuvent être soit internes et propres au problème ou à l’entité intéressée
soit générales et peuvent donc s’impirer de données publiques. Des données publiques
sont disponibles sur plusieurs plateformes, certaines sont propres à un domaine prédéfini,
d’autres sont généralisées telles que Kaggle et UCI. Afin d’illustrer les étapes suivantes
de l’implémentation, nous utiliserons des données du e-commerce d’habillement féminin
inspirées de Kaggle sur https ://www.kaggle.com/nicapotato/womens-ecommerce- clothing-
reviews ?select=Womens+Clothing+E-Commerce+Reviews.csv.

9.3 Etape 2 : Exploration des données


L’exploitation des données passe d’abord par la compréhension de celles-ci. Les données sont
collectées à partir de toutes les sources de données applicables à cette étape. Des outils de visua-
lisation des données sont souvent utilisés à cette étape afin d’explorer les propriétés des données
pour s’assurer qu’elles contribueront à la réalisation des objectifs. Les données peuvent être
différentes : géolocalisation, données en texte (sentiment, commentaire), données médicales,
transactions, etc.
Certaines données peuvent donner naissance à des Classes, ou à l’attribution de score ou encore
à l’établissement de règles.
Il convient égalemment de distinguer Attribut - valeur :
— La valeur d’un attribut est un nombre ou un symbole.
— La valeur est soit quantitative (numérique exprime une quantité), discrère (ex : nombre
d’étudiants) ou continue (ex : longueur), échelle proportionnelle (chiffre d’affaires, taille), ou
échelle d’intervalle (température, QI)
— Soit qualitative telle une variable ordinale (classement à un concours, échelle de satisfaction
client), une variable nominale (couleur des yeux, diplôme obtenu, CSP, sexe)
— Les modalités d’une variable sont l’ensemble des valeurs qu’elle prend dans les données
ex : les modalité de notes sont 0, 1, 2, · · · , 20 les modalités de couleur sont bleu,vert,noir,...

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.

F IGURE 9.3 – Data Engineering

9.4.1 Nettoyage des données


Le nettoyage des données est une étape qui a pour but de détecter les données incorrectes ou
non pertinentes qui peuvent affecter le modèle et par conséquent les résultats.

La correction de ces données dites ”sales” passe par :


— La correction des doublons,
— La correction des erreurs de saisie.
— Le contrôle sur l’intégrité des domaines de valeurs : détection des valeurs aberrantes.
Ainsi, les données sont plus cohérentes et donc plus fiables. Sue le tableau ci-dessous, les
données marquées en Orange sur le taleau snt des doublons, en Vert sont des données aberrantes
et en Rose des erreurs de saisie.

9.4.2 Gestion des données manquantes


Des données manquantes dans l’ensemble de données d’apprentissage peuvent réduire la
puissance du modèle ou peuvent conduire à un modèle biaisé. Cela peut conduire à une
mauvaise prédiction ou classification. Afin de gérer les blancs ou les valeurs manquantes,
nous commençons par déterminer le type dont il s’agit. Le tableau ci-dessous constitue un
récapitutatif des types de valeurs manquantes selon le tableau 7.4.2 :

68
F IGURE 9.4 – Tableau des données

Méthodes pour gérer les valeurs manquantes :


Avant de gérer ces valeurs manquantes, il faut déterminer le type dont il s’agit. Le tableau ci-
dessous constitue un récapitutatif des types de valeurs manquantes 9.1 selon [6] :
Types de données manquantes Explication
Données manquantes La probabilité qu’une observation soit man-
complètement aléatoirement quante ne dépend pas des mesures observées ou
non observées.
Données manquantes aléatoirement Connaissant les données observées, le
mécanisme de non réponse ne dépend pas
des données non observées.
Données manquantes non Les raisons pour lesquelles les données sont
aléatoirement manquantes dépendent des données man-
quantes elles-mêmes
TABLE 9.1 – Types de Valeurs manquantes
Pour gérer ces blancs, les techniques suivantes peuvent être appliquées seules ou conjointement.

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.

9.4.3 Gestion des données aberrantes


Les données aberrantes signifient une ou des observations qui s’éloignent de l’échantillon
global. La valeur aberrante nécessite une attention particulière, sinon elle peut aboutir à des
modèles complètement erronnés. La méthode la plus utilisée pour détecter les valeurs aber-
rantes est la visualisation avec l’histogramme par exemple. Diverses méthodes de visualisation
sont disponibles, telles que Box-plot, Histogram, Scatter Plot.

TABLE 9.2 – Gestion des données aberrantes

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 lepluspetit 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.

9.4.4 Normalisation et Standardisation


La normalisation est une technique de mise à l’échelle dans laquelle les valeurs sont décalées et
remises à l’échelle de sorte qu’elles finissent par se situer entre 0 et 1. Elle est également connue
sous le nom de mise à l’échelle Min-Max. La standardisation est une autre technique de mise
à l’échelle où les valeurs sont centrées autour de la moyenne avec un écart-type unitaire. Cela
signifie que la moyenne de l’attribut devient zéro et que la distribution résultante a un écart-type
unitaire.

F IGURE 9.5 – Normalisation et Standardisation

9.5 Etape 4 : Feature Engineering ou Paramétrage


Il s’agit de l’exploitation des données en vue d’en extraire un maximum d’informations utiles.
Par exemple, si nous souhaitons prédire le menu d’un restaurant et que nous disposons des
données quoti- diennes sous la forme jour/mois, il est plus pertinent d’en tirer les jours de
semaine. Cette modification par exemple relève de l’ingénierie des paramètres.

9.5.1 Transformation de variables


Pour transformer les variables, les méthodes suivantes peuvent être utilisées : Logarithme :
Celle-ci permet de modifier la forme de distribution de la variable, pour réduire l’asymétrie.
Racine carrée /carré : Le carré peut être appliqué à des valeurs négatives, y compris zéro. La
racine carrée peut être appliquée à des valeurs positives, y compris zéro. Catégorisation : Ou le
Scoring permet de transormer des données continues en catégories.

9.5.2 Création de variables


Il s’agit de la création de nouvelles variables à partir de variables existantes à l’aide d’un en-
semble de fonctions ou de méthodes différentes. Le choix de ces nouvelles variables dépend
intrinséquement du problème à traiter.

9.5.3 Réduction de Dimensionnalité


En fait, 90% des données qiu existent actellement dans le monde ont été générées au cours des
3-4 dernières années. Parmi les avantages de la réduction de dimensionnalité on peut citer :
— L’espace de stockage est réduit ;
— Le temps de calcul est réduit ;
— Certains algorithmes ne sont pas performants lorsque le nombre de paramètres est élevé ;

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é).

9.6 Etape 5 : Modélisation


9.6.1 Architecture
L’architecture d’un réseau de neurones prend en compte la profondeur de celui-ci, ce qui si-
gnifie le nombre de couches cachés ais aussi sa largeur caractérisée par le nombre de noeuds
dans chaque couche. Le nombre de couches cachées et le nombre de neurones dans chacune de
ces couches cachées doivent être soigneusement considérés. Peu de noeuds dans les couches
cachées ne permettra pas de détecter de manière adéquate les signaux dans un ensemble de
données compliqué. Par contre, un surplus de noeuds ou de couches peut engendrer un surap-
prentissage. Un point de départ pour déterminer un nombre acceptable de neurones à utiliser
dans les couches cachées consiste à utiliser l’une des méthodes suivantes :
— Le nombre de neurones cachés doit être compris entre la taille de la couche d’entrée et la
taille de la couche de sortie.
— Le nombre de neurones cachés doit être 2/3 de la taille de la couche d’entrée, plus la taille
de la couche de sortie.
— Le nombre de neurones cachés doit être inférieur à deux fois la taille de la couche d’entrée.
Afin de déterminer le choix du nombre de couches et de noeuds dans un réseau de neurones, 5
approches sont à considérer :

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.

F IGURE 9.7 – Observation du comportement du modèle en fonction du taux d’Apprentissage

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

1.1 Le Machine Learning fait partie de l’Intelligence Artificielle . . . . . . . . . . . . 6


1.2 Des applications du Machine Learning . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3 Apprentissage Supervisé vs Apprentissage non Supervisé . . . . . . . . . . . . . . 7
1.4 Apprentissage Supervisé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.5 Apprentissage non Supervisé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.6 Apprentissage par reforcement . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.7 Expérience d’apprentissage de la vue par le biais de la langue . . . . . . . . . . . . 10
1.8 Neurone humain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.9 Neurone formel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.10 Fonction d’activation binaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.11 Fonction d’activation bipolaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.12 Fonction d’activation symétrique . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.13 Fonction d’activation logistique . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.14 Fonction d’activation hyperbolique . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.15 Fonction d’activation gaussienne . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.16 Graphique représentant un modèle de Régression Linéaire . . . . . . . . . . . . . 14
1.17 Exemple de prédiction de biens immobiliers . . . . . . . . . . . . . . . . . . . . . 15
1.18 Graphique représentatif de l’exemple . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.1 Le Perceptron . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2 Illustration d’une séparation linéaire vs non linéaire . . . . . . . . . . . . . . . . . 18
2.3 Fonction XNOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.1 Alvinn : véhicule autonome régi par un réseau de neurones . . . . . . . . . . . . . 21


3.2 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.3 Essai aléatoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.4 Propagation du signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.5 Modèle à une seule couche cachée . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.6 Modèle à deux couches cachées . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.7 Principe de Descente de Gradient . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.8 Descente de Gradient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.9 Direction - magnitude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.10 Taux d’apprentissage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.11 exercice en Backpropagation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

4.1 un sur-apprentissage dû au nombre de couches . . . . . . . . . . . . . . . . . . . . 32

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

5.1 Exemple d’application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37


5.2 Graphe illstratif de la dispersion et de l’inertie . . . . . . . . . . . . . . . . . . . . 37
5.3 Représentation graphique de l’échantillon . . . . . . . . . . . . . . . . . . . . . . 38
5.4 Approximation par une doite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.5 Vecteur propre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
5.6 Cercle de Corrélation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.7 Distance Géodésique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

6.1 L’évaluation d’un modèle d’apprentissage . . . . . . . . . . . . . . . . . . . . . . 44


6.2 Matrice de Confusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
6.3 Exemple d’application de la Matrice de Confusion . . . . . . . . . . . . . . . . . . 47
6.4 Cross-validation (tiré de Wikipédia) . . . . . . . . . . . . . . . . . . . . . . . . . 48
6.5 Coefficient de corrélation Person (tiré de Wikipédia) . . . . . . . . . . . . . . . . . 49

7.1 Les réseaux récurrents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50


7.2 La flexibilité des Réseaux récurrents . . . . . . . . . . . . . . . . . . . . . . . . . 51
7.3 La traduction machine réalisé par un réseau récurrent(Image Source : Stanford lec-
tures) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
7.4 Réseau récurrent : un algorithme séquentiel . . . . . . . . . . . . . . . . . . . . . 52
7.5 SOM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
7.6 Rétropropagation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
7.7 Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
7.8 Matrice de convergence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
7.9 Long-Short Term Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
7.10 Les équations de LSTM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
7.11 Gated Recurrent Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
7.12 Deep Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
7.13 Deep Learning - apprentissage de représentations . . . . . . . . . . . . . . . . . . 58
7.14 Les auto-encoders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
7.15 Les Réseaux de neurones convolutionnels . . . . . . . . . . . . . . . . . . . . . . 59
7.16 Deep Belief Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

8.1 Méthodes d’Ensemble . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60


8.2 Averaging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
8.3 Weighted Averaging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
8.4 Majority Voting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
8.5 Bootstrap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
8.6 Bagging vs Boosting from [5] . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
8.7 Blending . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
8.8 Stacking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

9.1 Apprentissage supervisé et apprentissage non supervisé . . . . . . . . . . . . . . . 66


9.2 Les étapes de l’implémentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
9.3 Data Engineering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

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

6.1 Métriques de Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

9.1 Types de Valeurs manquantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69


9.2 Gestion des données aberrantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

78
Bibliographie

[1] Sylvain Ferrandiz. Comparaison de différentes approches de l’évaluation supervisée.


Mathématiques et Sciences humaines., (187) :59–77, 2009.
[2] Li Wan, Matthew Zeiler, Sixin Zhang, Yann Le Cun, and Rob Fergus. Regularization of
neural networks using dropconnect. International conference on machine learning, pages
1058–1066, 2013.
[3] Huaping Guo, Hongbing Liu, Changan Wu, Weimei Zhi, Yan Xiao, and Wei She. Logis-
tic discrimination based on g-mean and f-measure for imbalanced problem. Journal of
Intelligent & Fuzzy Systems, 31(3) :1155–1166, 2016.
[4] Davide Chicco and Giuseppe Jurman. The advantages of the matthews correlation coeffi-
cient (mcc) over f1 score and accuracy in binary classification evaluation. BMC genomics,
21(1) :1–13, 2020.
[5] Xin Yang, Yifei Wang, Ryan Byrne, Gisbert Schneider, and Shengyong Yang. Concepts
of artificial intelligence for computer-assisted drug discovery. Chemical reviews,
119(18) :10520–10594, 2019.
[6] Njamen Kengdo Arsène Aurélien and Steve Kwatcho Kengdo. Gestion des donnees man-
quantes dans les bases de donnees en sciences sociales : Algorithme nipals ou imputation
multiple ? European Scientific Journal, 12, 12 2016.
[7] Ibrahim Alameddine, Melissa A Kenney, Russell J Gosnell, and Kenneth H Reckhow. Ro-
bust multivariate outlier detection methods for environmental data. Journal of environmen-
tal engineering, 136(11) :1299–1304, 2010.

79

Vous aimerez peut-être aussi