100% ont trouvé ce document utile (1 vote)
1K vues253 pages

Cours IA

Le cours 'IA & Big Data' aborde l'explosion des données provenant de diverses sources et l'importance de la data science et du machine learning dans la prise de décision en entreprise. Il explique les concepts de machine learning, y compris l'apprentissage supervisé et non supervisé, ainsi que leur application dans des domaines variés comme la reconnaissance de caractères et la prédiction de comportements. Le document souligne également le besoin croissant d'analyses de données pour améliorer la compétitivité des entreprises.

Transféré par

jalleliamir
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
100% ont trouvé ce document utile (1 vote)
1K vues253 pages

Cours IA

Le cours 'IA & Big Data' aborde l'explosion des données provenant de diverses sources et l'importance de la data science et du machine learning dans la prise de décision en entreprise. Il explique les concepts de machine learning, y compris l'apprentissage supervisé et non supervisé, ainsi que leur application dans des domaines variés comme la reconnaissance de caractères et la prédiction de comportements. Le document souligne également le besoin croissant d'analyses de données pour améliorer la compétitivité des entreprises.

Transféré par

jalleliamir
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Cours

« IA & Big Data »

M2 IoT & TD

Enseignante : Dr. Rym Besrour

A.U : 2023/2024
Explosion des données issues de
plusieurs sources :

