Partie2: Apprentissage
Automatique (ML)
2022-2023
Introduction
Intelligence: La notion d’intelligence peut être définie de
plusieurs façons.
→ la capacité de prendre la bonne décision.
Naturelle
-S'adapter à de nouvelles situations pour survivre / se
reproduire.
-Schémas comportementaux variés et adaptés
-Évolution + apprentissage individuel
Artificielle
-Nécessite l’acquisition de connaissances
→APPRENTISSAGE
2
Apprentissage Automatique
• En Anglais: Machine Learning:
Faire apprendre des machines
• C’est quoi Learning?
Apprendre des structures précédemment
inconnue, à partir d'exemples
CAPTURER LES VARIATIONS
exemple: vous voulez faire un modèle pour mesurer
la taille des enfants en fonction de leurs âge
capturer les variations de la taille en fonction de
l’âge
4
Quand appliquer l’apprentissage ?
Lorsque :
• l’expertise humaine est absente impossible
• d’expliquer cette expertise
• les solutions sont dynamiques
• les solutions doivent être adaptées à
beaucoup de cas spécifiques
• la taille du problème est trop grand pour que
l’humain puisse le résoudre
5
Les grandes familles
• Apprentissage supervise
Classification , Régression ,Forecasting Complétion
de données, Ranking
• Apprentissage non supervise´
Clustering, Apprentissage de représentation, de
dictionnaire , Analyse de séquences, Représentation
hiérarchique, Détection d’anomalies
• Apprentissage par renforcement
Apprendre a jouer, Apprendre a interagir avec
l’environement
6
Apprentissage supervisé
• L'apprentissage supervisé(supervised
learning en anglais) est une technique
d'apprentissage automatique où l'on cherche
à produire automatiquement des règles à
partir d'une base de données d'apprentissage
contenant des «exemples» (en général des cas
déjà traités et validés)
8
Prédiction
• De manière générale, nous aimerions prédire
une valeur t à partir d’une observation x
t = y (x, w)
-Si y est continue : régression
-Si y est discrète : classification
Apprentissage des paramètres w à partir de
données.
10
Apprentissage non-supervisé
• l'apprentissage non supervisé
(parfois dénommé «clustering» )
est une méthode d'apprentissage
automatique. Ils agit pour un
logiciel de diviser un groupe
hétérogène de données, en sous-
groupes de manière que les
données considérées comme les
plus similaires soient associées au
sein d'un groupe homogène et
qu'au contraire les données
considérées comme différentes
se retrouvent dans d'autres
groupes distincts; l'objectif étant
de permettre une extraction de
connaissance organisée à partir
de ces données. 11
12
13
• Le clustering est une technique pour trouver groupes de
similarité dans les données, appelées clusters . C'est à dire.,
il regroupe les instances de données qui sont similaires à
(proche) les uns les autres dans un cluster et des instances de
données qui sont très différents (éloignés) les uns des autres
en différents clusters
• Le regroupement est souvent appelé un apprentissage non
supervisé tâche comme aucune valeur de classe dénotant un
groupement a priori de les instances de données sont données,
ce qui est le cas dans enseignement supervisé.
• Pour des raisons historiques, le regroupement est souvent
considéré synonyme d'apprentissage non supervisé
En fait, l'extraction de règles d'association est également non
supervisée
14
A quoi sert le clustering ?
• Exemple 1 : regroupe des personnes de tailles
similaires pour former des T-shirts "petits",
"moyens" et "grands".
• Exemple 2 : En marketing, segmenter les
clients selon leurs ressemblances.
• Exemple 3 : Étant donné une collection de
documents texte, nous voulons les organiser
selon leurs similitudes de contenu
15
Apprentissage par renforcement
• Apprentissage continu en fonction du retour
d’expérience
• Données du problème
– Un état d’écrit l’environement courant
– Un ensemble d’actions sont possibles
– Une politique permet de choisir en fonction de l’état
l’action à effectuer
– A l’issue de chaque action, une récompense est observée
• Objectifs
– S’améliorer ! (améliorer la politique de choix de l’action)
– Eviter les situations d’ échecs
– Comprendre la dynamique du problème
16
Apprentissage et généralisation
• Apprendre à classifier des données revient à
apprendre une fonction de décision : → la
frontière entre les classes.
17
• La complexité d’une fonction de décision
dépend de la complexité du regroupement
des étiquettes dans l’espace de
caractéristiques (featurespace)
18
Ajustement et généralisation
Données générées par une fonction
t=sin(2πx)Objectif : supposant la fonction
inconnue, prédire t à partir de x
19
• Fitting d’un polynôme d’ordre M
• Critères des moindre carrées (MSE)
• Solution directe
20
Sélection d’un modèle
Choisir l’ordre M pour le polynôme?
21
• Généralement on sépare les données en deux
parties :
• Base d’apprentissage (Training set),
• Base de test (test set),
22
Types de validation
1. Re-substitution
Si toutes les données sont utilisées pour entraîner le modèle et que le
taux d'erreur est évalué en fonction du résultat par rapport à la valeur
réelle du même ensemble de données d‘apprentissage, cette erreur est
appelée erreur de resubstitution. Cette technique est appelée technique
de validation de resubstitution.
[Link]
Pour éviter l'erreur de resubstitution, les données sont divisées en deux
ensembles de données différents étiquetés comme un ensemble de
données d'apprentissage et de test. Cela peut être une répartition 60/40
ou 70/30 ou 80/20. Cette technique est appelée technique de validation
d'attente. Dans ce cas, il est probable qu'une distribution inégale de
différentes classes de données soit trouvée dans l'ensemble de données
d'apprentissage et de test. Pour résoudre ce problème, l'ensemble de
données d'entraînement et de test est créé avec une répartition égale de
23
différentes classes de données. Ce processus est appelé stratification.
[Link] croisée……la plus utilisée!!
-La séparation des données en deux parties change itérativement.
-La mesure de performance est la moyenne sur toutes les
itérations.
• L'avantage est que des données entières sont utilisées pour
l‘apprentissage et le test. Le taux d'erreur du modèle est la
moyenne des taux d'erreurs de différentes itérations. Cette
technique peut également être appelée une forme de la
méthode de rétention (hold-out) répétée. Le taux d'erreur
pourrait être amélioré en utilisant la technique des tarification
24
[Link]-One-Out Cross-Validation (LOOCV) Dans cette
technique, toutes les données, à l'exception d'une
instance, sont utilisées pour l’apprentissage et une
instance est utilisée pour le test. Ce processus est répété
N fois s'il y a N instances. L'avantage est que des données
entières sont utilisées pour les apprentissage et les tests.
Le taux d'erreur du modèle est la moyenne du taux
d'erreur de chaque itération.
25
[Link] Subsampling
Dans cette technique, plusieurs ensembles de données
sont choisis au hasard dans l'ensemble de données et
combinés pour former un ensemble de données de test.
Les données restantes forment l'ensemble de données
d'apprentissage. Le diagramme suivant représente la
technique de validation du sous-échantillonnage
aléatoire. Le taux d'erreur du modèle est la moyenne du
taux d'erreur de chaque itération.
26
[Link]
Dans cette technique, l'ensemble de données d'apprentissage est
sélectionné au hasard avec remplacement. Les exemples restants qui
n'ont pas été sélectionnés pour l’apprentissage sont utilisés pour les
tests. Contrairement à la validation croisée K-fold, la valeur est
susceptible de changer d'une expérience à l'autre. Le taux d'erreur du
modèle est la moyenne du taux d'erreur de chaque itération.
27
Différents problèmes de ML
28
Apprentissage supervisé
• Pour maîtriser l’apprentissage supervisé, il
faut absolument comprendre et connaitre les
4 notions suivantes :
• Le Dataset
• Le Modèle et ses paramètres
• La Fonction Coût
• L’Algorithme d’apprentissage
29
Notion 1 : Apprendre à partir
d’exemples (Dataset)
• En Machine Learning, on compile ces exemples (
𝒙,𝒚) dans un tableau que l’on appelle Dataset :
• La variable 𝒚 porte le nom de target (la cible).
C’est la valeur que l’on cherche à prédire.
• La variable 𝒙 porte le nom de feature (facteur).
Un facteur influence la valeur de 𝒚, et on a en
général beaucoup de features (𝒙𝟏,𝒙𝟐,…) dans
notre Dataset que l’on regroupe dans une matrice
𝑿.
30
Notion 2 : Développer un modèle à
partir du Dataset
• En Machine Learning, on développe un modèle à partir de
ce Dataset. Il peut s’agir d’un modèle linéaire comme vous
pouvez le voir à gauche, ou bien un modèle non-linéaire
comme vous pouvez le voir à droite. Nous verrons dans ce
livre comment choisir un modèle plutôt qu’un autre.
31
Notion 3 : Les erreurs de notre modèle
- la Fonction Coût
• Un modèle nous retourne des erreurs par rapport à notre
Dataset. On appelle Fonction Coût l’ensemble de ces
erreurs (le plus souvent on prend la moyenne quadratique
des erreurs).
• Avoir un bon modèle, c’est avoir un modèle qui nous donne
de petites erreurs, donc une petite Fonction Coût.
32
Notion 4 : Apprendre, c’est minimiser
la Fonction Coût
• L’objectif central en Supervised Learning, c’est
de trouver les paramètres du modèle qui
minimisent la Fonction Coût. Pour cela, on
utilise un algorithme d’apprentissage, les
exemples les plus courants étant Résolution
avec les moindres carrés ,l’algorithme de
Gradient Descent,
33
Les applications du Supervised
Learning
• Avec le Supervised Learning on peut développer des modèles pour
résoudre 2 types de problèmes :
• Les problèmes de Régression
• Les problèmes de Classification
• Dans les problèmes de régression, on cherche à prédire la valeur
d’une variable continue, c’est-à-dire une variable qui peut prendre
une infinité de valeurs. Par exemple :
– Prédire le prix d’un appartement (𝑦) selon sa surface habitable (𝑥)
• Dans un problème de classification, on cherche à classer un objet
dans différentes classes, c’est-à-dire que l’on cherche à prédire la
valeur d’une variable discrète (qui ne prend qu’un nombre fini de
valeurs). Par exemple :
– Prédire si un email est un spam (𝑐𝑙𝑎𝑠𝑠𝑒 𝑦 = 1) ou non (𝑐𝑙𝑎𝑠𝑠𝑒 𝑦 = 0)
selon le nombre de liens présent dans l’email (𝑥)
34
35
LA RÉGRESSION
36
Définition
• La régression est la tentative
d'expliquer la variation d'une
variable dépendante en
utilisant la variation des
variables indépendantes.
• La régression est donc une
explication de la causalité.
• Si la ou les variables
indépendantes expliquent
suffisamment la variation de
la variable dépendante, le
modèle peut être utilisé pour
la prédiction.
37
Variable Indépendante
• Une variable indépendante est une variable qui est
autonome et qui n'est pas modifiée par les autres variables
que vous essayez de mesurer.
• Exemple:
l'âge de quel qu'un pourrait être une variable indépendante.
D'autres facteurs (tels que ce qu'ils mangent, combien ils vont
à l'école ,combien de télévision ils regardent) ne vont pas
changer l'âge d'une personne. En fait, lorsque vous cherchez
une sorte de relation entre les variables, vous essayez de voirs
il a variable indépendante provoque une sorte de changement
dans les autres variables, ou dans les variables dépendantes.
38
Variable dépendante
• Une variable dépendante est quelque chose qui
dépend d'autres facteurs.
Exemple: un score de test (performance) peut être une
variable dépendante car il peut varier en fonction de
plusieurs facteurs tels que la quantité de sommeil, la
nutrition que vous avez eu la nuit précédant le test ou
même la faim lorsque vous l'avez fait.
• Habituellement, lorsque vous cherchez une relation
entre deux choses, vous essayez de découvrir ce qui
fait que la variable dépendante change.
39
Régression Linéaire
• But: établir un lien entre une variable dépendante Y et
une variable indépendante X pour pouvoir ensuite faire
des prédictions sur Y lorsque X est mesurée.
• Exemple: L’effet de la température de fonctionnement
d’un procédé industriel sur le rendement du produit a
donné les valeurs suivantes pour la température Xi et le
rendement correspondant Yi
40
• Le graphe ci-dessous représente les points (Xi;
Yi) pour ces données et suggère une relation
linéaire entre X et Y .
41
Régression Linéaire Simple
• Une régression a pour objectif d’expliquer une
variable Y par le moyen d’une autre variable X.
La régression linéaire est alors modélisée par
l’équation linéaire suivante qui met en relation
X et Y :
𝒀 = 𝜷𝟎 + 𝜷𝟏 𝑿 + 𝜺
• Ou 𝛽0 et 𝛽1 sont les paramètres du modèle ;
• X est la variable explicative , Y est la variable
expliquée et 𝜀 est l’erreur de l’estimation.
42
Méthode 1: Résolution du système
43
44
Méthode 2:Gradient Descent,
1. Récolter vos données
– Etant donnés n points de données (X1, Y1), (X2,
Y2), … , (Xn, Yn) de R2,
2
45
2. Créer un modèle linéaire
• A partir de ces données, on développe un modèle linéaire
𝒇(𝒙)=𝒂𝒙+𝒃 où 𝒂 et 𝒃 sont les paramètres du modèle.
• Un bon modèle donne de petites erreurs entre ses
prédictions 𝒇(𝒙) et les exemples (𝒚) du Dataset.
• Nous ne connaissons pas les valeurs des paramètres 𝒂 et 𝒃,
ce sera le rôle de la machine de les trouver, de sorte à
tracer un modèle qui s’insère bien dans notre nuage de
point comme ci-dessous :
46
3. Définir La Fonction Coût
• Pour la régression linéaire, on utilise la norme
euclidienne pour mesurer les erreurs entre 𝒇(𝒙)
et (𝒚).
• Concrètement, voici la formule pour exprimer
l’erreur 𝑖 entre le prix 𝒚(𝒊) et la prédiction faites en
utilisant la surface 𝒙(𝒊) :
• Chaque prédiction s’accompagne d’une erreur, on
a donc 𝒎 erreurs.
• On définit la Fonction Coût 𝑱(𝒂,𝒃) comme étant
la moyenne de toutes les erreurs :
47
• Chaque prédiction
s’accompagne d’une
erreur, on a donc 𝒎
erreurs.
• On définit la Fonction
Coût 𝑱(𝒂,𝒃) comme
étant la moyenne de
toutes les erreurs :
• c’est l’erreur
quadratique moyenne
(Mean Squared Error)
48
4. Trouver les paramètres qui minimisent la Fonction Coût
– Minimisent la Fonction Coût, c’est-à-dire les paramètres qui
nous donnent le meilleur modèle.
– Pour trouver le minimum, on utilise un algorithme
d’optimisation qui s’appelle Gradient Descent (la descente de
gradient).
• Cet algorithme vous permet de trouver le minimum de la
Fonction Coût 𝑱(𝒂, 𝒃) en partant de coordonnées 𝒂 et 𝒃
aléatoires :
– 1. Calculer la pente de la Fonction Coût, c’est-à-dire la dérivée
de 𝑱(𝒂, 𝒃).
– 2. Evoluer d’une certaine distance ∝ dans la direction de la
pente la plus forte. Cela a pour résultat de modifier les
paramètres 𝒂 et 𝒃
– 3. Recommencer les étapes 1 et 2 jusqu’à atteindre le minimum
de 𝑱(𝒂, 𝒃).
49
• recherche du paramètre 𝒂 idéal (la même
chose s’applique au paramètre 𝒃)
50
• Pour cela, nous allons choisir 𝒂 et 𝒃 au hasard puis
allons utiliser en boucle la descente de gradient pour
mettre à jour nos paramètres dans la direction de la
Fonction Coût la plus faible.
• A chaque itération de cette boucle, les paramètres 𝒂 et
𝒃 sont mis à jour en soustrayant leur propre valeur à la
valeur de la pente 𝝏 𝑱(𝒂,𝒃) /𝝏… multipliée par la
distance à parcourir ∝. On appelle ∝ la vitesse
d’apprentissage (Learning rate).
51
• Si la vitesse est trop lente, le modèle peut mettre
longtemps à être entraîné, mais si la vitesse est
trop grande, alors la distance parcourue est trop
longue et le modèle peut ne jamais converger. Il
est important de trouver un juste milieu. Le
dessin ci-dessous illustre mes propos.
52
Exemple
53
54
55
56
57
Programmation Python
• Résolution avec les moindres carrés ( voir TP2
Exemple 1
• L’algorithme de Gradient Descent.
– Les étapes pour programmer une Régression
Linéaire.
1. Etape 1 : Importer les librairies
58
2. Créer un Dataset
– Dimensions de x et y
59
– Rendre x une matrice à 2 colonnes
– Initialiser Theta de dimension (2,1)
– Définir sous forme matricielle le modèle, la
Fonction Coût et le gradient. On définit 𝜽 le
vecteur qui contient les paramètres 𝒂 et 𝒃.
– Définir la fonction modèle
60
– définir la fonction cout
– définir la fonction gradient
– On définit la fonction Gradient Descent avec une
boucle for :
• For all itérations
61
62
63
• En Machine Learning, on appelle courbe
d’apprentissage (Learning curves) les courbes
qui montrent l’évolution de la Fonction Coût
au fil des itérations de Gradient Descent. Si
votre modèle apprend, alors sa Fonction Coût
doit diminuer avec le temps, comme ci-
dessous :
64
• On passe à l’entraînement du modèle, puis on
visualise les résultats.
65
Régression non-linéaire
• Les fonctions non linéaires peuvent également
être modélisées par l’analyse en régression.
Différents modèles peuvent êtres utilisés:
– polynomiale, Logarithmique, Exponentiel….. Mais
toute fonction continue peut être utilisée.
66
Régression Polynômiale
• Pour le nuage de point ci-dessous, il
semblerait judicieux de développer un modèle
polynômial de degré 2. 𝒇(𝒙) = 𝒂𝒙𝟐 + 𝒃𝒙 + 𝒄
67
68
69
70
Programmation Python
• Dans l’exemple ci-dessous, j’ai choisi d’ajouter
une variable polynômiale de degré 2 pour
forcer la machine à développer un modèle qui
épousera l’allure parabolique de 𝒚 en fonction
de 𝒙.
71
72
• On entraine le modèle comme avant
73
Chapitre 2: Classification
74
Classification
75
Classification
• Appliquez une fonction de prédiction à une
représentation de l'image pour obtenir la
sortie souhaitée:
• f( ) = pomme
• f( ) = tomate
• f( ) = vache
76
Cadre général
• Ensemble d’apprentissage: étant donné un ensemble
d'exemples étiquetés {(x1,y1), …, (xN,yN)}, estimer la
fonction de prédiction f en minimisant l'erreur de
prédiction sur l'ensemble d'apprentissage
• Ensemble de test: appliquez f à un exemple de test jamais
vu auparavant et affichez la valeur prédite y = f (x)
77
Les étapes du processus de
classification
78
Extraction des Caractéristiques
L'extraction de caractéristiques commence à
partir d'un ensemble initial de données
mesurées et construit des valeurs dérivées
(caractéristiques) destinées à être
informatives et non redondantes, facilitant les
étapes ultérieures d'apprentissage et de
généralisation. L'extraction de caractéristiques
est liée à la réduction de la dimensionnalité.
79
Lorsque les données d'entrée d'un algorithmes
ont trop volumineuses pour être traitées et qu'ils
peuvent êtres redondantes (la répétitivité des
images présentées en pixels).
– Transformation en un ensemble réduit de
fonctionnalités (Features) (également appelées
caractéristiques).
– Détermination d'un sous ensemble des
caractéristiques initiales est appelée sélection de
caractéristiques (Features selection).
– Les caractéristiques sélectionnées doivent contenir les
informations pertinentes des données d'entrée, de
sorte que la tâche souhaitée puisse être effectuée en
utilisant cette représentation réduite au lieu des
données initiales complètes.
80
81
82
Modélisation prédictive de
classification
• En apprentissage automatique ,la classification fait référence à
un problème de modélisation prédictive où une étiquette de
classe est prédite pour un exemple donné de données d'entrée.
• Nécessite un ensemble de données d'apprentissage avec de
nombreux exemples d'entrées et de sorties à partir des quels le
modèle apprendre.
• Un modèle utiliser a l'ensemble de données d'apprentissage et
calculer a la meilleure façon de mapper des exemples de
données d'entrée à des étiquettes de classe spécifiques.
• l'ensemble de données d'apprentissage doit être suffisamment
représentatif du problème et comporter de nombreux exemples
de chaque étiquette de classe.
83
• Les étiquettes de classes ont souvent des valeurs de
chaîne, par ex. «spam», «non-spam» et doivent être
transformées en valeurs numériques avant d'être
fournis à un algorithme pour la modélisation . Ceci est
souvent appelé codage d'étiquette, où un entier
unique est attribué à chaque étiquette de classe,
parex."spam"=0,«non-spam"=1.
• Quatre principaux types de tâches de classification
existent:
[Link] binaire
[Link] multi-classes
[Link] multi-étiquettes
[Link] déséquilibrée
84
Classification Binaire
• La classification binaire fait référence aux tâches de
classification qui ont deux étiquettes de classe.
1-Détection de spam par courrier électronique (spam
ou non).
2-Prédiction de maladie (malade ou non).
3-Diagnostic d’un système industriel (marche ou panne)
Les algorithmes populaires qui peuvent être utilisés pour la
classification binaire:
– Régression logistique
– Les k-voisins les plus proches
– Arbres de décision
– Machine à vecteur de support
– Naïf Bayes
85
Régression Logistique
• Pour les problèmes de classification binaire, un modèle
linéaire 𝑭 = 𝑿. 𝜽, comme je l’ai tracé sur la figure
précédente, ne convient pas. Voyez plutôt le résultat
que l’on obtient avec un tel modèle pour le Dataset
suivant :
86
• On développe alors une nouvelle fonction pour les
problèmes de classification binaire, c’est la fonction
logistique (aussi appelé fonction sigmoïde ou tout
simplement sigma 𝝈). Cette fonction a la particularité
d’être toujours comprise en 0 et 1.
87
• Pour coller la fonction logistique sur un
Dataset (𝑿, 𝒚) on y fait passer le produit
matriciel 𝑿. 𝜽 ce qui nous donne le modèle de
Logistic Regression :
• A partir de cette fonction, il est possible de
définir une frontière de décision.
Typiquement, on définit un seuil à 0.5 comme
ceci :
88
89
Fonction Coût associée à la Régression
Logistique
• Pour la régression linéaire, la Fonction Coût 𝑱(𝜽)=
𝟏/𝟐𝒎 Σ(𝑿.𝜽−𝒀)𝟐 donnait une courbe convexe
(qui présente un unique minima). C’est ce qui fait
que l’algorithme de Gradient Descent fonctionne.
• En revanche, utiliser cette fonction pour le
modèle Logistique ne donnera pas de courbe
convexe (dû à la non-linéarité) et l’algorithme de
Gradient Descent se bloquera au premier minima
rencontré, sans trouver le minimum global.
90
91
• Il faut donc développer une nouvelle Fonction
Coût spécialement pour la régression
logistique. On utilise alors la fonction
logarithme pour transformer la fonction
sigma en fonction convexe en séparant les cas
où 𝑦 = 1 des cas où 𝑦 = 0.
92
• Fonction Coût dans les cas où 𝑦 = 1
Voici la Fonction Coût que l’on utilise dans les cas où 𝑦 = 1 : 𝑱(
𝜽) = − 𝐥𝐨𝐠 (𝝈(𝑿. 𝜽))
Si notre modèle prédit 𝜎(𝑥) = 0 alors que 𝑦 = 1, on doit
pénaliser la machine par une grande erreur (un grand coût).
La fonction logarithme permet de tracer cette courbe avec
une propriété convexe, ce qui poussera le Gradient Descent à
trouver les paramètres 𝜽 pour un coût qui tend vers 0.
93
Fonction Coût dans les cas où 𝑦 = 0
• Cette fois la Fonction Coût devient : 𝑱(𝜽)= − 𝐥𝐨𝐠 (𝟏−𝝈(𝑿
.𝜽))
• Si notre modèle prédit 𝜎(𝑥) = 1 alors que 𝑦 = 0, on doit
pénaliser la machine par une grande erreur (un grand
coût). Cette fois − 𝐥𝐨𝐠 (𝟏−𝟎) donne la même courbe,
inversée sur l’axe vertical.
94
• Fonction Coût complète
Pour écrire la Fonction Coût en une seule
équation, on utilise l’astuce de séparer les cas 𝑦
= 0 𝑒𝑡 𝑦 = 1 avec une annulation :
95
• Gradient Descent pour la Régression
Logistique
• L’algorithme de Gradient Descent s’applique
exactement de la même manière que pour la
régression linéaire. En plus, la dérivée de la
Fonction Coût est la même aussi ! On a :
96
Programmation Python(Voir TP3)
• nous allons générer des données aléatoires, mais cette
fois-ci avec la fonction make_classification.
Commençons par importer nos modules habituels
97
98
99
Classification (exemple de base)
100
Classifieur linéaire
101
K-Plus Proche Voisin (KNN)
• Problème: déterminer les classes des deux
instances (carrés en bleu )
102
K-Plus Proche Voisin (1)
103
104
K-Plus Proche Voisin
105
• Comment déterminer la bonne valeur pour k?
-Expérimentalement;
-Commencez par k = 1 et utilisez un jeu de
validation pour valider le taux d'erreur du
classifieur
-Répéter avec k = k + 2
-Choisissez la valeur de k pour laquelle le taux
d'erreur est minimum
Note: k devrait être un nombre impair pour
éviter les égalités
106
Programmation Python(Voir TP3)
107
Classification multi-classes
• La classification multi-classe fait référence aux tâches de classification qui ont plus
de deux étiquettes de classe.
1-Classification des visages.
2-Classification des espèces végétales.
3-Reconnaissance optique de caractères. …etc.
• Contrairement à la classification binaire, la classification multi-classe n'a pas la
notion de résultats normaux et anormaux. Au lieu de cela, les exemples sont
classés comme appartenant à l'une parmi une gamme de classes connues.
• Le nombre d'étiquettes de classe peut être très important sur certains problèmes.
Par exemple, un modèle peut prédire qu'une photo appartient à un parmi des
milliers ou des dizaines de milliers de visages dans un système de reconnaissance
faciale.
• Les algorithmes populaires qui peuvent être utilisés pour la classification multi-
classes incluent:
1-Les k-voisins les plus proches (kNN)
2-Arbres de décision
3-Naïf Bayes
4-Forêt aléatoire
108
Classification multi-étiquettes
• La classification multi-étiquette fait référence aux
tâches de classification qui ont deux ou plusieurs
étiquettes de classe, où une ou plusieurs
étiquettes de classe peuvent être prédites pour
chaque exemple.
• Prenons l'exemple de la classification des photos,
où une photo donnée peut avoir plusieurs objets
dans la scène et un modèle peut prédire la
présence de plusieurs objets connus sur la photo,
tels que «vélo», «pomme», «personne»,etc.
109
• Il est courant de modéliser les tâches de
classification multi-étiquettes avec un modèle qui
prédit plusieurs sorties, chaque sortie étant
prédite comme une distribution de probabilité de
Bernoulli. Il s'agit essentiellement d'un modèle
qui fait plusieurs prédictions de classification
binaire pour chaque exemple.
• Des versions spécialisées d'algorithmes de
classification standard peuvent être utilisées,
appelées versions multi-étiquettes des
algorithmes, notamment:
1-Arbres de décision multi-étiquettes
2-Forêts aléatoires multi-étiquettes
3-Renforcement des gradients multi-étiquettes
110
Classification déséquilibrée
• La classification déséquilibrée fait référence aux tâches de
classification où le nombre d'exemples dans chaque classe est
inégalement réparti.
• En règle générale, les tâches de classification déséquilibrées sont
des tâches de classification binaires où la majorité des exemples de
l'ensemble de données d'apprentissage appartiennent à la classe
normale et une minorité d'exemples appartiennent à la classe
anormale.
• Les exemples comprennent:
– Détection de fraude
– Détection des valeurs aberrantes (outliers)
– Tests de diagnostic médical 111
• Des techniques spécialisées peuvent être utilisées pour modifier la
composition des échantillons dans l'ensemble de données
d'apprentissage en sous-échantillonnant la classe majoritaire ou en
sur échantillonnant la classe minoritaire. Les exemples
comprennent:
– Sous-échantillonnage aléatoire.
– Sur échantillonnage SMOTE.
• Des algorithmes de modélisation spécialisés peuvent être utilisés
pour accorder plus d'attention à la classe minoritaire lors de
l'ajustement du modèle à l'ensemble de données d'apprentissage,
tels que des algorithmes d'apprentissage automatique sensibles aux
coûts (cost-sensitive):
– Régression logistique sensible aux coûts
– Arbres de décision sensibles aux coûts
– Machines à vecteurs de support sensibles aux coûts 112