• Données de comportement (utilisation du téléphone, de la carte


bancaire ,..)
• Données CRM (contact avec un service client, carté de fidélité,..)
• Données externes provenant des administrations (Open Data) ou
des mégabases de données privées.
• Capteurs utilisés pour collecter des informations climatiques, de
trafic et de consommation.
• Données de tracking sur Internet (sites visités, mots-clés
recherchés …
• Contenu partagé sur Internet (blogs, photos, vidéos,…)
• Opinions exprimés dans les réseaux sociaux.
1/2 Chefs d’entreprise disent
qu’ils n’ont pas accès aux
informations dont ils ont
besoin pour faire leur travail.
83 % Des DSI veulent exploiter
« L’informatique décisionnelle et
analytique » pour améliorer leur
compétitivité
1/3 Chefs d’entreprise
prennent fréquemment des
décisions basées sur des 60 % Des PDG ont besoin
informations en lesquelles ils d’améliorer la capture et la
n’ont pas confiance, ou qu’ils compréhension des
n’ont pas. informations pour prendre
des décisions plus
rapidement.

Rym Besrour 3
Rym Besrour 4
La data science (science des données) et le machine learning

(ou apprentissage automatique) sont deux mots très en vogue lorsque l'on parle de

la révolution Big Data, de prédiction des comportements ou tout simplement de la

transformation numérique des entreprises.


Qu’est-ce que la data science ?
Le premier objectif du data scientist est de produire des méthodes (automatisées, autant que possible) de tri
et d'analyse de données, afin d'en extraire des informations utiles.
Le besoin d'un data scientist est apparu pour trois raisons principales :
• l'explosion de la quantité de données produites et collectées par les humains ;
• l'amélioration et l'accessibilité plus grande des algorithmes de traitement des données ;
• l'augmentation exponentielle des capacités de calcul des ordinateurs.

L’objectif est de récupérer des données de plusieurs sources


différentes et d’en extraire des informations qui vont servir
l’entreprise, notamment l’aide à la décision (“data-driven decision”).
AI vs ML vs DL
Classement des concepts

Le Machine Learning et le Deep Learning font partie de l’Intelligence


Artificielle. Ces approches ont toutes deux pour résultat de donner aux
Rym Besrour
ordinateurs la capacité de prendre des décisions intelligentes. 7
Chapitre1
Présentation du Machine Learning

Introduction
1. Qu’est-ce que le Machine Learning?
2. Types de problème en ML
Apprentissage supervisé
Apprentissage non supervisé
3. Types de Données
4. Méthodologie de travail
Introduction

Le machine learning est un domaine captivant. Issu de nombreuses disciplines comme les statistiques,
l’optimisation, l’algorithmique ou le traitement du signal, c’est un champ d’études en mutation constante qui
s’est maintenant imposé dans notre société.

Déjà utilisé depuis des décennies dans la reconnaissance


automatique de caractères ou les filtres anti-spam, il sert
maintenant à protéger contre la fraude bancaire, recommander
des livres, films, ou autres produits adaptés à nos goûts, identifier
les visages dans le viseur de notre appareil photo, ou traduire
automatiquement des textes d’une langue vers une autre.

Rym Besrour 9
Objectifs

- Définir le machine learning


- Identifier si un problème relève ou non du machine learning
- Donner des exemples de cas concrets relevant de grandes classes de problèmes de machine
learning.

Rym Besrour 10
1. Qu’est-ce que le Machine Learning

L’apprentissage automatique est la science de programmer les ordinateurs


de sorte qu’ils puissent apprendre à partir de données.

« L’apprentissage automatique est la discipline donnant aux ordinateurs la


capacité d’apprendre sans qu’ils soient explicitement programmés »
Arthur Samuel, 1959
1. Qu’est-ce que le Machine Learning

Exemple
➢ Supposons qu’une entreprise veuille connaître le montant total dépensé par un client ou une cliente à
partir de ses factures. Il suffit d’appliquer un algorithme classique, à savoir une simple addition : un
algorithme d’apprentissage n’est pas nécessaire.

➢ Supposons maintenant que l’on veuille utiliser ces factures pour déterminer quels produits le client est
le plus susceptible d’acheter dans un mois. Bien que cela soit vraisemblablement lié, nous n’avons
manifestement pas toutes les informations nécessaires pour ce faire. Cependant, si nous disposons de
l’historique d’achat d’un grand nombre d’individus, il devient possible d’utiliser un algorithme de
machine learning pour qu’il en tire un modèle prédictif nous permettant d’apporter une réponse à
notre question.
1. Qu’est-ce que le Machine Learning

Expériences Tâches à faire Performance


Bases de données

Prix d’une maison Prédire le prix d’une maison Prix correct ?


Images Catégoriser les images Images correctement classifier ?
Transactions d’un client Regrouper les clients Regroupement cohérent ?

« Etant donné une tâche T et une mesure de performance P, on dit qu’un programme
informatique apprend à partir d’une expérience E si les résultats obtenus sur T,
mesurés par P, s’améliorent avec l’expérience E ».
Tom Mitchell, 1997
Rym Besrour 13
1. Qu’est-ce que le Machine Learning

Exemple1 : Reconnaissance de spam


Le filtre anti-spam est un programme d’apprentissage automatique
qui peut apprendre à identifier les spam des messages normaux.

Les exemples utilisés par le système pour son apprentissage


constituent le jeu d’entrainement : training set.

Chacun d’eux s’appelle une observation d’entrainement


(échantillon)

La tâche T consiste à identifier parmi les nouveaux e-mails ceux qui


sont frauduleux, l’expérience E est constituée par les données
d’entrainement, et la mesure de performance P, appelée exactitude
(accuracy) doit être définie. 14
1. Qu’est-ce que le Machine Learning

Exemple2 : Reconnaissance de caractère


Comment reconnaitre des caractères manuscrits?
o Par énumération de règles
• Si intensité pixel à la position ….. Alors c’est un « 3 »
• Long et fastidieux, difficile de couvrir tous les cas
o En demandant à la machine d’apprendre
• Lui laisser faire des essais et apprendre de ses erreurs
➔ Apprentissage machine (Machine Learning)

Comment ça marche ?
o On donne à l’algorithme des données d’entrainement
o L’algorithme d’apprentissage machine apprend un modèle capable de
généraliser à de nouvelles données
Rym Besrour 15
1. Qu’est-ce que le Machine Learning

Pourquoi utiliser le machine learning?

Le machine Learning peut servir à résoudre des problèmes :


• que l’on ne sait pas résoudre (ex : prédiction d’achats …),
• que l’on sait résoudre, mais dont on ne sait formaliser en termes algorithmiques comment nous les
résolvons (ex : reconnaissance d’images ,compréhension du langage naturel) ;
• que l’on sait résoudre, mais avec des procédures beaucoup trop gourmandes en ressources
informatiques (c’est le cas par exemple de la prédiction d’interactions entre molécules de grande taille,
pour lesquelles les simulations sont très lourdes).

Le Machine Learning est donc utilisé quand les données sont


abondantes (relativement), mais les connaissances peu
Rym Besrour
accessibles ou peu développées 16
1. Qu’est-ce que le Machine Learning

Le Machine Learning repose sur deux piliers fondamentaux :


• les données qui sont les exemples à partir duquel l’algorithme va apprendre.
• l’algorithme d’apprentissage, qui est la procédure que l’on fait tourner sur ces données pour produire
un modèle. On appelle entraînement le fait de faire tourner un algorithme d’apprentissage sur un jeu de
données.

Ces deux piliers sont aussi importants l’un que l’autre :


1. D’une part, aucun algorithme d’apprentissage ne pourra créer un bon modèle à partir de données
qui ne sont pas pertinentes.
2. D’autre part, un modèle appris avec un algorithme inadapté sur des données pertinentes ne pourra
pas être de bonne qualité.

Ces deux piliers sont aussi importants l’un que l’autre. D’une part, aucun algorithme d’apprentissage ne
pourra créer un bon modèle à partir de données qui ne sont pas pertinentes – c’est le concept garbage in,
garbage out qui stipule qu’un algorithme d’apprentissage auquel on fournit des données de mauvaise qualité
ne pourra rien en faire d’autre que des prédictions de mauvaise qualité. D’autre part, un modèle appris avec
un algorithme inadapté sur des données pertinentes ne pourra pas être de bonne qualité.
Rym Besrour 17
1. Qu’est-ce que le Machine Learning

Un algorithme d’apprentissage permet de modéliser


un phénomène à partir d’exemples.

Exemples de reformulation de problèmes de machine learning sous la forme d’un problème d’optimisation.

• un vendeur en ligne peut chercher à modéliser des types représentatifs de clientèle, à partir des
transactions passées, en maximisant la proximité entre clients et clientes affectés à un même type
• une compagnie automobile peut chercher à modéliser la trajectoire d’un véhicule dans son
environnement, à partir d’enregistrements vidéo de voitures, en minimisant le nombre d’accidents
• des chercheurs en génétique peuvent vouloir modéliser l’impact d’une mutation sur une maladie, à
partir de données patient, en maximisant la cohérence de leur modèle avec les connaissances de
l’état de l’art ;
• une banque peut vouloir modéliser les comportements à risque, à partir de son historique, en
maximisant le taux de détection de non solvabilité.

Rym Besrour 18
2. Types de problèmes de Machine Learning

❑ Apprentissage supervisé : fouille supervisée


▪ Processus qui prend en entrée des exemples d’apprentissage contenant à la fois des données
d’entrée et de sortie.
▪ Les exemples d’apprentissage sont fournis avec leur classe.
▪ But : classer correctement un nouvel exemple.
▪ Utilisés principalement en classification et prédiction.

❑ Apprentissage non supervisé : fouille non supervisée


▪ Processus qui prend en entrée des exemples d’apprentissage contenant que des données d’entrée
▪ Pas de notion de classe
▪ But : regrouper les exemples en paquets (clusters) d’exemples similaires.
▪ Utilisés principalement en segmentation et association.

Rym Besrour 19
2. Types de problèmes de Machine Learning
Apprentissage supervisé

o Les classes (catégories) des exemples sont connues.

o On alimente l’algorithme avec des exemples tout en lui indiquant la catégorie à laquelle l’exemple
appartient.

o La phase de test consistera ensuite à lui présenter un élément et à mesurer son aptitude à « bien » le
catégoriser.

L’objectif de la machine est d’apprendre les


cibles (sorties) correctes pour de nouvelles
observations (entrées)

Rym Besrour 20
2. Types de problèmes de Machine Learning
Apprentissage supervisé : 𝔻𝑡𝑟𝑎𝑖𝑛 = 𝑥1 , 𝑦1 , … , 𝑥𝑁 , 𝑦𝑁

Algorithme Modèle
Observations de ML prédictif

𝑥𝑛 une observation ➔ entrée du système 𝑓 𝑥𝑛 = 𝑦ො

Etiquettes

𝑦𝑛 la cible correspondante

Rym Besrour 21
2. Types de problèmes de Machine Learning

Classification Régression

• Prédire la classe des observations • Prédire la valeur des observations


• La cible est un indice de classe : • La cible est un nombre réel : 𝑡𝑛 ∈ ℝ
𝑡𝑛 ∈ 1, … , 𝐶

Ex1 : reconnaissance de caractères


𝑥 = vecteur d’intensité des pixels, 𝐸𝑥1 ∶ prédiction de valeur en bourse
𝑡 = l’identité du caractère activité économique de la journée,
𝑡 = la valeur d’une action demain

Rym Besrour 22
2. Types de problèmes de Machine Learning
Apprentissage supervisé : 𝔻𝑡𝑟𝑎𝑖𝑛 = 𝑥1 , 𝑦1 , … , 𝑥𝑁 , 𝑦𝑁

Classification binaire

Un problème d’apprentissage supervisé dans lequel l’espace des étiquettes est binaire, autrement dit
𝑦 = 0,1 est appelé un problème de classification binaire.

Exemples :

• Identifier si un email est un spam ou non.


• Identifier si un tableau a été peint par Picasso ou non.
• Identifier si une image contient ou non une girafe.
• Identifier si une molécule peut ou non traiter la dépression.
• Identifier si une transaction financière est frauduleuse ou non.

Rym Besrour 23
2. Types de problèmes de Machine Learning
Apprentissage supervisé : 𝔻𝑡𝑟𝑎𝑖𝑛 = 𝑥1 , 𝑦1 , … , 𝑥𝑁 , 𝑦𝑁

Classification multi-classe
Un problème d’apprentissage supervisé dans lequel l’espace des étiquettes est discret et fini, autrement dit
𝑦 = 1, 2, … , 𝐶 est appelé un problème de classification multi-classe.

Exemples :
• Identifier en quelle langue un texte est écrit.
• Identifier lequel des 10 chiffres arabes est un chiffre manuscrit.
• Identifier l’expression d’un visage parmi une liste prédéfinie de possibilités (colère, tristesse, joie,
etc.).
• Identifier à quelle espèce appartient une plante.
• Identifier les objets présents sur une photographie.

Rym Besrour 24
2. Types de problèmes de Machine Learning
Apprentissage supervisé : 𝔻𝑡𝑟𝑎𝑖𝑛 = 𝑥1 , 𝑦1 , … , 𝑥𝑁 , 𝑦𝑁

Régression
Un problème d’apprentissage supervisé dans lequel l’espace des étiquettes est 𝑦 = ℝ est appelé un problème
de régression.

Exemples :
• Prédire le nombre de clics sur un lien.
• Prédire le prix d’une action en bourse.
• Prédire le nombre d’utilisateurs et utilisatrices d’un service en ligne à un moment donné.
Rym Besrour 25
2. Types de problèmes de Machine Learning
Apprentissage non supervisé : 𝔻𝑡𝑟𝑎𝑖𝑛 = 𝑥1 , … , 𝑥𝑁

Algorithme Modèle
Observations de ML prédictif

𝑥𝑛 une observation ➔ entrée du système 𝑓 𝑥𝑛 = 𝑦ො

Rym Besrour 26
2. Types de problèmes de Machine Learning
Apprentissage non supervisé : 𝔻𝑡𝑟𝑎𝑖𝑛 = 𝑥1 , … , 𝑥𝑁

Clustering
Le clustering, ou partitionnement, consiste à identifier des groupes dans les données. Cela permet de
comprendre leurs caractéristiques générales, et éventuellement d’inférer les propriétés d’une observation en
fonction du groupe auquel elle appartient.

Exemples :
• La segmentation de marché consiste à identifier des groupes d’usagers ou de clients ayant un
comportement similaire. Cela permet de mieux comprendre leur profil, et cibler une campagne de
publicité, des contenus ou des actions spécifiquement vers certains groupes.
• Identifier des groupes de documents ayant un sujet similaire, sans les avoir au préalable étiquetés par
sujet.
• Identifier des groupes parmi les patients présentant les mêmes symptômes permet d’identifier des
sous-types d’une maladie, qui pourront être traités déféremment.

Rym Besrour 27
2. Types de problèmes de Machine Learning
Apprentissage non supervisé : 𝔻𝑡𝑟𝑎𝑖𝑛 = 𝑥1 , … , 𝑥𝑁

Algorithme
Observations de ML

𝑥𝑛 une observation ➔ entrée du système

• La compression d’image peut être formulée comme un problème de partitionnement consistant à


regrouper des pixels similaires pour ensuite les représenter plus efficacement.
• La segmentation d’image consiste à identifier les pixels d’une image appartenant à la même région.
• Identifier des groupes parmi les patients présentant les mêmes symptômes permet d’identifier des
sous-types d’une maladie, qui pourront être traités différemment.

Rym Besrour 28
2. Types de problèmes de Machine Learning
Apprentissage non supervisé : 𝔻𝑡𝑟𝑎𝑖𝑛 = 𝑥1 , … , 𝑥𝑁

Réduction de dimension-PCA
Il s’agit de trouver une représentation des données dans un espace de dimension plus faible que celle de
l’espace dans lequel elles sont représentées à l’origine.
Cela permet de réduire les temps de calcul et l’espace mémoire nécessaire au stockage des données, mais
aussi souvent d’améliorer les performances d’un algorithme d’apprentissage supervisé entrainé par la suite sur
ces données.

Algorithme Observations
Observations de ML réduites

𝑥𝑛 une observation ➔ entrée du système

Rym Besrour 29
3. Types de données

Données structurées Données semi-structurées Données non-structurées


o Schéma prédéfini imposé Les données ne sont pas organisées :
aux données o XML, SGML,. . .
o Tweets
o Multimédia : vidéos, photos, audio
o Très structurées o Les logs
o Messages emails
o Texte libre
o Stockées dans un système o Présentations
de base de données o Rapports
relationnel. o ...

Rym Besrour 30
3. Types de données Variable Field dimension Feature

Les données peuvent être vues comme une collection


d’objets (enregistrements) et leurs attributs.
event

Sample
➢ Un attribut est une propriété et ou une
caractéristique de l’objet
Observation
➢ Un ensemble d’attributs décrit un objet.
Instance

example

Rym Besrour
entity
3. Types de données

Les bases de données


Les bases de données constituent la source principale de récupération de données par les data scientists.
Ces bases de données peuvent comprendre différents types d'information, une bonne partie généralement
spécifique à l'activité de l'entreprise.
À titre d'exemple :
• les logs d'un serveur web ;
• le catalogue produits d'un site de e-commerce ;
• les transactions bancaires ;
• les comportements des utilisateurs d'un site.

Parmi les ressources incontournables, citons :


- Le répertoire de l’Université de Californie à Irvine, UCI Repository
([Link] ~mlearn/[Link])
- Les ressources listées sur KDNuggets : [Link]
- La plateforme de compétitions en sciences des données Kaggle ([Link]
Rym Besrour
4. Méthodologies de travail

KDD (Knowledge Discovery in Databases)


Il s’agit d’un processus proposé en 1996 par Osama Fayyad qui se base sur l’extraction des connaissances
et des motifs valides et utiles à partir des données moyennant des méthodes automatiques ou semi-
automatiques.

Rym Besrour 33
4. Méthodologies de travail

KDD (Knowledge Discovery in Databases)


Le processus est composé de 5 tâches principales :
— Sélection : Cette étape consiste à créer un ensemble de données cible, ou de se concentrer sur un sous-
ensemble de variables ou d’échantillons de données, sur lequel la découverte doit être effectuée.

— Prétraitement : Cette étape est dédiée au nettoyage et au prétraitement des données cibles afin d’obtenir
des données cohérentes.

— Transformation : Cette étape est dédiée pour la transformation des données à l’aide de méthodes de
réduction ou de transformation de dimensionnalité.

— Exploration des données : Durant cette étape, les analystes choisissent et implémentent les algorithmes
qui sont adaptés au problème : Régression, Classification etc..

— Evaluation : Cette étape consiste à interpréter et évaluer les résultats provenant de l’étape précédente et
évaluer les modèles.
Rym Besrour 34
4. Méthodologies de travail

SEMMA (Sample, Explore, Modify, Model et Asses)

SEMMA a été développé par l’institut SAS qui considère


cette méthodologie comme étant un cercle de 5 étapes
(Sample, Explore, Modify, Model et Asses).

Rym Besrour 35
4. Méthodologies de travail

SEMMA (Sample, Explore, Modify, Model et Asses)


— Sample : Cette étape consiste à échantillonner les données en extrayant une partie d’un ensemble de
données suffisamment grande pour contenir des informations significatives et importantes mais surtout
suffisamment petite pour la traiter rapidement.

— Explore : Cette étape est dédiée à l’exploration des données et l’étude des anomalies imprévues afin de les
mieux comprendre.

— Modify : Cette étape englobe la modification des données à travers la création, sélection et transformation
des variables pour faciliter la phase du choix de modèle.

— Model : Cette étape consiste à modéliser les données en permettant à la machine la recherche
automatique d’une combinaison de données et des mécanismes en vue d’assurer une prédiction fiable.

— Assess : C’est une étape dédiée a l’évaluation des données, de l’utilité ainsi que la fiabilité des résultats du
mécanisme d’exploration et l’estimation des performances du modèle.
Rym Besrour 36
4. Méthodologies de travail

CRISP-DM : (Cross-Industry Standard process for Data Mining)

CRISP-DM Ce processus a été mis par IBM en 1996 en


vue de répondre aux besoins des projets data mining.

C’est la méthodologie la plus utilisée dans les projets


data sciences et appliquée dans plusieurs domaines.

Rym Besrour 37
4. Méthodologies de travail

— Compréhension du métier : Tout d’abord, une analyse approfondie des objectifs et des besoins de l’entreprise
doit être effectuée en se posant les questions métiers et comprenant la problématique à résoudre par la science
des données.
— Compréhension des données : Cette phase implique l’étude et l’exploration des données collectées dans le but
de vérifier leur qualité et dégager les informations cachées pour construire un échantillon spécifique et
représentatif permettant d’éviter les problèmes qui peuvent survenir dans les prochaines étapes.
— Préparation des données : Cette phase est généralement la plus longue du projet. Elle contient toutes les
opérations nécessaires pour construire l’ensemble de données final. Parmi ces opérations nous citons le
nettoyage, l’intégration et la transformation pour rendre ces données compatibles avec les algorithmes
d’apprentissage à utiliser dans la prochaine étape.
— Modélisation : C’est la phase de sélection et de l’entrainement des modèles sur les données générées depuis la
phase précédente afin de trouver les valeurs optimales. En général, le retour à l’étape préparation des données
est jugée indispensable en vue d’améliorer la performance des algorithmes.
— Evaluation : Dans cette étape, les résultats des modèles sont évalués tout en assurant que le projet continu à
respecter les objectifs métiers.
— Déploiement : A ce niveau, les résultats sont organisés et intégrés afin de les présenter au client final et le
modèle est déployé pour le mettre en mode production.
Rym Besrour 38
Chapitre 2
Exploration, Prétraitement et Transformation
des Données

1. Types de variables
2. Exploration des Données
3. Nettoyage des données (Data Cleaning)
4. Feature engineering
5. Imbalanced Dataset
1. Les 4 types de variables

Il y a 2 types de variables, chacun d’eux est sub-divisé en 2 groupes.

Rym Besrour 40
1. Les 4 types de variables
1. Les variables quantitatives
Ce sont les variables qui prennent des valeurs numériques, à condition que ces valeurs expriment une quantité
et aient un sens lorsque l’on y applique des opérations arithmétiques.
Une variable quantitative est soit discrète, soit continue.
Si le nombre de valeurs possibles d'une variable est très grand, alors on peut la considérer comme continue.
Sinon, on la considère comme discrète.

2. Les variables qualitatives


Les valeurs qu’elles prennent sont appelées des catégories, ou modalités. Ces dernières sont exprimées sous
forme littérale (par un mot, une phrase ou un code) ou par un codage numérique sur lequel les opérations
arithmétiques n’ont aucun sens.
Une variable qualitative est nominale ou ordinale.

Une variable est ordinale si ses modalités peuvent être ordonnées.


Ex : les mentions attribuées à un examen (moyen, bien, très bien) sont une variable ordinale.
L’identifiant d’une opération est nominal, car on ne peut pas dire que l’opération numéro 1 est « inférieure » à
l’opération numéro 40.

Rym Besrour 41
2. Exploration des Données (c’est quoi ??)

➢ Comprendre les données : obtenez une bonne image globale de la valeur


des données, appréhendez de ce qu'elles représentent dans la vie réelle.
➢ Valider la qualité des données pour une modélisation précise: obtenez une
bonne image globale de la valeur des données, appréhendez de ce qu'elles
représentent dans la vie réelle.

➢ La quantité de données est-elle adéquate?


• Le nombre d'instances doit être suffisamment grand, en particulier par
rapport au nombre d'attributs.
• règle empirique (heuristique): nombre d'instances > 10 * nombre d'attributs.

➢ Les données sont-elles sous la bonne forme (type de données)?

➢ Quel est le niveau du bruit dans les données (data noisy) ?


• Identifier les principales sources de bruit dans les données et déterminer si
elles peuvent être supprimées / réduites.
Rym Besrour 42
2. Exploration des Données (Outils)

➢ Mesures Statistiques
• mean,
• median,
• mode,
• range,
• quantiles,
• variance

➢ Visualisation (Distribution des valeurs)


• Histogram (numeric variable)
• Boxplot (numeric variable)
• Barplot, Piechart (categorical variable)

Rym Besrour 43
2. Exploration des Données (Outils)

1. La moyenne
En Python, à l’aide du module numpy, on peut calculer la moyenne de température à Milan :

Rym Besrour 44
2. Exploration des Données (Outils)

2. La médiane
La médiane est une valeur réelle m telle qu’il y ait au moins autant d’observations xi inférieures ou égales
à m que supérieure ou égales à m. En d’autres termes, il s’agit de trouver “le point central” des valeurs d’une
feature donnée.

La médiane a une propriété statistique intéressante. En effet, elle est moins sensible aux outliers que la
moyenne. Par ailleurs, il ne faut pas se baser seulement sur la moyenne mais prendre aussi en compte la
valeur médiane de la feature.
Rym Besrour 45
2. Exploration des Données (Outils)

3. Les quartiles
Un quantile d’ordre α (avec 0 < 𝛼 < 1) est la plus petite valeur de 𝑄𝛼 de la série de données (de la feature), tel
qu’au moins 𝛼% des autres valeurs lui sont inférieures.
On reconnait deux quantiles particuliers le 𝑄0.25 𝑒𝑡𝑄0.75 qu’on appelle respectivement des quartiles. Le quartile 𝑄1
correspond au quantile 𝑄0.25 et le quartile 𝑄3 correspond au quantile 𝑄0.75 .
Le quantile 𝑄0.5 est la médiane.

Rym Besrour 46
2. Exploration des Données (Outils)

4. Coefficient d’asymétrie (skewness)


• Un coefficient nul indique une distribution symétrique.
• Un coefficient négatif indique une distribution décalée à droite de la médiane, et donc une queue
de distribution étalée vers la gauche.
• Un coefficient positif indique une distribution décalée à gauche de la médiane, et donc une queue
de distribution étalée vers la droite.

Rym Besrour 47
2. Exploration des Données (Outils)

5. Coefficient d’acuité (Kurtosis) : c’est un coefficient d’aplatissement et degré de voussure

Rym Besrour 48
2. Exploration des Données (Outils)

6. Corrélation

Rym Besrour 49
2. Exploration des Données (Outils)

Pour des variables catégoriques, les mesures statistiques décrivent le nombre de catégories et la fréquence
de chaque catégorie : Tableau de contingence

Rym Besrour 50
2. Exploration des Données (Outils)

Rym Besrour 51
2. Exploration des Données (Outils)

Rym Besrour 52
2. Exploration des Données (Outils)

Visualisation (Distribution des valeurs )

• Boxplot: visualisation de la distribution des variables numériques.

• Histogram: visualisation de la distribution des variables numériques.

• Barplot: visualisation de la distribution

• Scatter plot: visualiser comment deux variables varient ensemble.

Rym Besrour 53
2. Exploration des Données (Outils)

• Les histogrammes donnent des informations plus détaillées: fréquences des valeurs.

• Les boxplots sont plus précis: ils indiquent l'emplacement exact des quartiles et des valeurs
aberrantes.

• Les variables discrètes numériques qui ont un petit nombre de valeurs uniques peuvent être
traitées comme des variables catégorielles à des fins de visualisation.

• Les nuages de point (scatter plots): Utile pour détecter rapidement les relations entre les attributs,
identifier les attributs non pertinents et parfois pour détecter les valeurs aberrantes.

Rym Besrour 54
2. Exploration des Données (Outils)

une représentation graphique permettant de Une valeur aberrante est une observation qui se
représenter la répartition d'une variable continue situe à une distance anormale des autres valeurs
dans un échantillon aléatoire d'une population.

Rym Besrour 55
2. Exploration des Données (Outils)

Indicateur de tendance Asymétrie


centrale

Rym Besrour 56
2. Exploration des Données (Outils)

Line plots

Montre l'évolution des


données au fil du temps

Rym Besrour Comparer des variables 57


2. Exploration des Données (Outils)

Line plots

Modèle cyclique
Ligne de tendance
(cyclical pattern)
Rym Besrour (Trend) 58
2. Exploration des Données (Outils)

Nuage de points
(Scatter Plot)

Montre la relation entre deux variables

Rym Besrour 59
2. Exploration des Données (Outils)

Positive correlation Negative correlation No linear correlation No correlation

Rym Besrour 60
2. Exploration des Données (Outils)

Bar plots

Présente des variables catégorielles


avec des barres rectangulaires avec des
hauteurs ou des longueurs
proportionnelles aux valeurs qu'elles
représentent.

Rym Besrour 61
2. Exploration des Données (Outils)

Bar plots

Un diagramme à Un diagramme à
barres groupées barres empilées
Rym Besrour 62
2. Exploration des Données (Outils)

Box plots

• Est un moyen rapide de figurer le profil


essentiel d'une série statistique
quantitative.
• Compare la distribution des variables.

Rym Besrour 63
Q2= Median
Q1 (lower quartile) = Median of the left set of data
Q3 (upper quartile)= Median of the right set of data
IQR(Inter-quartile range )= Q3-Q1
Rym Besrour 64
2. Exploration des Données (Outils)

Box plots

Comparaison entre variables


Rym Besrour 65
3. Nettoyage des données « Data cleaning »

La plupart des algorithmes d’apprentissage automatique exigent que les données soient formatées d’une
manière très spécifique, de sorte que les ensembles de données nécessitent généralement une certaine
préparation avant de pouvoir fournir des informations utiles.

Certains ensembles de données comportent des valeurs manquantes, invalides ou difficiles à traiter par un
algorithme. Si les données sont manquantes, l’algorithme ne peut pas les utiliser et dans le cas où les données
sont invalides, l’algorithme produit des résultats moins précis, voire trompeurs.

Une bonne préparation des données permet d’obtenir des données propres et bien structurées, ce qui se
traduit par des résultats de modèles plus pratiques et plus précis.

Le nettoyage des données désigne le processus d’identification des parties incorrectes, incomplètes,
inexactes, non pertinentes ou manquantes des données, puis leur modification, leur remplacement ou leur
suppression en fonction de la nécessité.

Rym Besrour 66
3. Nettoyage des données « Data cleaning »

Comment détecter les problèmes liés aux données ?

Documentation
(lire la Exploration des Visualisation des
description des données données
données

Rym Besrour 67
3. Nettoyage des données « Data cleaning »

Comment résoudre les problèmes liés aux données ?

Traiter les valeurs


. Supprimer les aberrantes
Supprimer les
observations en Correction des
variables inutiles
double (lignes) noms de
Traiter les valeurs catégories
. Convertir les
manquantes incohérents
types de données
…..

Rym Besrour 68
3. Nettoyage des données « Data cleaning »

Problèmes communs :

Mauvaises observations (lignes)


● Observations dupliquées
● Observations non pertinentes

Mauvais attributs (colonnes)


● Type de données incorrect ou déroutant
● Redondant: représentent les mêmes informations
● Inutile pour l'exploration de données
● Contient trop de valeurs manquantes

Rym Besrour 69
3. Nettoyage des données « Data cleaning »

— Colonne incohérente : Cette étape consiste à supprimer les colonnes qui présentent des informations non
pertinentes afin de se concentrer sur les colonnes qui sont fortement corrélées et significatives.

— Données manquantes : Il est rare de disposer d’un ensemble de données du monde réel ne comportant
aucune valeur manquante. La gestion des valeurs manquantes est très importante, car la présence des valeurs
manquantes peut affecter l’analyse et les modèles d’apprentissage automatique.

— Lignes dupliquées : Les ensembles de données peuvent contenir des entrées en double.
La suppression des lignes en double est l’une des tâches les plus importantes.

Rym Besrour 70
3. Nettoyage des données « Data cleaning »

Missing values Invalid values

Rym Besrour 71
3. Nettoyage des données « Data cleaning »

Noise

Rym Besrour 72
3. Nettoyage des données « Data cleaning »

Convertir les types de données:

● Integer to float (for continuous variables)


● String to numeric
● Numeric to categorical
● String to categorical

Pour Python, on utilise par exemple :


● astype method in Pandas
● to_numeric function in Pandas
● Regular expressions (re module)

Rym Besrour 73
3. Nettoyage des données « Data cleaning »

Convertir les types de données: String to Numeric

Rym Besrour 74
3. Nettoyage des données « Data cleaning »

Traitement des mauvaises valeurs: 3 approches principales pour traiter tous les types de mauvaises
valeurs (manquantes, invalides, aberrantes):

1. Impute Value : c'est-à-dire remplacer par une valeur «correcte»

- Pour les attributs numériques, utilisez généralement la moyenne (mean) ou la médiane (median)
- Pour l'attribut catégoriel, utilisez le mode (valeur la plus fréquente)

2. Supprimer l’observation

3. Garder la valeur manquante:

- Pour les attributs catégoriels, créez simplement une catégorie


spéciale pour les valeurs manquantes.
- Pour les attributs numériques, cela n'est possible qu'avec
certains modèles qui tolèrent les valeurs manquantes, par ex.
arbres de décision, mais ce n'est pas le cas pour la régression
linéaire par exemple.
Rym Besrour 75
3. Nettoyage des données « Data cleaning »

Traitement des mauvaises valeurs: Méthodes Pandas utiles

1. notna, notnull ( NA values, such as None or [Link]),

Rym Besrour 76
3. Nettoyage des données « Data cleaning »

1.[Link]
2.[Link]
3.[Link]

Rym Besrour 77
4. Feature engineering

Le Feature Engineering est un processus qui consiste à transformer les données brutes en
caractéristiques représentant plus précisément le problème sous-jacent au modèle prédictif ➔ il s’agit
d’appliquer une connaissance du domaine pour extraire des représentations analytiques à partir des
données brutes et de les préparer pour le Machine Learning.

Le Feature Engineering permet de déterminer quelle est la meilleure représentation des données
d’échantillon pour apprendre la solution au problème.

Le Feature Engineering repose sur un ensemble de procédures et de méthodes bien définies. Les
procédures à utiliser varient en fonction des données, et c’est avec l’expérience et la pratique que l’on
apprend lesquelles utiliser en fonction du contexte.

Rym Besrour 78
4. Feature engineering

Les différentes approches du Feature Engineering

1. La Feature Importance consiste à estimer de manière objective l’utilité d’une caractéristique. Cette
démarche peut s’avérer utile pour sélectionner les caractéristiques. Chacune d’entre elles reçoit un score,
et elles peuvent ainsi être classées en fonction de leurs scores. Celles avec le plus haut score peuvent être
choisies pour être incluses dans l’ensemble de données.

De manière générale, une caractéristique peut être considérée importante si elle est hautement corrélée
avec la variable dépendante, à savoir l’élément à prédire.

Le but de la Feature Extraction est de réduire automatiquement la dimensionnalité de ces types


d’observations en un ensemble plus petit afin de pouvoir le modéliser. On peut utiliser des méthodes comme
l’analyse de composant principal ou le clustering non supervisé pour les données tabulaires, ou la détection
de bordures pour les images.

Rym Besrour 79
4. Feature engineering

2. La Feature Selection est une autre méthode, permettant de supprimer les attributs des données inutiles ou
redondantes dans le contexte du problème à résoudre. Cette approche consiste à sélectionner
automatiquement le sous-ensemble le plus utile pour la résolution du dit problème.
Les algorithmes peuvent utiliser une méthode comme la corrélation ou d’autres méthodes de Feature
Importance pour classer les caractéristiques et les sélectionner.

3. Les méthodes de Deep Learning les plus modernes permettent d’y parvenir. On peut citer les auto-
encodeurs ou les machines Boltzmann restreintes. Ces techniques parviennent à apprendre
automatiquement des représentations abstraites de caractéristiques de façon non supervisée ou semi-
supervisée. Ces représentations de caractéristiques compressées peuvent ensuite être utilisées pour la
reconnaissance de discours, la classification d’images, ou encore la reconnaissance d’objets.

Rym Besrour 80
4. Feature engineering

Scale Normalization (normalisation des données )

• Mappez les valeurs d'un attribut numérique dans une plage uniforme de sorte que tous les attributs aient
une plage de valeurs similaire, par exemple [0,1] ou [-1,1]

• La normalisation des données est nécessaire lors de l'utilisation d'une méthode de modélisation sensible à
l'échelle (Cela signifie que la méthode donne plus de poids aux valeurs d'attribut plus grandes dans le
modèle construit)

• Méthodes de modélisation sensibles à l'échelle (sensitive to scale):


- Toute méthode basée sur le calcul des différences entre les valeurs d'attribut ;
- Exemples: régression linéaire, réseaux de neurones, KNN, Kmeans, SVM, ...

• Méthodes de modélisation NON sensibles à l'échelle:


- Toute méthode basée sur la comparaison de valeurs
- Exemples: arbres de décision, forêts aléatoires, ...

Rym Besrour 81
4. Feature engineering

Scale Normalization (normalisation des données )

[Link] [Link]

Rym Besrour 82
4. Feature engineering

Log Normalization

● Cette transformation est généralement utilisée


lorsqu'une variable numérique a une distribution très
asymétrique (long tail), et ça présente un problème
pour les modèles.

● La distribution de la nouvelle variable est plus


symétrique.

Rym Besrour 83
4. Feature engineering

Rym Besrour 84
4. Feature engineering

One hot encoding / Label encoding

One hot encoding


Remplace un attribut catégoriel par K attributs binaires numériques,
K = nombre de catégories dans la variable

Label encoding
Un attribut catégoriel est transformé en un seul attribut numérique avec
des valeurs comprises entre 0, 1, ..., K-1

Rym Besrour 85
4. Feature engineering

One-hot encoding
Remplace un attribut catégoriel par K attributs binaires numériques, où K = nombre de catégories dans la variable.

Rym Besrour 86
4. Feature engineering

Label encoding
● C'est une autre façon de transformer des attributs catégoriels en attributs numériques.

● Un attribut catégoriel est transformé en un seul attribut numérique avec des valeurs comprises entre 0, 1, ...,
K-1

● Ne doit généralement être utilisé que pour:


- Attribut catégoriel binaire, c'est-à-dire qu'il ne comporte que deux catégories (par exemple le sexe)
- Attribut catégoriel ordonné (par exemple, la taille de la chemise)

● Remarque: label encoding et One-Hot sont équivalents lorsque la variable catégorielle est binaire

Rym Besrour 87
4. Feature engineering

One hot encoding / Label encoding

Rym Besrour 88
4. Feature engineering

Grouping sparce categories


• Combinez 2 catégories ou plus en une seule catégorie.
• Nous faisons cela lorsque la fréquence des catégories est très faible (très peu de lignes contiennent
une valeur de catégorie).
• Ces attributs sont inutiles et présentent une source de confusion lors du construction de modèle.
• Règle générale: au moins ~ 50 lignes par catégorie.
• Lorsque l'attribut catégoriel est ordonné, seules les catégories contiguës peuvent être combinées.

Exemple : Considérez un attribut shirt_size qui a 6 possibles valeurs (catégories): XS, S, M, L, XL, XXL
- Nous pouvons regrouper (combiner) XL et XXL dans une seule catégorie
- Mais nous ne pouvons pas regrouper XS et XXL

Rym Besrour 89
4. Feature engineering

Grouping sparce categories

● Wood Siding', 'Wood Shingle', and 'Wood' were grouped into a single category called 'Wood'
● 'Concrete Block', 'Stucco', 'Masonry', 'Other', and 'Asbestos shingle' were grouped into a new category
called 'Other'
Rym Besrour 90
4. Feature engineering

Rym Besrour 91
4. Feature engineering

Rym Besrour 92
4. Feature engineering

Rym Besrour 93
4. Feature engineering

[Link]
[Link]
[Link]
[Link]

Rym Besrour 94
5. Imbalanced Dataset
• L’un des défis les plus importants que nous devons relever est le problème du déséquilibre des classes.
Ce dernier est couramment rencontré dans les systèmes de détection des fraudes.

• Dans un cadre d’apprentissage supervisé, ce problème se produit lorsqu’une classe est très rare par
rapport à l’autre. Ainsi, il est difficile de découvrir des modèles robustes pour la classe minoritaire.

• Une technique largement adoptée pour traiter les ensembles de données fortement déséquilibrés
est appelée rééchantillonnage. Elle consiste à supprimer des échantillons de la classe majoritaire (sous-
échantillonnage) ou bien à ajouter davantage des exemples de la classe minoritaire (sur-échantillonnage).
Rym Besrour 95
5. Imbalanced Dataset

• Dans les applications de détection de fraude, comme dans de nombreux domaines avec des distributions
de classes déséquilibrées, une classification correcte de la classe rare est considérée beaucoup plus
importante qu’une classification correcte de la classe majoritaire.

• L’un des principaux problèmes posés par les ensembles de données de classification déséquilibrée est que
les algorithmes d’apprentissage automatique standard ne sont pas performants sur ces ensembles.

• De nombreux algorithmes d’apprentissage automatique reposent sur la distribution des classes dans
l’ensemble de données d’apprentissage pour évaluer la probabilité d’observer des exemples dans chaque
classe lorsque le modèle sera utilisé pour faire des prédictions.

• Ainsi, de nombreux algorithmes d’apprentissage automatique, comme les arbres de décision, les k-voisins
les plus proches et les réseaux de neurones, apprendront que la classe minoritaire n’est pas aussi
importante que la classe majoritaire et accorderont plus d’attention et de meilleures performances à la
classe majoritaire.

Rym Besrour 96
5. Imbalanced Dataset
Le problème des ensembles de données déséquilibrés est que les algorithmes d’apprentissage de la
classification standard sont souvent biaisés en faveur des classes majoritaires et que, par conséquent, le taux
d’erreurs de classification est plus élevé dans les instances de la classe minoritaire.
➔ C’est un problème car la classe minoritaire est exactement la classe dont nous nous soucions le plus dans
les problèmes de classification déséquilibrée.

Rym Besrour 97
5. Imbalanced Dataset

1. Les techniques d’Oversampling


Les méthodes de sur-échantillonnage dupliquent les exemples de la classe minoritaire ou synthétisent de
nouveaux exemples à partir des observations de la classe minoritaire.
Parmi les méthodes de sur-échantillonnage les plus largement utilisées sont :
- sur-échantillonnage aléatoire : C’est la méthode de sur-échantillonnage la plus simple. Elle consiste à
dupliquer de manière aléatoire des exemples de la classe minoritaire dans l’ensemble de données
d’apprentissage.

Rym Besrour 98
5. Imbalanced Dataset
- SMOTE : Cet algorithme fonctionne en sélectionnant des exemples proches dans l’espace des
caractéristiques, en traçant une ligne entre ces exemples et en dessinant un nouvel échantillon comme un
point le long de cette ligne. Il existe de nombreuses extensions de la méthode SMOTE qui visent à être plus
sélectives pour les types d’exemples de la classe majoritaire qui sont synthétisés.

• La méthode Borderline-SMOTE : consiste à sélectionner les instances de la classe minoritaire qui sont mal
classées, par exemple avec un modèle de classification k-voisin le plus proche, et à ne générer que des
échantillons synthétiques qui sont "difficiles" à classer.
• Borderline Oversampling : est une extension de SMOTE qui adapte un SVM à l’ensemble de données et
utilise la limite de décision définie par les vecteurs de support comme base pour générer des exemples
synthétiques, toujours selon l’idée que la limite de décision est la zone où davantage d’exemples
minoritaires sont nécessaires.
• Adaptive Synthetic Sampling (ADASYN) est une autre extension de SMOTE qui génère des échantillons
synthétiques inversement proportionnels à la densité des exemples dans la classe minoritaire. Il est conçu
pour créer des exemples synthétiques dans les régions de l’espace des caractéristiques où la densité des
exemples minoritaires est faible, et moins ou pas du tout là où la densité est élevée.

Rym Besrour 99
5. Imbalanced Dataset

2. Les techniques de Undersampling


Les méthodes de sous-échantillonnage suppriment ou sélectionnent un sous-ensemble d’exemples dans la
classe majoritaire.

Parmi les méthodes de sous-échantillonnage les plus utilisées et mises en œuvre nous trouverons :
- Sous-échantillonnage aléatoire : c’est la méthode la plus simple qui consiste à supprimer de manière
aléatoire des exemples de la classe majoritaire dans l’ensemble de données d’apprentissage.

- Règle du plus proche voisin condensé (CNN) : Cette règle a été conçue pour réduire la mémoire requise par
l’algorithme des k plus proches voisins. Elle fonctionne en énumérant les exemples de l’ensemble de
données et en les ajoutant au magasin uniquement s’ils ne peuvent pas être classés correctement par le
contenu actuel du magasin, et peut être appliquée pour réduire le nombre d’exemples de la classe
majoritaire après que tous les exemples de la classe minoritaire aient été ajoutés au magasin.

Rym Besrour 100


Chapitre3
Sélection de modèle et évaluation

1. Estimation empirique de l’erreur de

généralisation

2. Sélection de modèle

3. Critères de performance

Généralisation / Overfitting / Underfitting


Objectifs

- Concevoir un cadre expérimental dans lequel sélectionner un modèle d’apprentissage


supervisé ;
- Choisir un ou des critères d’évaluation d’un modèle d’apprentissage supervisé ;
- Estimer la performance en généralisation d’un modèle d’apprentissage supervisé.

Rym Besrour 102


La création d’un modèle de Machine Learning est un processus itératif, où l’objectif est de réaliser une
inférence adéquate de la fonction recherchée.
Ce cycle commence par l’identification des données d’entrée, càd l’information à partir de laquelle sera
construit le modèle. L’ensemble des données d’entrée est appelé dataset, souvent représenté sous forme de
tableau des entrées 𝑥, où chaque ligne correspond à une observation et chaque colonne à un attribut.
Dans le cas de l’apprentissage supervisé, on aura une colonne 𝑦 contenant les sorties : cible, target.

Rym Besrour 103


1. Estimation empirique de l’erreur de
généralisation
Avant d’entrainer le modèle, le dataset doit être diviser en deux parties :
• les données d’apprentissage 𝓐 (par ex. env. 70% du nombre total)
• les données de validation 𝓥 (par ex. 30% du nombre total).
1. L’apprentissage du modèle est réalisé sur les données de l’ensemble 𝓐 .
2. Le risque espéré du modèle résultant est estimé sur les données de 𝓥 .

L’entrainement du modèle consiste à identifier les meilleurs paramètres pour le modèle choisi, ces
paramètres peuvent être des coefficients ou des fonctions mathématiques selon le modèle.

Le principe d’apprentissage est toujours le même : minimiser une mesure d’erreur du modèle.

Une fois le modèle entrainé, il est évalué avec des données d’évaluation. Le modèle entrainé reçoit des
données qu’il n’a pas utilisées pendant son entrainement, afin de juger sa capacité de généralisation ➔
établir une mesure de performance du modèle.

Rym Besrour 104


1. Estimation empirique de l’erreur de
généralisation

Rym Besrour 105


1. Estimation empirique de l’erreur de
généralisation

Difficultés de cette approche :


• La mise de côté des données de test réduit le nombre de données utilisée pour l’apprentissage.
• Cet estimateur du risque espéré a une variance élevée.

1. Validation croisée (cross-validation)


• plusieurs partitionnement apprentissage / test
• obtenir à chaque fois un modèle sur les données d’apprentissage et l’évaluer sur les
données de test associées,
• employer la moyenne comme estimation du risque espéré
Rym Besrour 106
1. Estimation empirique de l’erreur de
généralisation
Etant donnés un jeu 𝒟 de 𝑛 observations et un nombre 𝒦 ,
on appelle validation croisée la procédure qui consiste à :
1. Partitionner 𝒟 en 𝒦 parties de tailles sensiblement
similaires, 𝒟1 , 𝒟2 , … 𝒟𝐾 ,
2. Pour chaque valeur de 𝑘 = 1, … , 𝒦 :
• Entraîner un modèle sur ⋃𝑖≠𝑘 𝒟𝑖 ,
• Évaluer ce modèle sur 𝒟𝑘 .

Chaque partition de 𝒟 en deux ensembles 𝒟𝑘 et ⋃𝑖≠𝑘 𝒟𝑖 est


appelé « fold » de la validation croisée.

Dans scikit-learn, la méthode model_selection.KFold permet de créer les folds d’une validation croisée.

Rym Besrour 107


1. Estimation empirique de l’erreur de
généralisation
Stratification
Dans le cas d’un problème de classification, on s’efforce généralement de créer les k folds de sorte à ce
qu’elles contiennent à peu près les mêmes proportions d’exemples de chaque classe que le jeu de données
complet.
On cherche à éviter qu’un jeu d’entraînement ne contienne que des exemples positifs et que le jeu de test
correspondant ne contienne que des exemples négatifs, ce qui va affecter négativement la performance du
modèle !

L’intérêt de cette procédure est de faire en sorte que la


distribution des observations au sein de chaque 𝒟𝐾 soit la
même qu’au sein du jeu de données 𝒟.

Dans scikit-learn, la méthode model_selection.StratifiedKFold


permet de créer les folds d’une validation croisée stratifiée.

108
1. Estimation empirique de l’erreur de
généralisation
Leave-one-out
Comment choisir le nombre de folds, k ?

Moins il y a de données disponibles pour l’entraînement, moins on est capable de bien apprendre. Or chaque
𝑘−1 𝑛
fold contient 𝑘 points (si n est la taille du jeu complet). Si on pousse ce raisonnement, on fait autant de
folds que de points dans le jeu complet (c’est à dire n) , et les jeux d’entraînement font quasiment la même
taille que le jeu complet ! C’est ce qu’on appelle le leave-one-out (on ne laisse de côté qu’un seul exemple pour
chaque jeu d’entraînement).

MAIS :
• on augmente fortement le temps de calcul. Par exemple, sur une base de données de 100 000 images !
Il faudrait entraîner 100 000 modèles sur 99 999 images chacun.
• on forme ainsi des jeux d’entraînements très similaires entre eux, et des jeux de test très différents les
uns des autres. On va avoir quasiment le même modèle sur chaque fold, et la qualité de ses prédictions
risque de beaucoup varier. Il sera difficile de tirer des conclusions.

EnRym
pratique,
Besrour on choisit le plus souvent k=5 ou k=10. 109
1. Estimation empirique de l’erreur de
généralisation

2. Bootstrap

Etant donnés un jeu 𝒟 de 𝑛 observations et un nombre B , on appelle


bootstrap la procédure qui consiste à créer B échantillons : 𝒟1 , 𝒟2 , … 𝒟𝐵 ,
obtenus chacun en tirant 𝑛 exemples de 𝒟 avec remplacement. Ainsi, chaque
exemple peut apparaître plusieurs fois, ou pas du tout, dans 𝒟𝑏 .

Rym Besrour 110


2. Sélection de modèle

• Pour identifier le meilleur modèle pour un problème, les étapes d’entrainement et d’évaluation sont
réalisées pour différents modèles, ensuite le plus performant est retenu en fonction du critère choisi.
Le résultat de l’entrainement dépend des paramètres d’entrainement et des paramètres
topologiques des modèles : « hyper paramètres ».

• Il est important de faire la différence entre les paramètres de l’algorithme, qui sont obtenus
automatiquement après l’entrainement, et les hyper paramètres qui sont choisis a priori par le
concepteur du modèle.

• Par exemple, les valeurs des variables à l’intérieur d’un modèle sont des paramètres, et elles sont
calculées par l’algorithme d’apprentissage, mais le nombre d’itérations d’apprentissage est un hyper
paramètre, choisi par le concepteur du modèle.

Rym Besrour 111


2. Sélection de modèle

Comment choisir de « bonnes » valeurs


pour ces hyperparamètres ?

➢ Tester plusieurs modèles et plusieurs paramètres avant de choisir celui qui sera
implémenté.
➢ La sélection du bon algorithme peut être opérée en automatisant l’exploration de
tous les algorithmes disponibles et leurs diverses combinaisons d’hyper paramètres

Rym Besrour 112


2. Sélection de modèle

Recherche systématique : GridSearch

Les meilleures valeurs des hyperparamètres sont identifiées de la manière suivante :


1. Définition d’ensembles de valeurs pour les éventuels hyperparamètres nominaux (par
ex. architectures PMC, critères de régularisation, types de noyaux pour les SVM).

2. Définition d’intervalles de variation pour les hyperparamètres numériques et d’une procédure


d’exploration de cet espace.

3. Exploration de l’espace des hyperparamètres suivant la procédure choisie. Pour chaque tuple de
valeurs (une valeur pour chaque hyperparamètre), apprentissage et évaluation des modèles
résultants par application de la validation croisée.

4. Comparaison des résultats de validation croisée, sélection des valeurs des hyperparamètres qui
mènent aux meilleures performances (à l’erreur de généralisation estimée la plus faible).

Rym Besrour 113


2. Sélection de modèle

Par exemple pour un Random Forest, on doit choisir le nombre d’arbres à créer et le nombre de variables à
utiliser à chaque division d’un noeud.
Pour chaque paramètre, on détermine un ensemble de valeurs que l’on souhaite tester.
Par exemple, dans le cas d’un Random Forest on pourrait tester :
• Nombre d’arbres : {100, 150, 200, 250}
• Nombre de variables sélectionnées : {8, 10, 12, 14, 16}

Le Grid Search croise simplement chacune de ces


hypothèses et va créer un modèle pour chaque
combinaison de paramètres.

Rym Besrour 114


2. Sélection de modèle

Comment tester intelligemment ces 20 modèles sur le même dataset. Nous allons utiliser une méthode de
validation croisée : le k-fold.

Rym Besrour 115


2. Sélection de modèle

Une fois que chaque modèle a pu être entrainé et évalué, il ne reste


plus qu’à comparer la performance pour choisir le meilleur modèle
➔ le modèle utilisant 150 arbres et 10 variables sélectionnées à
chaque division d’un noeud qui est le meilleur.
La méthode Grid Search nous permet donc d’optimiser notre modèle.

Rym Besrour 116


2. Sélection de modèle

Recherche aléatoire : Randomized search


o Des connaissances à priori permettent de privilégier certains intervalles de variation pour les
hyperparamètres ➔ générer des valeurs conformes à ces connaissances
➔ meilleure efficacité qu’avec une grid search non hiérarchique.

o Pour chaque hyperparamètre :


• une loi de tirage est définie,
• ensuite des tuples de valeurs (une valeur pour chaque hyperparamètre) sont obtenues,
• et un modèle est appris avec ce tuple de valeurs.
Les échantillons sont générés en considérant les hyperparamètres indépendants.
➔ Le coût peut être maîtrisé en fixant le nombre d’échantillons à générer.

Rym Besrour 117


2. Sélection de modèle

Rym Besrour 118


3. Critères de performance

Matrice de confusion et critères dérivés

La matrice de confusion est un outils pour mesurer la qualité d’un système de classification en
apprentissage supervisé. Chaque ligne de la matrice indique le nombre d’occurrences réelles de chaque
classe et chaque colonne indique le nombre d’occurrences prédites de chaque classe.

Dans le cas de la classification binaire, la matrice de confusion prend la forme suivante :

Classe réelle
0 1
Classe Prédite 0 Vrais Négatifs (TN) Faux Négatifs (FN)
1 Faux Positifs (FP) Vrais Positifs (TP)

119
3. Critères de performance

• vrais positifs (True Positives) les exemples positifs correctement classifiés ;

• faux positifs (False Positives) les exemples négatifs étiquetés positifs par le modèle ;

• vrais négatifs (True Negatives) et les faux négatifs (False Negatives).

On note généralement par TP le nombre de vrais positifs, FP le nombre de faux positifs, TN le nombre de
vrais négatifs et FN le nombre de faux négatifs.
Les faux positifs sont aussi appelés fausses alarmes ou erreurs de type I, par opposition aux erreurs de
type II qui sont les faux négatifs.

Rym Besrour 120


3. Critères de performance
• Le rappel (« recall ») ou sensibilité (« sensitivity ») : le taux de vrais positifs, càd la proportion d’exemples
positifs correctement identifiés.
« Quelle est la capacité du modèle à identifier toutes les instances d’une classe? »
𝑇𝑃
𝑟𝑎𝑝𝑝𝑒𝑙 =
𝑇𝑃 + 𝐹𝑁

• La précision ou valeur positive prédictive (PPV) : la proportion de prédictions correctes parmi les
prédictions positives.
« Quelle est la fiabilité d’un classement proposé? »
𝑇𝑃
𝑝𝑟é𝑐𝑖𝑠𝑖𝑜𝑛 =
𝑇𝑃 + 𝐹𝑃

• La f-mesure (« F1-score ou F-score ») : moyenne harmonique de la précision et du rappel .


𝑝𝑟é𝑐𝑖𝑠𝑖𝑜𝑛 ∗ 𝑟𝑎𝑝𝑝𝑒𝑙
𝑓 − 𝑚𝑒𝑠𝑢𝑟𝑒 = 2 ∗
𝑝𝑟é𝑐𝑖𝑠𝑖𝑜𝑛 + 𝑟𝑎𝑝𝑝𝑒𝑙
• Spécificité : le taux de vrais négatifs, autrement dit la proportion d’exemples négatifs correctement
identifiés comme tels
𝑇𝑁
𝑆𝑝é𝑐𝑖𝑓𝑖𝑐𝑖𝑡é =
𝐹𝑃 + 𝑇𝑁 121
3. Critères de performance

Exemple : Cas d’un modèle classificateur qui cherche à identifier des pièces de mauvaise qualité.
Supposons une série de production de 100 pièces où 20 sont de mauvaise qualité et 80 sont de bonne qualité.
Suite à l’analyse des données des 100 pièces, le modèle prédit que 10 sont défectueuse, mais parmi elles,
seulement 5 correspondent véritablement à des pièces de mauvaise qualité. Cela veut dire également que le
modèle prédit que 90 pièces sont de bonne qualité, mais sur ces 90 seulement 75 correspondent
véritablement à des pièces de bonne qualité.
▪ Les pièces de mauvaise qualité :
5 5
𝑟𝑎𝑝𝑝𝑒𝑙 = 20 = 25% 𝑝𝑟é𝑐𝑖𝑠𝑖𝑜𝑛 = 10 = 50%
▪ Les pièces de bonne qualité :
75 75 Bonne Mauvaise
𝑟𝑎𝑝𝑝𝑒𝑙 = = 93,8% 𝑝𝑟é𝑐𝑖𝑠𝑖𝑜𝑛 = = 83,3%
80 90 qualité qualité
Classe Bonne 75 5
➢ D’une part le modèle est capable de « détecter » une proportion faible des pièces de réelle qualité
mauvaise qualité (r=25%), et une proportion élevée des pièces de bonne qualité
(r=93,8%) Mauvaise 15 5
qualité
➢ D’autre part, le modèle est peu fiable quand il fait une prévision de type « mauvaise
qualité » (p=50%) et qu’il est un peu plus fiable quand il fait une prévision de type
« bonne qualité » (p=83,3%)
3. Critères de performance

Courbes ROC

On appelle courbe ROC (Receiver-Operator Characteristic) la courbe décrivant l’évolution de la sensibilité en


fonction du complément à 1 de la spécificité, lorsque le seuil de décision change.
On peut synthétiser une courbe ROC par l’aire sous cette courbe : AUROC (Area under the ROC)

• Le point(0, 0) apparaît quand on utilise comme seuil un nombre


supérieur à la plus grande valeur retournée par la fonction de
décision ➔ tous les exemples sont étiquetés négatifs.
• À l’inverse, le point (1, 1) apparaît quand on utilise pour seuil une
valeur inférieure au plus petit score retourné par la fonction de
décision ➔ tous les exemples sont alors étiquetés positifs.

La courbe ROC d’un classifieur aléatoire, qui fera sensiblement la


même proportion d’erreurs que de classifications correctes quel que
soit le seuil utilisé, suit la diagonale de ce carré. L’aire sous la courbe
ROC d’un classifieur aléatoire vaut donc 0.5. 123
3. Critères de performance

Exemple : Pour illustrer la construction d’une courbe ROC, prenons l’exemple décrit sur le tableau suivant

Étiquette + - + + - -
score 0.9 0.8 0.6 0.4 0.3 0.1

Pour un seuil supérieur à 0.9, les 6 exemples sont étiquetés négatifs. On


commence donc par le point (0, 0). Pour un seuil entre 0.95 et 0.9, seule
la première observation est étiquetée positive. La sensibilité est donc de
1/3 tandis que l’antispécificité reste nulle. On peut continuer ainsi jusqu’à
utiliser un seuil inférieur à 0.1 :

Seuil > 0.9 0.8 – 0.9 0.6 – 0.8 0.4 – 0.6 0.3 – 0.4 0.1 – 0.3 < 0.1
TP/P 0 1/3 1/3 2/3 1 1 1
FP/P 0 0 1/3 1/3 1/3 2/3 1

124
3. Critères de performance

Courbes précision-rappel

La courbe précision-rappel vient souvent complémenter la courbe ROC.

Définition : On appelle courbe précision-rappel 5Precision-Recall curve)


la courbe décrivant l’évolution de la précision en fonction du rappel,
lorsque le seuil de décision change.

Pour synthétiser cette courbe, on peut utiliser l’aire sous celle-ci, souvent
abrégée AUPR pour Area Under the Precision-Recall curve

125
3. Critères de performance
Reprenons l’exemple précédent
Seuil > 0.9 0.8 – 0.9 0.6 – 0.8 0.4 – 0.6 0.3 – 0.4 0.1 – 0.3 < 0.1
Rappel 0 1/3 1/3 2/3 1 1 1
Précision - 1 1/2 2/3 3/4 3/5 3/6

Rym Besrour 126


3. Critères de performance

Erreurs de régression
• Ecart Absolu Moyen (MAE : Mean Absolute Error) : la moyenne des écarts entre les prévisions et les résultats
attendus sur un ensemble d’observations.
𝑛
1
𝑀𝐴𝐸 = ෍ 𝑦𝑖 − 𝑦ො𝑖
𝑛
𝑖=1
𝑦𝑖 : la valeur réelle , 𝑦ො𝑖 : la valeur prédite 𝑛 : nombre d’observations

• Ecart Quadratique Moyen (MSE : Mean Squared Error) : la moyenne des carrés des écarts entre les prévisions
et les valeurs réelles sur un ensemble d’observations.
𝑛
1
𝑀𝑆𝐸 = ෍ 𝑦𝑖 − 𝑦ො𝑖 2
𝑛
𝑖=1
• Coefficient de détermination R² : mesure de la probabilité de prédiction des futures observations par le
modèle.
𝑛 𝑛
σ 𝑦 − 𝑦
ො 2 1
𝑖=1 𝑖 𝑖
𝑅2 = 1 − 𝑛 𝑎𝑣𝑒𝑐 𝑦ത = ෍ 𝑦𝑖
σ𝑖=1 𝑦𝑖 − 𝑦ത 2 𝑛
𝑖=1
127
3. Critères de performance

Segmentation

Mesure de l’homogénéité des partitions proposées

• Distance intra-classe mesure la dispersion des éléments d’une même classe en calculant la moyenne de la
distance entre les éléments entre les éléments de la classe et le centre de la classe.
L’algorithme de clustering devra faire en sorte que cette distance soit minimale.

• Distance inter-classe mesure la distance entre les centres des différentes classes.
L’algorithme de clustering devra faire de sorte que cette distance soit maximale.

• Densité : pour chaque éléments, la densité est définie par le nombre d’éléments distant de moins d’un
certain seuil.
Si l’élément a plusieurs voisins, il aura une forte densité.
S’il a peu de voisins dans un rayon inférieur au seuil demandé, il aura une densité faible.
Ce type de mesure est utilisé pour la détection des valeurs aberrantes (outliers).

128
4. Généralisation

Un bon modèle de machine learning, c’est un modèle qui généralise.


Qu’est-ce que c’est, déjà, la généralisation ?
La généralisation, c’est la capacité d’un modèle à faire des prédictions non seulement sur les données que
vous avez utilisées pour le construire, mais surtout sur de nouvelles données : c’est bien pour ça que l’on
parle d’apprentissage !

Rym Besrour 129


A quel point est-elle bonne ma fonction de prédiction ?

Comment faire pour choisir l’algorithme et les hyperparamètres


qui permettent de construire le modèle le plus adapté au
problème posé ?

Comment se généralisera t-elle sur des données qu’elle n’a pas


encore « vu » lors de la phase d’apprentissage ?

Ces questions sont importantes car le but du Machine Learning est de prédire
des résultats sur des données non vues par la fonction prédictive.

Rym Besrour 130


Overfitting et Underfitting
Quand les algorithmes de ML dérapent !

L’Overfitting (sur-apprentissage), et l’Underfitting (sous-apprentissage) sont les causes


principales des mauvaises performances des modèles prédictifs générés par les algorithmes
de Machine Learning.

Rym Besrour 131


4. Généralisation

L’Overfitting désigne le fait que le modèle prédictif produit par l’algorithme de Machine Learning s’adapte
trop bien au Training Set.

C’est ce qu’on veut non ???


Pas tout à fait !!

➢ Le modèle prédictif capturera tous les “aspects” et détails qui caractérisent les données du Training
Set.
➢ Il capturera toutes les fluctuations et variations aléatoires des données du Training Set.
➢ Le modèle prédictif capturera les corrélations généralisables ET le bruit produit par les données.

Rym Besrour 132


4. Généralisation

Quand un tel événement se produit, le modèle prédictif pourra donner de très bonnes prédictions sur les
données du Training Set, mais il prédira mal sur des données qu’il n’a pas encore vues lors de sa phase
d’apprentissage.

La fonction prédictive se généralise mal.

Le modèle souffre d’Overfitting.

un modèle trop spécialisé sur les données du Training


Set et qui se généralisera mal

Rym Besrour 133


4. Généralisation

L’Underfitting : le modèle prédictif généré lors de la phase d’apprentissage, s’adapte mal au Training Set,
il n’arrive même pas à capturer les corrélations du Training Set.

➢ le coût d’erreur en phase d’apprentissage reste grand.


➢ Bien évidemment, le modèle prédictif ne se généralisera pas bien non plus sur les données qu’il
n’a pas encore vu.

Le modèle souffre d’Underfitting.


Il souffre d’un grand Bias (biais).

un modèle généraliste incapable de fournir des prédictions précises.

Rym Besrour 134


Le meilleur modèle est celui du juste milieu !!
ni Underfitting ni Overfitting !!

Quand l’algorithme de Machine Learning apprend depuis le Training Set, les paramètres du modèle
prédictif vont s’affiner au fil du temps.
✓ Le coût d’erreur sur le Training Set continuera à se réduire.
✓ Parallèlement, le coût d’erreur des prédictions sur les données de test se réduira également.

coût d’erreur
Mais si on continue à entrainer longuement le
dans le Test Set
modèle, le coût d’erreur sur le Training Set continuera
à se réduire MAIS celui du Test Set pourra
commencer à augmenter : le modèle prédictif s’est
trop spécialisé sur les données d’apprentissage.
coût d’erreur
dans le Training
Set
Underfitting Overfitting 135
Le concept de compromis biais-variance nous permet de bien résumer la situation :

Rym Besrour 136


PARTIE 1

Les modèles d’apprentissage


supervisé
Chapitre 4
Régressions paramétriques

1. Objectifs
2. Qu’est-ce qu’un modèle paramétrique
3. Régression linéaire
4. Régularisation
5. Régression Ridge
6. Régression Lasso
7. Régression Elastic Net
8. Régression logistique
9. Régression Softmax
1. Objectifs

• Distinguer un modèle d’apprentissage paramétrique d’un modèle non paramétrique


• Formuler un problème de régression linéaire ou logistique
• Résoudre un problème de régression paramétrique
• Contrôler la complexité d’un modèle par la régularisation
• Définir le lasso, la régression ridge, et elastic net
• Comprendre le rôle des normes l1 et l2 comme régulariseurs
• Choisir un coefficient de régularisation.

Rym Besrour 139


2. Qu’est-ce qu’un modèle paramétrique

• On parle de modèle paramétrique quand on utilise un algorithme d’apprentissage dont le but est de
trouver les valeurs optimales des paramètres d’un modèle dont on a défini la forme analytique en
fonction des descripteurs.
• La complexité d’un modèle paramétrique grandit avec le nombre de paramètres à apprendre,
autrement dit avec le nombre de variables.
• À l’inverse, la complexité d’un modèle non paramétrique aura tendance à grandir avec le nombre
d’observations.

Rym Besrour 140


3. Régression linéaire

Exemple:

On cherche à modéliser la relation entre poids des bébés à naissance et l'âge, le poids et le statut tabagique
de la mère durant la grossesse. On pose :
• y = poids de naissance en grammes,
• x1 = âge de la mère,
• x2 = poids de la mère en kilos,
• x3 = statut tabagique de la mère pendant la grossesse codée 1=oui et 0=non.

On suppose que cette relation est linéaire de la forme :


𝑦 = 𝜃0 + 𝜃1 𝑥1 + 𝜃2 𝑥2 + 𝜃3 𝑥3

▪ On veut estimer cette relation avec un modèle de régression multiple.


▪ On utilise un échantillon comportant un certain nombre de naissances pour lesquelles le poids du bébé,
l'âge, le poids et le statut tabagique de la mère, ont été mesurés.

Rym Besrour 141


3. Régression linéaire

La régression linéaire est le modèle le plus simple d’apprentissage supervisé. Elle cherche à établir une
relation linéaire entre une variable de sortie 𝒚 et plusieurs variables d’entrée 𝒙.
Il s’agit d’un modèle de régression, où la valeur cible est supposée être une combinaison linéaire des variables
d’entrée, décrite par la fonction suivante :

𝑦
ෞ𝜃 (𝑥) = 𝜃0 + 𝜃1 𝑥1 + 𝜃2 𝑥2 + ⋯ + 𝜃𝑛 𝑥𝑛 ෞ𝜃 (𝑥) = ℎ𝜃 𝑋 = 𝜃 𝑇 . 𝑋
𝑦
Forme vectorielle de la prédiction d’un modèle de
Prédiction d’un modèle de régression linéaire régression linéaire

yො est la valeur prédite 𝜃 est le vecteur des paramètres du modèle,


n est le nombre de variables 𝜃 𝑇 est la transposée de 𝜃
𝑋 est le vecteur des valeurs d’une observation,
xi est la valeur de la ième variable 𝜃 𝑇 . 𝑋 est le produit scalaire de 𝜃 𝑇 et de 𝑋,
θj est le jème paramètre du modèle ℎ𝜃 est la fonction hypothèse, utilisant les paramètres
de modèle 𝜃.
Rym Besrour 142
3. Régression linéaire

Entrainer un modèle de régression linéaire consiste à trouver le vecteur 𝜃 qui minimise la racine carré de
l’erreur quadratique moyenne (RMSE : Root Mean Square Error).
𝑚
1 2
𝑀𝑆𝐸 𝑋, ℎ𝜃 = ෍ 𝜃 𝑇 . 𝑥 (𝑖) − 𝑦 (𝑖)
𝑚
𝑖=1
Fonction de coût pour le modèle de régression linéaire

1ère Solution : équation normale.


𝜃መ = 𝑋 𝑇 . 𝑋 −1 . 𝑋 𝑇 . 𝑦

Equation normale

𝜃መ est la valeur de 𝜃 qui minimise la fonction de coût,


𝑦 est le vecteur des valeurs cibles 𝑦 (1) à 𝑦 (𝑚)
143
3. Régression linéaire

2ème Solution : algorithme d’optimisation

« Descente de Gradient »

Son principe est de corriger petit à petit les paramètres dans le but de
minimiser la fonction de coût.
La descente de gradient calcule le gradient de la fonction de coût au point
𝜃, puis progresse en direction du gradient descendant.
Lorsque le gradient est nul ➔ un minimum est atteint

En pratique, on initialise 𝜃 avec des valeurs aléatoires, initialisation aléatoire, puis on l’améliore
progressivement, pas à pas, en tentant à chaque étape de faire décroitre la fonction de coût (la MSE),
jusqu'à ce que l’algorithme converge vers un minimum.
Un hyperparamètre important dans l’algorithme de descente de gradient est la dimension des pas : learning
rate (taux d’apprentissage).

Rym Besrour 144


3. Régression linéaire
« Descente de Gradient »

Pour implémenter une descente de gradient, on doit calculer le gradient de la fonction de coût par rapport
à chaque paramètre 𝜃𝑗 du modèle.
𝜕
𝑀𝑆𝐸(𝜃)
𝑚
𝜕𝜃0
𝜕 2 (𝑖) 𝜕
𝑀𝑆𝐸(𝜃) = ෍ 𝜃 𝑇 . 𝑥 (𝑖) − 𝑦 (𝑖) 𝑥𝑗 𝜕𝜃1
𝑀𝑆𝐸(𝜃)
2 𝑇
𝜕𝜃𝑗 𝑚 .
𝑖=1 𝛻𝜃 𝑀𝑆𝐸 𝜃 = = 𝑋 . 𝑋. 𝜃 − 𝑦
. 𝑚
Dérivées partielles de la fonction de coût
.
𝜕
𝑀𝑆𝐸(𝜃)
𝜕𝜃𝑛
Vecteur gradient de la fonction de coût

Cette formule implique des calculs sur l’ensemble du jeu d’entrainement 𝑋, à chaque étape de la descente
de gradient ➔ extrêmement lent sur les jeux d’entrainement très volumineux.

Rym Besrour 145


3. Régression linéaire
« Descente de Gradient Ordinaire »

Une fois qu’on a calculé le vecteur gradient, il suffit d’aller dans la direction opposée pour descendre ➔
soustraire 𝛻𝜃 𝑀𝑆𝐸 𝜃 de 𝜃, et multiplier le vecteur gradient par le taux d’apprentissage 𝜂 pour déterminer le
pas de la progression vers le bas.

𝜃 (é𝑡𝑎𝑝𝑒 𝑠𝑢𝑖𝑣𝑎𝑛𝑡𝑒) = 𝜃 − 𝜂𝛻𝜃 𝑀𝑆𝐸(𝜃)


Pas de descente de gradient

Taux d’apprentissage trop faible En qq itérations seulement, l’algorithme a


➔ l’algorithme aboutira au bout du compte à Taux d’apprentissage est trop haut
déjà convergé vers la solution ➔ l’algorithme diverge
la solution mais cela prendra très longtemps ➔ le taux d’apprentissage semble assez bon 146
3. Régression linéaire
« Descente de Gradient Stochastique (SGD) »

La descente de gradient stochastique ne choisit à chaque étape qu’une observation prise au hasard dans
l’ensemble d’entrainement et calcule les gradients en se basant uniquement sur cette seule observation ➔
Algorithme beaucoup plus rapide.

Rym Besrour 147


3. Régression linéaire
« DG par mini lots »

Au lieu de calculer les dérivées partielles sur l’ensemble du jeu d’entrainement (DG ordinaire) ou sur une
seule observation (DG stochastique), la descente de gradient par mini-lots calcule le gradient sur de
petits sous-ensembles d’observations sélectionnées aléatoirement.

algorithme m n Hyper Normalisation Scikit-learn


grand grand paramètres requise ?
Équation normale Rapide Lent 0 Non LinearRegression
DG ordinaire Lent Rapide 2 Oui Non disponible
DG stochastique Rapide Rapide ⩾2 Oui SGDRegressor
DG par mini-lots rapide rapide ⩾2 oui Non disponible

m : nombre d’observations du jeu d’entrainement


n : nombre de variables 148
4. Régularisation

Pour un individu supplémentaire 𝑥 ∗ ,


la prédiction de 𝑌 et 𝑦ො ∗ , avec 𝑦ො ∗ = 𝜃መ0 + 𝜃መ1 𝑥1∗ + ⋯ + 𝜃መ𝑝 𝑥𝑝∗

On évalue la qualité de la prédiction à l’aide


de l’espérance de l’écart au carré entre la 𝐸 (𝑦 ∗ − 𝑦ො ∗ )2 = 𝜎 2 + (𝑬 𝒚
ෝ∗ − 𝒚∗ )𝟐 +𝑬 𝒚
ෝ∗ − 𝑬[ෝ
𝒚∗ ] 𝟐
prédiction 𝑦ො ∗ et la vraie valeur 𝑦 ∗

Erreur incompressible. Variance de la cible


Y, on ne pourra jamais faire mieux.
Variance : Dispersion de la prédiction
autour de sa propre espérance.
Biais² : écart au carré entre l’espérance de la Témoignage de l’instabilité du modèle,
prédiction et la vraie valeur. Indique les sa dépendance aux fluctuations de
insuffisances intrinsèques du modèle l’échantillon d’apprentissage.
(variables explicatives manquantes, ou forme
Rym Besrour de la relation non captée, …) 149
4. Régularisation

𝐸 (𝑦 ∗ − 𝑦ො ∗ )2 = 𝜎 2 + 𝑩𝒊𝒂𝒊𝒔𝟐 + 𝑽𝒂𝒓𝒊𝒂𝒏𝒄𝒆

Objectif : éviter le surapprentissage càd apprendre de l’échantillon de données d’apprentissage, mais


pas trop … (pas de sur dépendance)

Quel principe ? Accepter une légère augmentation du biais pour obtenir une réduction plus que
proportionnelle de la variance.

Comment ? Diriger (réguler) un peu plus fermement la modélisation en imposant des contraintes sur
les paramètres estimés de la régression (contraintes sur les valeurs que pourront prendre les 𝑎ො𝑗 dans
leur ensemble pour éviter qu’elles soient totalement erratiques)

Au final, le modèle sera plus performant puisqu’on diminue


l’erreur de prédiction espérée !!
Rym Besrour 150
5. Régression Ridge

Ajouter une contrainte sur les coefficients lors de la modélisation pour maitriser l’amplitude de leurs valeurs
(pour éviter qu’elles partent dans tous les sens)
𝑛

𝐽 𝜃 = 𝑀𝑆𝐸 𝜃 + 𝛼 ෍ 𝜃𝑖2
𝑖=1

𝛼 ≥ 0 est un paramètres (coefficient de Terme de régularisation ou


pénalité) qui permet de contrôler l’impact de Fonction de pénalité
la pénalité : à fixer

Le terme de régularisation force l’algorithme d’apprentissage à ajuster les données, et à maintenir les
coefficients de pondération du modèle aussi petits que possible.
L’hyperparamètre 𝛼 contrôle la quantité de régularisation qu’on veut imposer au modèle.

L’estimateur Ridge s’écrit alors : 𝜃መ𝑅𝑖𝑑𝑔𝑒 = 𝑋 𝑇 𝑋 + 𝛼𝐼 −1 𝑋 𝑇 𝑦

Avec 𝐼 est la matrice identité.


Rym Besrour 151
6. Régression Lasso

Contrainte sur la norme 𝐿1 des coefficients


𝑛

𝐽 𝜃 = 𝑀𝑆𝐸 𝜃 + 𝛼 ෍ 𝜃𝑖
𝑖=1

Terme de régularisation ou
Fonction de pénalité

La régression Lasso tend à éliminer complètement les poids des variables les moins importantes (elle leur
donne la valeur zéro) ➔ elle effectue automatiquement une sélection des variables et produit un modèle
creux avec seulement quelques coefficients de pondération non nuls.

Rym Besrour 152


7. Régression ElasticNet

𝑛 𝑛

𝐽 𝜃 = 𝑀𝑆𝐸 𝜃 + 𝛼 1 − 𝑟 ෍ 𝜃𝑖2 + 𝑟𝛼 ෍ 𝜃𝑖
𝑖=1 𝑖=1

𝑟 ∶ 𝑟𝑎𝑡𝑖𝑜 𝑑𝑒 𝑚é𝑙𝑎𝑛𝑔𝑒 (𝑚𝑖𝑥𝑟𝑎𝑡𝑖𝑜)


• 𝑟 = 0 ➔ ré𝑔𝑟𝑒𝑠𝑠𝑖𝑜𝑛 𝑟𝑖𝑑𝑔𝑒
• 𝑟 = 1 ➔ 𝑟é𝑔𝑟𝑒𝑠𝑠𝑖𝑜𝑛 𝑙𝑎𝑠𝑠𝑜

Rym Besrour 153


Ridge vs Lasso vs ElasticNet

• Un modèle avec un peu de régularisation donne en général de meilleurs résultats qu’un modèle sans
aucune régularisation, c’est pourquoi on préfère en général la régression ridge à la régression linéaire
ordinaire.

• La régression Lasso utilise une pénalité 𝓁1 qui tend à ramener les coefficients de pondération à zéro
exactement. Ceci conduit à des modèles creux, où tous les poids sont nuls sauf les plus importants. C’est
une façon de sélectionner automatiquement des variables, ce qui est judicieux si on soupçonne que
seules certaines d’entre elles ont de l’importance. Si on n’est pas sûr, on préfère alors la régression ridge.

• Elastic net est préférée en général à lasso, car cette dernière méthode peut se comporter de manière
désordonnée dans certains cas (lorsque plusieurs variables sont fortement corrélées ou lorsqu’il y a plus
de variables que d’observations d’entrainement). Cependant, cela fait un hyperparamètre
supplémentaire à ajuster.

Rym Besrour 154


8. Régression logistique

La régression logistique est utilisée pour estimer la probabilité qu’une observation appartienne à une classe
particulière ➔ Classification.

Si la probabilité estimée est supérieure à 0,5 alors le modèle prédit que l’observation appartient à cette classe
(classe positive, étiquette « 1 »), sinon il prédit qu’elle appartient à l’autre classe (classe négative, étiquette
«0»

un classificateur binaire

Un modèle de régression logistique calcule une somme pondérée des caractéristiques d’entrée (+ bias), mais
au lieu de fournir le résultat directement comme le fait le modèle de régression linéaire, il fournit la logistique
du résultat.
𝑝Ƹ = ℎ𝜃 𝑥 = 𝜎 𝜃 𝑇 , 𝑥
Probabilité estimée par le modèle de régression logistique
Rym Besrour 155
8. Régression logistique

La fonction logistique est une fonction sigmoïde qui renvoie des


valeurs comprises entre 0 et 1. 1
𝜎 𝑡 =
1 + 𝑒𝑥𝑝 −𝑡

𝟎, ෝ < 𝟎, 𝟓
𝒔𝒊 𝒑
Prédiction du modèle ෝ=ቊ
𝒚
𝟏, ෝ ≥ 𝟎, 𝟓
𝒔𝒊 𝒑

• L’objectif de l’entrainement consiste à définir le vecteur des paramètres 𝜃 afin que le modèle estime des
probabilités élevées pour les observations positives 𝑦 = 1 et des probabilités basses pour les
observations négatives 𝑦 = 0 .
• La fonction de coût suivante traduit cette idée dans le cas d’une unique observation d’entrainement 𝑥 :

−𝑙𝑜𝑔 𝑝Ƹ , 𝑠𝑖 𝑦 = 1
𝑐 𝜃 =ቊ
−𝑙𝑜𝑔 1 − 𝑝Ƹ , 𝑠𝑖 𝑦 = 0
Rym Besrour 156
Fonction de coût pour une seule observation d’entraînement
La fonction de coût sur l’ensemble du jeu d’entrainement est déterminée par le coût moyen sur l’ensemble
de ses observations.
𝑚
1
𝐽 𝜃 = − ෍ 𝑦 (𝑖) 𝑙𝑜𝑔 𝑝Ƹ (𝑖) + 1 − 𝑦 (𝑖) 𝑙𝑜𝑔 1 − 𝑝Ƹ (𝑖)
𝑚
𝑖=1

Fonction de coût de la régression logistique (perte logistique)

Cette fonction de coût est convexe : un algorithme de Descente de Gradient est


utilisé pour trouver le minimum global

La dérivée partielle de la fonction de coût par rapport au jième paramètre du modèle 𝜃𝑗 se calcule comme
suit :
𝑚
𝜕𝐽 𝜃 1 (𝑖)
= ෍ 𝜎 𝜃 𝑇 . 𝑥 (𝑖) − 𝑦 (𝑖) . 𝑥𝑗
𝜕𝜃𝑗 𝑚
𝑖=1
Dérivée partielle de la fonction de coût logistique

Elle calcule la moyenne sur toutes les


Rym Besrour observations d’apprentissage Erreur de prédiction 157
Jeu de données IRIS : c’est un jeu de données qui comporte la longueur et la largeur des sépales et des pétales de
150 fleurs de trois espèces différentes :
•Iris Setosa
•Iris Versicolor
•Iris Virginica

On veut construire un classificateur pour détecter


les Iris de type « Virginica » en se basant
uniquement sur la largeur du pétale.

Rym Besrour 158


9. Régression Softmax

Le modèle de régression logistique peut être généralisé de manière à prendre en compte plusieurs classes
directement, sans avoir à entrainer plusieurs classificateurs binaires puis à les combiner ➔ régression
softmax.
Principe : étant donné une observation 𝑥, le modèle de régression Softmax calcule un score 𝑠𝑘 (𝑥) pour
chaque classe 𝑘 selon la formule suivante :

𝑘 𝑇
𝑠𝑘 𝑥 = 𝜃 .𝑥

Puis estime la probabilité 𝑝Ƹ 𝑘 que cette observation appartienne à la classe 𝑘 en transformant ces scores par
la fonction Softmax
𝑒𝑥𝑝 𝑠𝑘 𝑥
𝑝Ƹ 𝑘 = 𝜎 𝑠 𝑥 𝑘
=
σ𝐾
𝑗=1 𝑒𝑥𝑝 𝑠𝑗 𝑥

Le classificateur de régression Softmax prédit la classe ayant la plus forte probabilité estimée
T
yො = argmaxk σ s x k
= argmaxk sk x = argmaxk θ(k) .x
Rym Besrour 159
9. Régression Softmax

L’objectif est d’avoir un modèle qui estime une forte probabilité pour la classe ciblée
➔ minimiser la fonction de coût appelée entropie croisée (cross entropy).
𝑚 𝐾
1 (𝑖) (𝑖)
𝐽 𝜃 =− ෍ ෍ 𝑦𝑘 𝑙𝑜𝑔 𝑝Ƹ𝑘
𝑚
𝑖=1 𝑘=1
(i)
yk est égal à 1 si la classe cible pour la ième observation est k, et 0 sinon

Le vecteur gradient par rapport à 𝜃 (𝑘) de cette fonction de coût se définit comme suit :
𝑚
1 (𝑖) (𝑖)
𝛻𝜃(𝑘) 𝐽 𝜃 = ෍ 𝑝Ƹ𝑘 − 𝑦𝑘 𝑥 (𝑖)
𝑚
𝑖=1

➔ Calculer le vecteur gradient de chaque classe, puis utiliser une descente de gradient pour trouver la
matrice des paramètres 𝜃 qui minimise la fonction de coût.

Rym Besrour 160


Application : utilisons la régression Softmax pour répartir les fleurs d’Iris en 3 classes.
La classe LogisticRegression de Scikit-Learn utilise par défaut une stratégie un-contre-tous (ons-vs-all) lorsqu’on
l’entraine sur plusieurs classes.
Il faut donner à l’hyperparamètres multi-class la valeur « multinomial » pour la transformer en régression Softmax.
Elle applique aussi par défaut une régularisation contrôlée par l’hyperparamètre C.

C’est une Iris Virginca (classe 2)


avec une probabilité de 94,25%

Rym Besrour 161


Chapitre 5
Méthode des plus proches voisins
KNN : k Nearest Neighbours,

1. Objectifs
2. Introduction
3. Méthode du plus proche voisin
4. Méthode des plus proches voisins
5. Notion de distance
6. Distance et similarité
1. Objectifs

— Implémenter l’algorithme des k plus proches voisins


— Calculer distances et similarités pour différents types de représentations des données
— Expliquer pourquoi l’algorithme des k plus proches voisins est susceptible de ne pas marcher en haute
dimension.

Rym Besrour 163


2. Introduction

• kNN est un algorithme de prédiction non paramétrique conceptuellement très simple, puisqu'aucune
estimation de paramètres n'est nécessaire comme pour la régression linéaire.

• Cet algorithme, dit des plus proches voisins, se base sur le principe de « qui se ressemble s’assemble », et
utilise les étiquettes des exemples les plus proches pour prendre une décision.

• On dispose de données d'apprentissage (training data) pour lesquelles chaque observation dispose d'une
classe y.

• L'idée de l'algorithme des kNN est pour une nouvelle observation de prédire les k observations lui étant les
plus similaires dans les données d'apprentissage.

• ...et utiliser ces observations pour classer l'observation dans une classe

Quand on parle de voisin cela implique la notion de distance ou de dissimilarité.

Rym Besrour 164


3. Méthode du plus proche voisin

Etant donné un jeu 𝒟 = 𝑥𝑖 , 𝑦𝑖 𝑖=1,…,𝑛 de 𝑛 observations étiquetées, et une distance 𝑑 sur 𝒳, on appelle
algorithme du plus proche voisin l’algorithme consistant à étiqueter une nouvelle observation 𝑥 par
l’étiquette du point du jeu d’entrainement qui en est la plus proche.
Cet algorithme s’applique aussi bien à un problème de classification qu’à un problème de régression.

La méthode du plus proche voisin a le défaut d’être très


sensible au bruit : si une observation est mal étiquetée, ou mal
positionnée, tous les points dans sa cellule (sa classe) seront
mal étiquetés.

Pour rendre cette méthode plus robuste, on se propose de


combiner les « opinions » de plusieurs voisins de l’observation
que l’on cherche à étiqueter.

Rym Besrour 165


4. Méthode des plus proches voisins

Etant donné un jeu 𝒟 = 𝑥𝑖 , 𝑦𝑖 𝑖=1,…,𝑛 de 𝑛 observations étiquetées, une distance 𝑑 sur 𝒳, et un


hyperparamètre 𝑘 ∈ ℕ∗ , on appelle algorithme des k plus proches voisins (KNN : k nearest neighbors),
l’algorithme consistant à étiqueter une nouvelle observation 𝑥 en fonction des étiquettes des 𝑘 points du
jeu d’entrainement dont elle est la plus proche.

En notant 𝒩𝑘 (𝑥) l’ensemble des 𝑘 plus proches voisins de 𝑥 dans 𝒟 :


• Pour un problème de classification, on applique le vote de la majorité, et 𝑥 prend l’étiquette
majoritaire parmi celles de ses 𝑘 plus proches voisins :
𝒇 𝒙 = 𝐚𝐫𝐠𝐦𝐚𝐱 σ𝒊:𝒙𝒊 ∈𝓝𝒌 (𝒙) 𝜹(𝒚𝒊 , 𝒄)
𝒄

• Pour un problème de régression, 𝑥 prend comme étiquette la moyenne des étiquettes de ses 𝑘 plus
proches voisins :
𝟏
𝒇 𝒙 = 𝒌 σ𝒊:𝒙𝒊 ∈𝓝𝒌(𝒙) 𝒚𝒊

Rym Besrour 166


4. Méthode des plus proches voisins

Début Algorithme
Données en entrée :
• Un ensemble de données 𝐷
• Une fonction de définition distance 𝑑
• Un nombre entier 𝐾

Pour une nouvelle observation 𝑋 dont on veut prédire sa variable de sortie 𝑦 Faire :
1. Calculer toutes les distances de cette observation 𝑋 avec les autres observations du
jeu de données 𝐷

2. retenir les 𝐾 observations du jeu de données 𝐷 les proches de 𝑋 en utilisation la


fonction de calcul de distance 𝑑

3. prendre les valeurs de 𝑦 des 𝐾 observations retenues :


Si on effectue une régression, calculer la moyenne (ou la médiane) de 𝑦
retenues
Si on effectue une classification , calculer le mode de 𝑦 retenues

4. Retourner la valeur calculée dans l’étape 3 comme étant la valeur qui a été prédite
par K-NN pour l’observation 𝑋.

Fin Algorithme
167
4. Méthode des plus proches voisins

Comment choisir la bonne valeur k ?

Pour sélectionner la valeur de k, nous exécutons plusieurs fois l’algorithme KNN avec différentes valeurs de k.
Puis nous choisissons le k qui réduit le nombre d’erreurs rencontrées tout en maintenant la capacité de
l’algorithme à effectuer des prédictions avec précision lorsqu’il reçoit des données nouvelles (non vues
auparavant).

1. Lorsque nous diminuons la valeur de k à 1, nos prédictions deviennent moins stables.


2. Inversement, à mesure que nous augmentons la valeur de k, nos prédictions deviennent de plus en plus
stables en raison du vote à la majorité ou de la moyenne. On est donc plus susceptible de faire des
prédictions plus précises (jusqu’à un certain point). En contre partie, nous commençons à être sujet à nombre
croissant d’erreurs.
3. Dans les cas où nous votons à la majorité (par exemple, en choisissant le mode dans un problème de
classification) parmi les étiquettes, nous choisissons généralement un nombre impair pour k (pour avoir un
départage en cas d’égalité).

168
4. Méthode des plus proches voisins

Avantages :

1. L’algorithme est super simple et facile à mettre en œuvre.


2. Il n’est pas nécessaire de construire un modèle, d’ajuster plusieurs paramètres ou de faire des
hypothèses supplémentaires.
3. L’algorithme est polyvalent. Il peut être utilisé pour la classification, la régression et la recherche
d’informations.

Inconvénients :

1. L’algorithme ralentit considérablement à mesure que le nombre d’observations et/ou de variables


dépendantes/indépendantes augmente. En effet, l’algorithme parcourt l’ensemble des observations pour
calculer chaque distance.

169
5. Distances et similarités

Distance
Définition d’une distance : Etant donné un ensemble 𝜒, on appelle distance sur 𝜒 toute fonction 𝑑 :
𝜒 × 𝜒 ⟶ ℝ vérifiant les trois propriétés suivantes :
1. Séparation : ∀ 𝑢, 𝑣Ԧ ∈ 𝜒 × 𝜒, 𝑑 𝑢, 𝑣Ԧ = 0 ⇔ 𝑢 = 𝑣Ԧ
2. Symétrie : ∀ 𝑢, 𝑣Ԧ ∈ 𝜒 × 𝜒, 𝑑 𝑢, 𝑣Ԧ = 𝑑 𝑣,
Ԧ 𝑢
Ԧ 𝑡Ԧ ∈ 𝜒 3 , 𝑑 𝑢, 𝑣Ԧ ≤ 𝑑 𝑢, 𝑡Ԧ + 𝑑 𝑡Ԧ, 𝑣Ԧ
3. Inégalité triangulaire : ∀ 𝑢, 𝑣,

170
5. Distances et similarités

Rym Besrour 171


Exemple
Supposons que l’on a un problème de classification qui consiste à déterminer la classe d’appartenance de
nouvelles instances 𝑋𝑖 . Le domaine de valeurs des classes possibles est 1, 2, 3.
Selon la base de connaissance suivante, déterminez à la main la classe de l’instance 𝑋6 , dont les valeurs
pour les attributs numériques 𝐴1 à 𝐴5 sont 3, 12, 4, 7, 8 , à l’aide de l’algorithme des k-voisins les plus
proches (K-NN) avec K=1 et K=3.
Montrez tous les calculs.
𝑑 𝑋6 , 𝑋1 = 9.95 𝑑 𝑋6 , 𝑋3 = 11.61

𝑑 𝑋6 , 𝑋2 = 11.18 𝑑 𝑋6 , 𝑋4 = 11.91
𝑑 𝑋6 , 𝑋5 = 8.25

𝐾 = 1 =⇒ 𝑋5 𝑒𝑠𝑡 𝑙𝑒 𝑣𝑜𝑖𝑠𝑖𝑛 𝑙𝑒 𝑝𝑙𝑢𝑠 𝑝𝑟𝑜𝑐ℎ𝑒 𝑑𝑜𝑛𝑐 𝑋6 𝑠𝑒𝑟𝑎 𝑎𝑓𝑓𝑒𝑐𝑡é à 𝑙𝑎 𝑐𝑙𝑎𝑠𝑠𝑒 2


𝐾 = 3 =⇒ 𝑋5 , 𝑋1 𝑒𝑡𝑋2 𝑠𝑜𝑛𝑡 𝑙𝑒𝑠 𝑣𝑜𝑖𝑠𝑖𝑛𝑠 𝑙𝑒𝑠 𝑝𝑙𝑢𝑠 𝑝𝑟𝑜𝑐ℎ𝑎𝑖𝑛𝑠 𝑑𝑜𝑛𝑐 𝑋6 𝑠𝑒𝑟𝑎 𝑎𝑓𝑓𝑒𝑐𝑡é à 𝑙𝑎 𝑐𝑙𝑎𝑠𝑠𝑒 2 𝑎𝑢𝑠𝑠𝑖

Rym Besrour 172


Chapitre 6
Machines à Vecteurs Support

1. Introduction

2. Classificateur SVM linéaire

3. Classificateur SVM non linéaire

4. Régression SVM
1. Introduction

Les Support Vector Machines, Séparateur à Vaste Marge (SVM), sont une classe d’algorithmes d’apprentissage
initialement définis pour la discrimination c’est-à-dire la prévision d’une variable qualitative binaire. Ils ont été
ensuite généralisés à la prévision d’une variable quantitative.

Dans le cas de la discrimination d’une variable dichotomique, ils sont basés sur la recherche de l’hyperplan de
marge optimale qui, lorsque c’est possible, classe ou sépare correctement les données tout en étant le plus
éloigné possible de toutes les observations.

Le principe est donc de trouver un classifieur, ou une fonction de discrimination, dont la capacité de
généralisation (qualité de prévision) est la plus grande possible. Cette approche découle directement des
travaux de Vapnik en théorie de l’apprentissage à partir de 1995. Elle s’est focalisée sur les propriétés de
généralisation (ou prévision) d’un modèle en contrôlant sa complexité.

Rym Besrour 174


1. Introduction
Le principe de base des SVM consiste de ramener le problème de la discrimination à celui, linéaire, de la
recherche d’un hyperplan optimal. Deux idées ou astuces permettent d’atteindre cet objectif :
• La première consiste à définir l’hyperplan comme solution d’un problème d’optimisation sous
contraintes dont la fonction objectif ne s’exprime qu’à l’aide de produits scalaires entre vecteurs et
dans lequel le nombre de contraintes “actives” ou vecteurs supports contrôle la complexité du
modèle.
• Le passage à la recherche de surfaces séparatrices non linéaires est obtenu par l’introduction d’une
fonction noyau (kernel) dans le produit scalaire induisant implicitement une transformation non
linéaire des données vers un espace intermédiaire (feature space) de plus grande dimension. D’où
l’appellation couramment rencontrée de machine à noyau ou kernel machine. Sur le plan théorique, la
fonction noyau définit un espace hilbertien, dit auto-reproduisant et isométrique par la transformation
non linéaire de l’espace initial et dans lequel est résolu le problème linéaire.

Cet outil devient largement utilisé dans de nombreux types d’applications et s’avère un concurrent sérieux des
algorithmes les plus performants (agrégation de modèles). L’introduction de noyaux, spécifiquement adaptés
à une problématique donnée, lui confère une grande flexibilité pour s’adapter à des situations très diverses
(reconnaissance de formes, de séquences génomiques, de caractères, détection de spams, diagnostics...).

Rym Besrour 175


1. Introduction

On donne un ensemble d’apprentissage 𝑥𝑖 , 𝑦𝑖 𝑖=1,…,𝑛 où 𝑥𝑖 ∈ 𝜒


(souvent 𝜒 = ℝ𝑑 ) et 𝑦𝑖 ∈ −1, +1 .

Dans un problème de classement à deux classes, le but est de


construire une fonction 𝑓 ∶ 𝜒 ⟶ ℝ qui permet de prédire si un
nouvel exemple 𝑥 ∈ 𝜒 appartient à la classe -1 ou à la classe +1.

On cherche alors une « surface de séparation » 𝑓 ∶ 𝜒 ⟶ ℝ tel que


si 𝑓(𝑥) > 0 alors 𝑥 est affecté à la classe +1 et si 𝑓(𝑥) < 0 alors 𝑥
est affecté à la classe -1.

Problème de séparation à 2 classes : trouver la


fonction 𝑓 𝑡𝑒𝑙 𝑞𝑢𝑒 𝑓 𝑥 = 0 sépare les 2 classes
avec le moins d’erreurs possible.
Rym Besrour 176
3. SVM linéaire

Pour un problème de classification linéaire, on suppose que les deux classes −1 𝑒𝑡 + 1 sont séparables par un
hyperplan, la fonction 𝑓 a donc la forme :

𝑓 𝑥 = σ𝑛𝑖=1 𝜔𝑖 𝑥𝑖 + 𝑏 = 𝜔, 𝑥 + 𝑏

Où 𝜔 est le vecteur orthogonal à l’hyperplan et 𝑏 est le déplacement par rapport à l’origine.

Problème de séparation linéaire à deux


classes : quel est le meilleur hyperplan
parmi tous ceux qui séparent les
données ?

Rym Besrour 177


3. SVM linéaire

Pour juger la qualité d’un hyperplan en tant que séparateur on utilise la distance entre les exemples
d’apprentissage et ce séparateur. Plus précisément, la « marge » d’un problème d’apprentissage est définie
comme la distance entre le plus proche exemple d’apprentissage et l’hyperplan de séparation.
Pour un hyperplan 𝐻 on a :
𝑀𝑎𝑟𝑔𝑒 𝐻 = min 𝑑 𝑥𝑖 , 𝐻
𝑥𝑖

Les SVM linéaires cherchent le séparateur (l’hyperplan de


séparation) qui maximise la marge : « séparateur à vaste
marge ».

Le séparateur idéal correspond intuitivement à l’hyperplan


qui passe « au milieu » entre les données sans préférence
pour une classe ou une autre. C’est le séparateur de marge
maximale.

Rym Besrour 178


3. SVM linéaire

Les éléments de la classe 1 les plus proches de ce séparateur se trouvent à la même distance du séparateur
que les éléments les plus proches de la classe 2 (cette distance est égale à la marge). Ces éléments, soit d’une
classe soit de l’autre, s’appellent « vecteurs de support ».

Les « vecteurs de support » se trouvent a une distance égale à la


marge d’un côte ou de l’autre de l’hyperplan de séparation.

Intuitivement, ce sont les vecteurs de support qui déterminent le


séparateur (par l’intermédiaire de la fonction distance et de leur
configuration géométrique).

Une fois le séparateur 𝑓(𝑥) trouvé, la classification d’un nouvel


exemple se fait par une simple décision à seuil zéro :
• 𝑓 𝑥 = 0 : l’élément se trouve sur la frontière de séparation, pas
de décision,
• 𝑓(𝑥) > 0 : classe 1,
• 𝑓 𝑥 < 0 : classe 0.
Rym Besrour 179
3. SVM linéaire

On suppose d’abord que les données d’apprentissage sont linéairement séparables, c’est à dire qu’il existe un
hyperplan qui sépare les données sans erreur. Dans ce cas, on cherche l’hyperplan de marge maximale :

𝑓 𝑥 = 𝑤, 𝑥 + 𝑏 = 𝑤 𝑇 𝑥 + 𝑏

Si 𝑥𝑠 est un vecteur de support et 𝐻 = 𝑥 𝑤 𝑇 𝑥 + 𝑏 = 0 , alors la marge est donnée par :

𝑤 𝑇 𝑥𝑠 + 𝑏
𝑀𝑎𝑟𝑔𝑒 = 2𝑑 𝑥, 𝐻 = 2
𝑤

Les paramètres 𝑤 𝑒𝑡 𝑏 ne sont pas uniques, k𝑤 𝑒𝑡 𝑘𝑏 donnent la même surface de séparation :

𝑘𝑤 𝑇 𝑥 + 𝑘𝑏 = 0
Rym Besrour 180
3. SVM linéaire
On impose alors la condition de normalisation 𝑤 𝑇 𝑥 + 𝑏 = 1 pour les vecteurs de support 𝑥𝑠 , ce qui conduit à :

2
𝑀𝑎𝑟𝑔𝑒 = .
𝑤

On arrive donc au problème d’optimisation suivant (appelé problème primal) :


1
min 𝑤 2
ቐ 𝑤,𝑏 2
𝑡𝑒𝑙 𝑞𝑢𝑒 𝑦𝑖 𝑤. 𝑥𝑖 + 𝑏 ≥ 1, 𝑖 = 1, … , 𝑛

Rappelons la condition de normalisation : 𝑤. 𝑥𝑖 + 𝑏 = 1 si 𝑥𝑖 est un vecteur de support de la classe +1 et 𝑤. 𝑥𝑖 +


𝑏 = −1 si 𝑥𝑖 est un vecteur de support de la classe -1. Dans ce cas, comme le problème est séparable, il n’y a pas
d’exemple d’apprentissage entre les deux hyperplans; 𝑤. 𝑥𝑖 + 𝑏 = 1 et 𝑤. 𝑥𝑖 + 𝑏 = −1.
Nous obtenons :
• 𝑠𝑖 𝑦𝑖 = 1 𝑎𝑙𝑜𝑟𝑠 𝑤. 𝑥𝑖 + 𝑏 ≥ 1 𝑒𝑡 𝑑𝑜𝑛𝑐 𝑦𝑖 𝑤. 𝑥𝑖 + 𝑏 ≥ 1
• 𝑠𝑖 𝑦𝑖 = −1 𝑎𝑙𝑜𝑟𝑠 𝑤. 𝑥𝑖 + 𝑏 ≤ −1 𝑒𝑡 𝑑𝑜𝑛𝑐 𝑦𝑖 𝑤. 𝑥𝑖 + 𝑏 ≥ 1

Ce qui explique les conditions présentes dans le problème d’optimisation.


Rym Besrour 181
3. SVM linéaire

La résolution de ce problème peut se faire directement par des méthodes stochastique de type Gauss-Seidel,
algorithmes de point intérieur, de type Newton ou de type gradient conjugué.
Il est toutefois mieux de passer à la formulation duale de ce problème :
• Le dual est un problème quadratique de taille 𝑛 (égal au nombre d’observations)
• Pour ce type de problème (optimisation quadratique) il existe des algorithmes bien étudiés et très
performants.
• La formulation duale fait apparaitre la matrice de Gram 𝑋𝑋 𝑇 , ce qui permet de gérer le cas non linéaire à
travers des algorithmes à noyaux.

Pour obtenir la formulation duale, on introduit les multiplicateurs 𝛼𝑖 de Lagrange. Le lagrangien est donné par :

𝑛
𝜕𝐿
𝐿 𝑤, 𝑏, 𝛼 = 0 ⟹ ෍ 𝛼𝑖 𝑦𝑖 = 0
𝜕𝑏
𝑖=1

𝑛
𝜕𝐿
𝐿 𝑤, 𝑏, 𝛼 = 0 ⟹ 𝑤 = ෍ 𝛼𝑖 𝑦𝑖 𝑥𝑖
𝜕𝑤
Rym Besrour 𝑖=1 182
3. SVM linéaire
Par substitution dans l’équation du lagrangien, on obtient le problème dual :
𝑛 𝑛
1
max ෍ 𝛼𝑖 − ෍ 𝛼𝑖 𝛼𝑗 𝑦𝑖 𝑦𝑗 𝑥𝑖𝑇 𝑥𝑗
𝛼 2
𝑖=1 𝑖,𝑗=1
𝑡𝑒𝑙 𝑞𝑢𝑒 𝛼𝑖 ≥ 0, 𝑖 = 1, … , 𝑛 (𝑎𝑑𝑚𝑖𝑠𝑠𝑖𝑏𝑖𝑙𝑖𝑡é 𝑑𝑢𝑎𝑙𝑒)
𝑛

෍ 𝛼𝑖 𝑦𝑖 = 0 (𝑠𝑡𝑎𝑡𝑖𝑜𝑛𝑛𝑎𝑟𝑖𝑡é)
𝑖=1

La solution du problème dual donne les multiplicateurs de Lagrange optimaux 𝛼𝑖 . A partir de 𝛼𝑖 on obtient 𝑤.
Le paramètre 𝑏 est obtenu à partir de la relation 𝑥𝑠𝑇 𝑤 + 𝑏 = 1 valable pour tous les vecteurs de support 𝑥𝑠 .
Les vecteurs de support sont ceux pour lesquels 𝛼𝑖 > 0.
En général leur nombre est beaucoup plus petit que le nombre total d’éléments dans la base d’apprentissage.
Ajouter des échantillons qui ne sont pas des vecteurs supports à l’ensemble d’apprentissage n’a aucune
influence sur la solution finale, c’est à dire seulement les vecteurs de support interviennent dans la fonction de
décision (l’expression de la surface séparatrice entre les deux classes). Cette fonction de décision permettant
de classer une nouvelle observation 𝑥 est donnée par :
𝑛

Rym Besrour
𝑓 𝑥 = ෍ 𝛼𝑖 𝑦𝑖 𝑥𝑖𝑇 𝑥 + 𝑏 183
𝑖=1
3. SVM linéaire

Le modèle de classificateur SVM linéaire prédit la classe d’une nouvelle instance 𝒙 en calculant
simplement la fonction de décision 𝒘𝑻 . 𝒙 + 𝒃 = 𝒘𝟏 𝒙𝟏 + ⋯ + 𝒘𝒏 𝒙𝒏 + 𝒃

0, 𝑠𝑖 𝒘𝑻 . 𝒙 + 𝒃 < 0
𝑦ො = ቊ
1, 𝑠𝑖 𝒘𝑻 . 𝒙 + 𝒃 ≥ 0
Prédiction de classificateur SVM linéaire

Entrainer un classificateur SVM linéaire consiste à trouver les


valeurs de w et de b rendant cette marge aussi large que
possible tout en évitant les empiètements de marge (marge
rigide) ou en les limitant (marge souple)

Rym Besrour 184


3. SVM linéaire

La pente de la fonction de décision est égale à la norme du vecteur des pondérations : 𝒘


Objectif 1 : obtenir une marge large (marge souple) ➔ donc minimiser 𝒘

Objectif 2 : éviter tout empiètement de marge (marge rigide) ➔ avoir une fonction de décision qui
soit supérieure à 1 pour toutes les observations d’entrainement positives, et inférieure à -1 pour toutes les
observations d’entrainement négatives.

Deux objectifs contradictoires : diminuer autant que possible les variables ressort pour réduire
les empiètements de marge, et minimiser 1Τ2 𝑤 𝑇 . 𝑤 pour accroitre la marge

➔ l’hyperparamètre C définit un compromis entre ces deux objectifs

Rym Besrour 185


Rym Besrour 186
C faible ➔ la marge est plus large mais bcp C élevée ➔ le classificateur provoque moins
d’observations se retrouvent à l’intérieur du chemin d’empiètements de marge mais aboutit à une
marge plus étroite

Le 1er classificateur (C faible) fournira une meilleure généralisation, de fait, il


fait moins d’erreurs de prédiction sur le jeu d’entraînement, vu que la plupart
des empiétements de marge sont en fait du bon côté de la frontière de décision
Rym Besrour 187
4. SVM non linéaire

• Pour surmonter les inconvénients des cas non linéairement séparable, l’idée des SVM est de changer
l’espace des données.

• La transformation non linéaire des données peut permettre une séparation linéaire des exemples dans un
nouvel espace ➔ un changement de dimension.
Cette nouvelle dimension est appelé « espace de re-description »

• Plus la dimension de l’espace de re-description est grande, plus la probabilité de pouvoir trouver un
hyperplan séparateur entre les exemples est élevée.

Cette transformation non linéaire est réalisée via une


fonction noyau : Kernel

Rym Besrour 188


4. SVM non linéaire

Qu’est ce qu’un noyau ?


Avant de donner une définition formelle on se pose la question : à quoi devrait ressembler une fonction noyau ?
Intuitivement, elle est proche d’une mesure de similarité. Plus précisément, si 𝑥 𝑒𝑡 𝑦 sont deux vecteurs, alors un
noyau défini pour ces vecteurs doit avoir des valeurs élevées 𝑠𝑖 𝑥 ≈ 𝑦 et des valeurs faibles 𝑠𝑖 𝑥 𝑒𝑡 𝑦 sont très
différents.

Définition : une fonction 𝑠: 𝒳 × 𝒳 → ℝ est une mesure de similarité si les conditions suivantes sont satisfaites :
• 𝑥, 𝑦 ∈ 𝒳 𝑠 𝑥, 𝑦 ≥ 0 𝑝𝑜𝑠𝑖𝑡𝑖𝑣𝑖𝑡é ,
• 𝑥, 𝑦 ∈ 𝒳 𝑠 𝑥, 𝑦 = 𝑠(𝑦, 𝑥) 𝑠𝑦𝑚é𝑡𝑟𝑖𝑒 ,
• ∀ 𝑦 ∈ 𝒳, 𝑦 ≠ 𝑥 𝑠 𝑥, 𝑦 > 𝑠 𝑥, 𝑥 𝑢𝑛𝑖𝑓𝑜𝑟𝑚𝑖𝑡é ,
• 𝑠 𝑥, 𝑦 = 𝑠 𝑥, 𝑥 ⇔ 𝑥 = 𝑦 𝑖𝑑𝑒𝑛𝑡𝑖𝑡é .

A comparer avec la distance 𝑑(𝑥, 𝑦) qui a des valeurs élevées si 𝑥 𝑒𝑡 𝑦 sont très différents et des valeurs faibles si
𝑥 𝑒𝑡 𝑦 sont proches. Cette intuition concernant la notion de similarité correspond à ce qu’on connaît du produit
scalaire : deux vecteurs proches (directions presque parallèles) ont une valeur élevée pour le produit scalaire.
Par contre, pour deux vecteurs très différents (orthogonaux) le produit scalaire est proche de zéro.
Rym Besrour 189
4. SVM non linéaire

L’astuce à noyau
Principe : transposer les données dans un autre espace (en général de plus grande dimension) dans lequel elles
sont linéairement séparables (ou presque) et ensuite appliquer l’algorithme SVM sur les données transposées.

Si 𝐾 est un noyau défini positif 𝐾: ℝ𝑑 × ℝ𝑑 ⟶ ℝ , alors il existe une transformation 𝜙 = ℝ𝑑 ⟶ ℋ, 𝑥 ⟶ 𝜙 𝑥 ,


Vers ℋ espace de Hilbert, et :
𝐾 𝑥, 𝑦 = 𝜙 𝑥 , 𝜙 𝑦

Rym Besrour 190


4. SVM non linéaire

Exemple de noyaux

Rym Besrour 191


4. SVM non linéaire

L’ajout des variables polynomiales est simple à réaliser et peut donner de bons résultats avec toutes sortes
d’algorithmes d’apprentissage automatique
• Avec un degré polynomial faible, on ne peut pas tirer parti de jeux de données très complexes
• Avec un degré polynomial élevé, on obtient un très grand nombre de variables ➔ traitement trop
lent.

Noyau (Kernel)
obtenir le même résultat que si on avait de nombreuses
variables polynomiales, même de degré élevé, sans avoir à les
ajouter effectivement.

La classe SVC de Scikit-learn

Rym Besrour 192


4. SVM non linéaire
Noyau polynomial

Sur ajustement ➔ réduire le degré polynomial

Sous-ajustement ➔ augmenter ce degré


Rym Besrour 193
4. SVM non linéaire
Noyau gaussien

𝛾 : hyperparamètre de régularisation
Sur-ajustement ➔ réduire 𝛾
Sous-ajustement ➔ augmenter 𝛾

𝛾 ↗ ➔ la courbe en cloche plus


étroite, la frontière de décision
devient plus irrégulière

𝛾 ↘ ➔ la courbe en cloche plus


large, la frontière de décision
devient plus lisse

Rym Besrour 194


Que choisir ?

➢ En général, on commence par tester le noyau linéaire en particulier si le jeu d’entrainement


comporte beaucoup d’observations ou variables.

➢ Si le jeu d’entrainement n’est pas trop grand, on peut aussi tester le noyau Radial gaussien
(RBF) (il donne généralement de bons résultats)

➢ On peut aussi tester d’autres noyaux en effectuant une validation croisée et une recherche par
quadrillage.

Rym Besrour 195


5. Régression SVM

SVM est polyvalent.

Il permet non seulement la classification linéaire et non linéaire, mais aussi la régression linéaire et

non linéaire en renversant l’objectif !!

Objectif : au lieu d’essayer d’ajuster le chemin le plus large possible entre deux classes en
limitant les empiètements de marge, la régression SVM s’efforce d’ajuster autant
d’observations que possible sur le chemin tout en limitant les empiètements de marge.

La largeur du chemin est contrôlée par l’hyperparamètre 𝜀

Rym Besrour 196


5. Régression SVM

Rym Besrour 197


Chapitre 7
Arbres de Decision

1. Définitions
2. Apprentissage avec les arbres de décision
3. Algorithme : ID3 (Iterative Dichotomiser 3)
4. CART : Arbres de classification et régression
5. Exemple d’application
6. Extensions
1. Définitions

En théorie des graphes, un arbre est un graphe non orienté, acyclique et connexe. L’ensemble des nœuds se
divise en trois catégories :
• Nœud racine (l’accès à l’arbre se fait par ce nœud),
• Nœuds internes : les nœuds qui ont des descendants (ou enfants), qui sont à leur tour des nœuds,
• Nœuds terminaux (ou feuilles) : nœuds qui n’ont pas de descendant.

Les arbres de décision (AD) sont une catégorie d’arbres utilisée dans l’exploration de données et en
informatique décisionnelle. Ils emploient une représentation hiérarchique de la structure des données sous
forme des séquences de décisions (tests) en vue de la prédiction d’un résultat ou d’une classe.
Chaque observation, qui doit être attribuée à une classe, est décrite par un ensemble de variables qui sont
testées dans les nœuds de l’arbre.
Les tests s’effectuent dans les nœuds internes et les décisions sont prise dans les nœuds feuille.

Rym Besrour 199


1. Définitions

Exemples

Rym Besrour 200


2. Apprentissage avec les arbres de décision

On considère d’abord le problème de classification. Chaque élément 𝑥 de la base de données est représenté
par un vecteur multidimensionnel 𝑥1 , 𝑥2 , … , 𝑥𝑛 correspondant à l’ensemble de variables descriptives du
point. Chaque nœud interne de l’arbre correspond à un test sur une des variables 𝑥𝑖 ∶
• Variable catégorielle : génère une branche (un descendant) par valeur de l’attribut,
• Variable numérique : test par intervalles (tranches) de valeurs.

Les feuilles de l’arbre spécifient les classes.

Une fois l’arbre construit, classer un nouvel candidat se fait par une descente dans l’arbre, de la racine vers
une des feuilles (qui encode la décision ou la classe). A chaque niveau de la descente on passe un nœud
intermédiaire où une variable 𝑥𝑖 est testée pour décider du chemin (ou sous-arbre) à choisir pour continuer la
descente.

Rym Besrour 201


2. Apprentissage avec les arbres de décision

Principe de la construction
• Au départ, les points de la base d’apprentissage sont tous placés dans le nœud racine. Une des variables de
description des points est la classe du point (la « vérité terrain ») ; cette variable est dite « variable cible ».
• La variable cible peut être catégorielle (problème de classement) ou valeur réelle (problème de régression).
• Chaque nœud est coupé (opération split) donnant naissance à plusieurs nœuds descendants. Un élément
de la base d’apprentissage situé dans un nœud se retrouvera dans un seul de ses descendants.
• L’arbre est construit par partition récursive de chaque nœud en fonction de la valeur de l’attribut testé à
chaque itération (top-down induction). Le critère optimisé est la homogénéité des descendants par rapport
à la variable cible. La variable qui est testée dans un nœud sera celle qui maximise cette homogénéité.
• Le processus s’arrête quand les éléments d’un nœud ont la même valeur pour la variable cible
(homogénéité).
Rym Besrour 202
3. Algorithme ID3

L’algorithme commence par le placement de tous les exemples d’apprentissage dans le nœud racine. Ensuite,
chaque nœud est coupé sur un des attributs restants (qui n’a pas encore été testé). Le choix de cet attribut se
fait à travers une mesure d’homogénéité par rapport à la variable cible. Cette mesure est le gain
d’information obtenu par le découpage.
On suppose que la variable cible a 𝑚 valeurs distinctes (les étiquettes de classe). Pour un nœud 𝑆 (interne ou
feuille) on calcule son entropie par rapport à la cible comme suit :
▪ Partitionner 𝑆 sur les valeurs de la cible en 𝑚 groupes : 𝐶1 , … , 𝐶𝑚 .
▪ Calculer 𝑝𝑖 , 𝑖 = 1 … 𝑚, la probabilité qu’un élément de 𝑆 se trouve dans 𝐶𝑖 (𝑝𝑖 ≈ 𝐶𝑖 / 𝑆 ou 𝐶𝑖 est la
taille du groupe 𝐶𝑖 ).
▪ 𝐻 𝑆 = − σ𝑚
𝑖=1 𝑝𝑖 log(𝑝𝑖 ) est l’entropie de 𝑆.

Rym Besrour 203


3. Algorithme ID3

𝐻 𝑆 mesure l’écart de la distribution de la variable cible par rapport à la distribution uniforme :


• 𝐻 𝑆 = 0 si 𝑆 est homogène (tous les éléments sont dans la même classe : toutes les probabilités 𝑝𝑖
sont égales à 0).
• 𝐻 𝑆 = 𝑚𝑎𝑥 si toutes les probabilités 𝑝𝑖 sont égales (tous les groupes 𝐶𝑖 ont la même taille : 𝑝1 =
1
⋯ = 𝑝𝑛 = 𝑚).

Pour calculer le gain d’information dans un nœud interne 𝑆 sur l’attribut 𝑎 ∶


• Partitionner 𝑆 sur les valeurs de l’attribut 𝑎 en 𝑘 sous-groupes : 𝑆1 , … , 𝑆𝑘 (𝑘 est le nombre de valeurs
distinctes de l’attribut 𝑎),
• 𝑝𝑖 : la probabilité qu’un élément de 𝑆 appartient à 𝑆𝑖
• Calculer 𝐺𝐼 𝑆; 𝑎 = 𝐻 𝑆 − σ𝑘𝑖=1 𝑝𝑖 𝐻(𝑆𝑖 ) le gain d’information sur l’attribut 𝑎.

Rym Besrour 204


3. Algorithme ID3

Avec ces précisions, l’algorithme ID3 commence par la racine. Ensuite pour le nœud 𝑆 en train d’être testé :
▪ Calculer le gain d’information pour chaque attribut par encore utilisé,
▪ Choisir l’attribut 𝑎 de gain d’information maximal,
▪ Créer un test (décision) sur cet attribut dans le nœud 𝑆 et générer les sous-nœuds 𝑆1 , … , 𝑆𝑘
correspondant à la partition sur l’attribut choisi 𝑎,
▪ Récurrence sur les nœuds qui viennent d’être crées.

Sortie de la récursivité
• Tous les éléments de 𝑆 sont dans la meme classe (𝐻 𝑆 = 0) ∶ 𝑆 devient nœud feuille,
• Pas d’attributs non utilisés : nœud feuille sur la classe majoritaire,
• 𝑆 = ∅ : nœud feuille sur la classe majoritaire du parent (ce cas est nécessaire pour le classement de
nouveaux échantillons)
Rym Besrour 205
3. Algorithme ID3

Problèmes de l’algorithme ID3


▪ Solution globale non garantie (la solution trouvée est un optimum local)
une amélioration possible : backtracking pour tenter d’obtenir une meilleure solution.
▪ Sur-apprentissage (overfitting) : pour l’éviter il faut préférer les arbres de taille réduite (problème
d’élagage de l’arbre).
▪ Pas adapté pour des données numériques continues (ces données doivent être quantifiées avant
d’être utilisée avec cet algorithme).

Rym Besrour 206


3. Algorithme ID3

C4.5 (Iterative Dichotomiser 4.5)


▪ Élagage après la construction de l’arbre : C4.5 utilise une procédure qui permet de transformer en
feuilles des sous-arbres qui ne contribuent à un meilleur résultat (score « accuracy ») de
l’apprentissage.
▪ Limitation de la profondeur de l’arbre par la taille minimale du nœuds (paramètre de construction).
▪ Chaque attribut peut avoir un poids (coût).
▪ Traitement des variables continues en cherchant des seuils qui maximisent le gain d’information
(découpage binaire).
▪ Traitement des valeurs manquantes.

Rym Besrour 207


3. Algorithme ID3

C5.0 (Iterative Dichotomiser 5.0)


▪ Version commerciale.
▪ Vitesse et utilisation mémoire.
▪ Optimisé pour des bases de données de très grande taille.
▪ Arbres plus petits.
▪ Pondération des cas et erreurs de classement.

Rym Besrour 208


4. CART

• L’acronyme CART correspond à deux situations bien distinctes selon que la variable à expliquer, modéliser
ou prévoir est qualitative (classification) ou quantitative (régression).

• Très complémentaires des méthodes statistiques plus classiques : analyse discriminante, régression
linéaire, les solutions obtenues sont présentées sous une forme graphique simple à interpréter, même
pour des néophytes, et constituent une aide efficace pour l’aide à la décision. Elles sont basées sur une
séquence récursive de règles de division, coupes ou splits.

Rym Besrour 209


4. CART

Les principales différences sont les suivantes :


▪ CART pose seulement de questions-test binaires (arbres binaires).
▪ Fonctionne pour des attributs aux valeurs continues (variables quantitatives).
▪ CART cherche tous les attributs et tous les seuils pour trouver celui qui donne la meilleure
homogénéité du découpage.
Quand un nœud interne 𝑆 est coupé sur l’attribut 𝑗, seuil 𝑎𝑗 , il donne naissance à deux descendants :

▪ Sous-nœud gauche 𝑆𝑔 (𝑝𝑔 ≈ 𝑆𝑔 / 𝑆 ) qui contient tous les éléments qui ont les valeurs de l’attribut
𝑣𝑗 ≤ 𝑎𝑗 ,
▪ Sous-nœud droit 𝑆𝑑 (𝑝𝑑 ≈ 𝑆𝑑 / 𝑆 ) qui contient tous les éléments qui ont les valeurs de l’attribut
𝑣𝑗 ≥ 𝑎𝑗 .

Rym Besrour 210


4. CART

Fonction de gain
𝑛

𝐺𝑎𝑖𝑛 𝑝, 𝑡 = 𝑖 𝑝 − ෍ 𝑃𝑗 𝑖(𝑝𝑗 )
𝑗=1

𝑡 : le test (la variable)


𝑛 : le nombre de modalités de 𝑡.
𝑖 : la fonction pour mesurer le degré de désordre
𝑃𝑗 : la proportion des individus à la position 𝑝 qui vont en position 𝑝𝑗

On cherche le test qui maximise le gain.

Rym Besrour 211


4. CART

Mesure du désordre : GINI

Pour un nœud 𝑡 donné : 𝐺𝐼𝑁𝐼 𝑡 = 1 − σ𝑗 𝑝 𝑗 𝑡 2

Avec 𝑝 𝑗 𝑡 la fréquence relative de la classe 𝑗 au nœud 𝑡.

Mesure de l’homogénéité : Entropie

Pour un nœud 𝑡 donné : 𝐸𝑛𝑡𝑟𝑝𝑜𝑦 𝑡 = − σ𝑗 𝑝 𝑗 𝑡 𝑙𝑜𝑔2 𝑝 𝑗 𝑡

Minimum =0 quand tous les enregistrements appartiennent à une classe.

Rym Besrour 212


4. CART

Classification de nouvelles données :


▪ Parcours de l’arbre pour arriver dans une feuille.
▪ Pour la classification : on considère la classe dominante (majoritaire) dans la feuille.
▪ Pour la régression : on considère les valeurs dominantes dans la feuilles.

Avantages CART :
▪ Forme non paramétrique.
▪ Pas de sélection de variables nécessaire.
▪ Invariable aux transformations monotones des attributs.
▪ Bonne gestion des ouliers.

Rym Besrour 213


4. CART

Hyper paramètres de régularisation


▪ Les arbres de décision font très peu d’hypothèses sur les données d’entrainement.

En l’absence de contraintes, la structure de l’arbre s’adaptera aux données d’entrainement en les ajustant
le mieux possible, voire en les sur-ajustant.

▪ Pour éviter de sur-ajuster les données d’entrainement, on doit restreindre la liberté de l’arbre de
décision durant l’entrainement.

▪ Dans Scikit-Learn, c’est l’hyperparamètre max_depth qui permet de contrôler cette profondeur. La
valeur par défaut est None, qui signifie qu’il n’y a pas de limite.

Rym Besrour 214


4. CART

La classe DecisionTreeClassifier possède quelques autres paramètres qui restreignent de manière similaire la
forme de l’arbre de décision :

• Min_samples_split : nombre minimum d’observations que doit comporter un nœud avant qu’il puisse
être divisé.

• Min_samples_leaf : nombre minimum d’observations qu’un nœud terminal doit avoir.

• Min_weight_fraction_leaf : identique à min_samles_leaf mais exprimé sous forme d’une fraction du


nombre total d’observations pondérées.

• Max_leaf_nodes : nombre maximum de nœuds terminaux.

• Max_features : nombre maximum de caractéristiques évaluées à chaque nœud en vue de sa division.

Rym Besrour 215


5. Exemple d’application
Données : ensemble de clients d’une banque
On veut construire un modèle Arbre de Décision permettant de prédire si un client est intéressé d’ouvrir un
compte bancaire en ligne ou non.
On suppose qu’on arrête la subdivision uniquement lorsque les nœuds sont purs (impureté Gini)

Rym Besrour 216


Correction détaillée

On remarque sur les 8 clients, 3 correspondent à la classe « Oui » et 5 à la classe « Non ».


Le Gini de l’ensemble S (à la racine de l’arbre) est donc égale à :
2 2
5 3
𝐺 𝑆 =1− − = 0.47
8 8
Pour connaitre quel attribut on doit choisir comme test au niveau de la racine de l’arbre, il faut calculer le
Gini sur chacun des attributs : « Montant », « Age », « Résidence » et « Etude ».

Calcul du Gini sur l’attribut « Montant » :


Gini(Montant)=proba(faible)*Gini(S,faible)+proba(moyen)*Gini(S, moyen)+proba(élevé)*Gini(S, élevé)
2 2 2 2 2
3 2 1 3 2 1 2 2
𝐺𝑖𝑛𝑖 𝑀 = ∗ 1 − − + ∗ 1− − + ∗ 1− = 0.336
8 3 3 8 3 3 8 2

Rym Besrour 217


Calcul du Gini sur l’attribut « Age » :
Gini(Age)=proba(jeune)*Gini(S,jeune)+proba(moyen)*Gini(S, moyen)+proba(agé)*Gini(S, agé)
1 1 2 4 2 2 2 2 3 3 2
𝐺𝑖𝑛𝑖 𝐴 = ∗ 1 − + ∗ 1− − + ∗ 1− =0.25
8 1 8 4 4 8 3

Calcul du Gini sur l’attribut « Résidence » :


Gini(Résidence)=proba(bourg)*Gini(S,bourg)+proba(village)*Gini(S, village)+proba(ville)*Gini(S, ville)
2 2 2 2 2 2
3 2 1 2 1 1 3 2 1
𝐺𝑖𝑛𝑖 𝑅 = ∗ 1 − − + ∗ 1− − + ∗ 1− − = 0.461
8 3 3 8 2 2 8 3 3

Calcul du Gini sur l’attribut « Etude » :


Gini(Etude)=proba(oui)*Gini(S,oui)+proba(non)*Gini(S, non)
2 2 2
5 3 2 3 3
𝐺𝑖𝑛𝑖 𝐸 = ∗ 1 − − + ∗ 1− = 0.3
8 5 5 8 3
Rym Besrour 218
Variable test Gain d’information
Montant (M) 0.47-0.336 = 0.134
Age (A) 0.22
Résidence ® 0.010
Etudes 0.17

On constate que le plus grand gain est obtenu sur l'attribut "Age". C'est donc cet attribut qui est choisi
comme test à la racine de l'arbre. Nous obtenons l'arbre partiel suivant :

Rym Besrour 219


L’étape suivante :
– Ignorer les valeurs (les supprimer du tableau de valeurs) pour laquelle Age = jeune et Age = âgé (pour les
lignes : 3, 5, 6, 7)
– Ne pas prendre en considération la variable Age A (retirer la colonne Age).
Puis, continuer la construction des autres niveaux selon les variables restantes M, R et E.

Construction du second niveau :


On remarque sur les 4 clients restant, 2 correspondent à la classe « Oui » et 2 à la classe « Non ».
Le Gini de l’ensemble S (à la racine de l’arbre) est donc égale à :
2 2
2 2
G S =1− − = 0.5
4 4

Calcul du Gini sur l’attribut « Montant » :


2 2 2 2
2 1 1 1 1 1 1
𝐺𝑖𝑛𝑖 𝑀 = ∗ 1 − − + ∗ 1− + ∗ 1− = 0.25
4 2 2 4 1 4 1
Rym Besrour 220
Calcul du Gini sur l’attribut « Résidence » :
2 2 2 2
2 1 1 2 1 1
𝐺𝑖𝑛𝑖 𝑅 = ∗ 1 − − + ∗ 1− − = 0.5
4 2 2 4 2 2

Calcul du Gini sur l’attribut « Etude » :


2 2
2 2 2 2
𝐺𝑖𝑛𝑖 𝐸 = ∗ 1 − + ∗ 1− =0
4 2 4 2

Rym Besrour 221


6. Extensions

Il existe plusieurs extensions développées principalement pour résoudre le problème de la variance


élevée des estimateurs fournis par les arbre de décision.

Dans le chapitre suivant on présentera :

• Bagging decision trees : construction de plusieurs arbres par re-échantillonnage avec remise ;
prise de décision par vote consensuel.

• Forêts d’arbres décisionnels (ou forêts aléatoires) : apprentissage sur de multiples arbres de
décision entraînés sur des sous-ensembles de données légèrement différents.

Rym Besrour 222


Chapitre 8
Apprentissage d’ensemble
Forêts aléatoires

1. Objectifs
2. Estimateurs de variance élevée
3. Classificateur par vote
4. Bagging
5. Forêts aléatoires
6. Boosting
1. Objectifs

Présentation de plusieurs stratégies pour construire


(ou assembler) des classifieurs performants à partir de classifieurs de base plus modestes.

Méthodes d’agrégations :
1. Bagging
2. Forets Aléatoires
3. Boosting

Rym Besrour 224


2. Estimateurs de variance élevée

Avantages des arbres de décision

Les arbres de décision ont un nombre de propriétés qui font d’eux un outil précieux, surtout quand il s’agit
de faire l’analyse rapide d’un jeu de données ou d’élaborer un prototype de classifieur :
• Modèle white box : le résultat est facile à conceptualiser, à visualiser et à interpréter.
• Ils nécessitent peu de préparation de données (e.g. normalisation, etc.).
• Le coût d’utilisation des arbres est logarithmique (classification d’une nouvelle donnée très rapide).
• Ils sont capables d’utiliser des données catégorielles et continues.
• Ils sont capables de gérer des problèmes multi-classes.
• Ils ont un bon comportement par rapport aux valeurs extrêmes (outliers).
• Ils gèrent bien les données manquantes.

Rym Besrour 225


2. Estimateurs de variance élevée

Défauts des arbres de décision

• Des arbres générés non équilibrés ➔ Il est donc recommandé d’équilibrer la base de données avant la
construction, pour éviter qu’une classe domine (en termes de nombre d’exemples d’apprentissage).

• Sur-apprentissage : parfois les arbres générés sont trop complexes et généralisent mal (solution : élagage,
le contrôle de la profondeur de l’arbre et de la taille des feuilles).

• Ils sont instables : des changements légers dans les données produisent des arbres très différents. Les
changements des nœuds proches de la racine affectent beaucoup l’arbre résultant. On dit que les arbres
produisent des estimateurs de variance élevée.

Rym Besrour 226


Comment résoudre le 3ème problème ?

Approches de type « Bagging » et « Forêts aléatoires »

Réduction de variance : utiliser la moyenne de plusieurs estimateurs, calculés sur


des données légèrement différentes ➔ utiliser le hasard pour améliorer les
performances des algorithmes de base.

Rym Besrour 227


3. Classificateurs par votes

Imaginons que vous posiez une question complexe à des milliers de personnes choisies au hasard, et que vous
combiniez leurs réponses
➔ souvent la synthèse de ces réponses est meilleurs !!!

« sagesse des foules » ou « intelligence collective »

Un groupe de prédicteurs constitue un ensemble : « apprentissage d’ensemble »


Un algorithme d’apprentissage d’ensemble s’appelle une méthode d’ensemble ou méthode ensembliste.

Supposons qu’on a entrainé quelques classificateurs, chacun d’entre eux atteignant une exactitude de 80%
environ : il peut s’agir de classificateurs de type régression logistique, SVM, foret aléatoire, k plus proches
voisins et …

Rym Besrour 228


3. Classificateurs par votes

Un moyen très simple de créer un classificateur encore meilleur consiste à agréger les prédictions de chacun
des classificateurs et de prédire la classe qui obtient le plus grand nombre de votes : classificateur à vote
majoritaire.

classificateur à vote rigide (Hard Voting)


➔ Ce classificateur par vote majoritaire obtient souvent une
exactitude plus élevée que le meilleur classificateur de l’ensemble.

Même si chaque classificateur est un mauvais élève « weak learner », càd qu’il fait à peine mieux que de
répondre au hasard, l’ensemble peut néanmoins être un bon élève « strong learner » et obtenir une exactitude
élevée, à condition qu’il y ait un nombre suffisant de mauvais élèves et qu’ils soient suffisamment différents.

Comment est-ce possible ??


Rym Besrour 229
3. Classificateurs par votes

Supposons qu’on a un ensemble de 1000 classificateurs dont chacun n’est correct qu’environ 51% du temps.
Si on prédit la classe ayant obtenu la majorité des votes, on peut espérer une exactitude allant jusqu’à 75% !!
À condition que :
• les classificateurs sont parfaitement indépendants
• leurs erreurs ne sont pas corrélés ➔ c’est pas le cas puisqu’ils sont entrainés sur les mêmes données

Entrainement de différents classificateurs


Rym Besrour 230
3. Classificateurs par votes

Si tous les classificateurs sont capables d’estimer les probabilités des classes, alors on peut prédire la classe
ayant la plus grande moyenne des probabilités sur l’ensembles des classificateurs : Soft Voting ➔ on obtient
souvent de meilleurs résultats que le vote rigide.

Rym Besrour 231


Soft Voting Hard Voting

Rym Besrour 232


Rym Besrour 233
Rym Besrour 234
4. Bagging

Une autre solution pour obtenir un ensemble de classificateurs diversifiés, consiste à utiliser le même
algorithme d’entrainement pour chaque prédicteur, mais à l’entrainer sur des sous-ensembles différents
extraits aléatoirement du jeu d’entrainement.
• Tirage avec remise : Bagging (Bootstrapping)
• Tirage sans remise : Pasting

Une fois que tous les prédicteurs ont été entrainés, l’ensemble peut effectuer une prédiction pour une
nouvelle observation en agrégeant simplement les prédictions de tous les prédicteurs.

En général, l’ensemble a un biais similaire mais une variance inférieure à celle d’un unique prédicteur entrainé
sur le jeu d’entrainement d’origine.

Rym Besrour 235


Rym Besrour 236
4. Bagging

Bootstrap Agregating
Soit la base d’apprentissage décrite comme suit :
• Les données sont décrites par les attributs : 𝐴1 , … , 𝐴𝑝 , classe : 𝐶
• Données d’apprentissage : 𝑥𝑖 , 𝑦𝑖 , 𝑥𝑖 ∈ ℝ𝑝 , 𝑦𝑖 ∈ ℝ, 𝑖 = 1, … , 𝑁
• 𝑦𝑖 peuvent être des valeurs continues ou discrètes (étiquettes des classes)
(𝑖) (𝑖)
• 𝑥𝑖 = 𝑎1 , … , 𝑎𝑝
𝑛
On considère 𝐺(𝑥) un modèle de prédiction appris sur un échantillon de données 𝑧 = 𝑥𝑖 , 𝑦𝑖 𝑖=1

Algorithme Bagging
• On tire au hasard dans la base d’apprentissage, 𝐵 échantillons avec remise 𝑧𝑖 , 𝑖 = 1, … , 𝐵 (chaque
échantillon ayant 𝑛 points) : appelé échantillons bootstrap
• Pour chaque échantillon 𝑖 on calcule le modèle 𝐺𝑖 (𝑥) ;
1
▪ Régression : agrégation par la moyenne 𝐺 𝑥 = 𝐵 σ𝐵𝑖=1 𝐺𝑖 (𝑥) ;
▪ Classement : agrégation par vote 𝐺 𝑥 = 𝑉𝑜𝑡𝑒𝑚𝑎𝑗𝑜𝑟𝑖𝑡𝑎𝑖𝑟𝑒 𝐺1 𝑥 , … , 𝐺𝐵 (𝑥)
Rym Besrour 237
4. Bagging

Evaluation hors sélection

• Par défaut, un BaggingClassifier tire avec remise 𝑚 observations d’entrainement (bootstrap=True), en


moyenne seulement 63% des observations d’entrainement sont tirées pour chaque prédicteur.
Les 37% d’observations d’entrainement restantes qui n’ont pas été tirées sont appelées observations hors
sélection (oob : out-of-bag instances).

• Étant donné qu’un prédicteur ne voit jamais ces observations oob durant l’entrainement, il peut être évaluer
sur celles-ci sans qu’il soit besoin d’un jeu de validation séparé ou d’une validation croisée.

• Dans Scikit-Learn, on peut spécifier oob_score=True lors de la création d’un BaggingClassifier pour avoir une
évaluation oob automatiquement après l’entrainement.

Rym Besrour 238


Rym Besrour 239
4. Bagging

Les défauts du bagging


Les estimateurs 𝐺𝑖 ne sont pas en réalités indépendants. En effet, 𝐺𝑖 sont calculés sur des échantillons qui se
recouvrent (tirage avec remise) et donc ils sont corrélés.

Si X1 , … , XB sont issus de variables aléatoires identiquement distribués (mais pas indépendantes) de moyenne
𝜇, variance 𝜎 2 et corrélation 𝜌 = 𝐶𝑜𝑟𝑟 𝑋𝑖, 𝑋𝑗 , ∀𝑖 ≠ 𝑗 ,
1 1−𝜌 2
alors 𝑌 = 𝐵 𝑋1 + ⋯ + 𝑋𝐵 est de variance 𝑉𝑎𝑟 𝑌 = 𝜌𝜎 2 + 𝜎
𝐵
Quand 𝐵 est grand, le 2ème terme est négligeable mais le 1er non.

L’amélioration proposée par les forêts aléatoires est de baisser


la corrélation entre les 𝐺𝑖 à l’aide d’une étape supplémentaire de
randomisation.
Rym Besrour 240
5. Forêts aléatoires

Les forêts aléatoires (Random Forests » sont une amélioration du bagging pour les arbres de décision CART dans
le but de rendre les arbres utilisés plus indépendants (moins corrélés).
Caractéristiques :
• Elles donnent de bons résultats surtout en
grande dimension.
• Elles sont très simples à mettre en œuvre.
• Elles ont peu de paramètres.

Une forêt aléatoire est un ensemble d’arbres de décision,


entraîné en général en utilisant une méthode Bagging, en
choisissant en général max_samples égale à la taille du jeu
d’entraînement.

Un RandomForestClassifier possède presque tous les


hyperparamètres d’un DecisionTreeClassifier (pour contrôler la
création des arbres) et ceux d’un BaggingClassifier (pour
contrôler l’ensemble lui-même).
Rym Besrour 241
5. Forêts aléatoires

• Au lieu de rechercher la meilleure variable pour partager un nœud, l’algorithme de forêt aléatoire recherche
la meilleure variable au sein d’un sous-ensemble de variables choisies au hasard.
Il en résulte une plus grande diversité des arbres, avec le compromis d’un biais plus élevé en échange d’une
variance plus faible, ce qui aboutit en général à un meilleur modèle global.
Algorithme
• On tire au hasard dans la base d’apprentissage 𝐵 échantillons avec remise 𝑧𝑖 = 1, … , 𝐵 (chaque
échantillon ayant 𝑛 points)
• Pour chaque échantillon 𝑖 on construit un arbre CART 𝐺𝑖 (𝑥) selon un algorithme légèrement modifié : à
chaque fois qu’un nœud doit être coupé, on tire au hasard une partie des attributs (𝑞 parmi les 𝑝
attributs) et on choisit le meilleur découpage dans ce sous-ensemble.
1
Régression : agrégation par la moyenne 𝐺 𝑥 = 𝐵 σ𝐵𝑖=1 𝐺𝑖 (𝑥)
Classification : agrégation par vote 𝐺 𝑥 = 𝑉𝑜𝑡𝑒𝑚𝑎𝑗𝑜𝑟𝑖𝑡𝑎𝑖𝑟𝑒 𝐺1 𝑥 , … , 𝐺𝐵 (𝑥)
Les arbres sont moins corrélés car :
▪ Ils ont appris sur un ensemble différent d’attributs.
▪ Ils sont construits sur des échantillons différents.
Rym Besrour 242
5. Forêts aléatoires

• On se limite en général à des arbres pas très profonds.


• Chaque arbre est petit donc moins performant, mais l’agrégation compense pour ce manquement (chaque
attribut se retrouve typiquement dans plusieurs arbres).
• Comme pour le Bagging, on utilise l’erreur OOB pour prévenir le sur-apprentissage (on choisit 𝐵 là où l’erreur
se stabilise et ne descend plus).

Paramètres (valeurs par défaut)


▪ Classification : 𝑞 = √𝑝, taille nœud minimale 1;
𝑝
▪ Régression : 𝑞 = , taille nœud minimale 5.
3

En pratique, les valeurs « idéales » dépendent beaucoup de la base, il faut les trouver par validation croisée.

Rym Besrour 243


5. Forêts aléatoires

Arbres extrêmement aléatoires

Lors de la construction d’un arbre dans une foret aléatoire, le partage de chacun des nœuds ne s’effectue que
sur un sous-ensemble aléatoire des variables.
Il est possible de rendre les arbres plus aléatoires en utilisant également un seuil aléatoire pour chaque
variable plutôt que de rechercher les meilleurs seuils possibles
Arbres extrêmement randomisés
(Extremely Randomized Trees)

Ces extra-trees sont plus rapides à entraîner que les forêts aléatoires ordinaires, car la recherche à chaque
nœud du meilleur seuil possible pour chaque variable est une des tâches les plus chronophages lors de la
construction d’un arbre.

Rym Besrour 244


5. Forêts aléatoires

Scikit-Learn

Classe : ExtraTreesClassifier
Son API est identique à celle de la classe RandomForestClassifier

Classe : ExtraTreesRegressor
Son API est identique à celle de la classe RandomForestRegressor

RandomForestClassifier vs ExtraTreesClassifier ???


➔ il faut essayer tous les deux et les comparer par validation croisée, et régler les
hyperparamètres en effectuant une recherche par quadrillage.

Rym Besrour 245


5. Forêts aléatoires

Feature importance
Une autre grande qualité des forets aléatoires est qu’elles permettent de mesurer l’importance relative des
variables. Une variable importante a tendance, en moyenne, à réduire davantage l’impureté Gini qu’une
variable moins importante.

Rym Besrour 246


6. Boosting

L’idée générale est d’entraîner des prédicteurs l’un après


l’autre chacun s’efforçant de corriger son prédécesseur.

Il existe de nombreuses méthodes de boosting mais les plus connues sont :


• AdaBoost
• Gradient boosting

Rym Besrour 247


6. Boosting

Adaboost
Pour un nouveau prédicteur, l’un des moyens de corriger sont prédécesseur consiste à prêter plus
d’attention aux observations d’entrainement que ce prédécesseur a sous-ajustés. De cette façon, les
nouveaux prédicteurs se concentrent de plus en plus sur les cas difficiles.

Pour construire un classificateur AdaBoost, un 1er classificateur


de base est entrainé puis utilisé pour effectuer des prédictions
sur le jeu d’entrainement.
Le poids relatifs des observations d’entrainement mal classés est
alors accru.
Un 2sd classificateur utilisant les poids modifiés est alors
entrainé puis effectue des prédictions sur le jeu d’entrainement,
les poids sont modifiés, et ainsi de suite.

Rym Besrour 248


6. Boosting

Adaboost

• Cette technique d’apprentissage séquentiel présente quelques similitudes avec la descente de


gradient : au lieu d’ajuster les paramètres d’un seul prédicteur pour minimiser une fonction de coût,
AdaBoost ajoute des prédicteurs à l’ensemble en les améliorant progressivement.

• Une fois que tous les prédicteurs entrainés, l’ensemble effectue des prédictions de manière similaire
au bagging ou au pasting, à ceci près que les prédicteurs sont des poids différents compte tenu de
leur exactitude globale sur le jeu d’entrainement pondéré.

• L’inconvénient de cette technique d’apprentissage séquentiel est de ne pas être parallélisable car
chaque prédicteur ne peut être entrainé qu’après que le prédicteur précédent a été entrainé et
évalué. Par conséquent, elle ne s’adapte pas si facilement aux données de grande taille que le bagging
et le pasting.

Rym Besrour 249


6. Boosting

Adaboost
Scikit-Learn utilise une version multi-classes s’AdaBoost appelée SAMME (Stagewise Additive Modeling
using a Multi-class exponential loss function)
Lorsqu’il n’y a que deux classes, SAMME et AdaBoost sont équivalents.
Si les prédicteurs peuvent estimer les probabilités des classes, Scikit-Learn utilise alors SAMME.R (Réel) qui
s’appuie sur les probabilités des classes plutôt que sur les prédictions et qui donne en général de meilleurs
résultats.
Si Adaboost surajuste le jeu d’entrainement ➔ il faut soit réduire le nombre d’estimateurs soit régler plus
fortement l’estimateur de base.

250
6. Boosting

Gradient Boosting

Le Gradient Boosting travaille par ajout séquentiel de prédicteurs à un ensemble chacun d’eux
corrigeant son prédécesseur.
Au lieu de modifier légèrement les poids des observations à chaque itération comme le fait AdaBoost,
cette méthode tente d’ajuster un nouveau prédicteur aux erreurs résiduelles du prédicteur précédent.

Pour trouver le nombre d’arbres optimal, on peut utiliser un arrêt précoce ➔ la méthode
staged_predict( ) : elle renvoie un itérateur sur les prédictions faites par l’ensemble à chaque étape
d’entraînement (avec un arbre, puis deux, …)

Rym Besrour 251


Rym Besrour 252
Rym Besrour 253

Vous aimerez peut-être aussi