0% ont trouvé ce document utile (0 vote)
188 vues127 pages

Cours ML

Le cours de Machine Learning, dirigé par Majdoub Manel, vise à introduire les concepts fondamentaux de l'apprentissage automatique, y compris les types d'apprentissage supervisé, non supervisé et par renforcement. Il couvre l'historique de l'IA, les différences entre Machine Learning, Deep Learning et IA, ainsi que des exemples pratiques et des applications dans divers domaines. Les étudiants apprendront à maîtriser des algorithmes et à comprendre les phases d'apprentissage et de prise de décision.

Transféré par

examenprepa2022
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 PPTX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
188 vues127 pages

Cours ML

Le cours de Machine Learning, dirigé par Majdoub Manel, vise à introduire les concepts fondamentaux de l'apprentissage automatique, y compris les types d'apprentissage supervisé, non supervisé et par renforcement. Il couvre l'historique de l'IA, les différences entre Machine Learning, Deep Learning et IA, ainsi que des exemples pratiques et des applications dans divers domaines. Les étudiants apprendront à maîtriser des algorithmes et à comprendre les phases d'apprentissage et de prise de décision.

Transféré par

examenprepa2022
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 PPTX, PDF, TXT ou lisez en ligne sur Scribd

Machine Learning

Responsable: Majdoub Manel

Filière: 3ème LSI

2022-2023
Objectifs du cours

• Ce cours vise à introduire les concepts fondamentaux de l’apprentissage


automatique et à présenter une vaste gamme d’approches utilisées dans
des systèmes d’apprentissage automatique :
1. Comprendre les notions fondamentales de l’apprentissage
automatique
2. Comprendre la différence entre les différents types d’apprentissage
3. Maîtriser quelque algorithmes

2
Plan du cours

1. Introduction au machine learning


2. Apprentissage supervisé
3. Apprentissage non supervise
4. Apprentissage par renforcement

3
Chapitre1: Introduction au Machine Learning

4
Introduction

• De manière générale, un programme informatique tente de résoudre un


problème pour lequel nous avons la solution. Par exemple : calculer la
moyenne générale des étudiants, classer les étudiants selon leur
moyenne.
• Pour certains problèmes, nous ne connaissons pas de solution exacte et
donc nous ne pouvons pas écrire de programme informatique.
• Par exemple : reconnaitre automatiquement des chiffres écrits a la main a
partir d'une image scannée, déterminer automatiquement un objet dans
une image, …

5
Historique

Evolution des techniques d’apprentissage automatique

6
Historique
• L’évolution de l’IA est marquée par trois phases importantes :

 Entre 1950 et 1980 : des simples réseaux de neurones artificiels sont


proposés pour pallier aux problèmes de classification dans des domaines
spécifiques.

 Entre 1980 et 2010 : des recherches intensives sont établies pour inventer des
nouvelles technologies et les expérimenter dans des domaines plus larges.
Avec l’apparition d’Internet, des progrès importants ont été réalisés et qui se
manifeste par le développement du réseau de neurones récurrent en 1977 par
‘’Sepp Hochreiter ‘’ et ‘’Jürgen Schmidhuber’’.

 De 2010 jusqu’à nos jours : l’apprentissage par renforcement est de plus en


plus développé et utilisé dans plusieurs domaines tels que : la vision par
ordinateur, la robotique, la reconnaissance, les jeux, les réseaux
informatiques.

7
Différences entre Machine Learning, Deep Learning et
Intelligence Artificielle
• Exemple: apprendre à un ordinateur à reconnaître la présence de chat sur des image:
 L’IA exige qu’un programmeur écrive tout le code nécessaire à l’ordinateur pour
reconnaître un chat présent sur une image. Le programmateur crée le modèle
d’apprentissage.

 Le machine learning exige que le programmeur apprend au système à quoi


ressemble un chat en lui montrant différentes images et en corrigeant son analyse
jusqu’à ce que celle-ci soit correcte (ou plus précise).

 Le deep learning divise la tâche de reconnaissance des caractéristiques du chat en


plusieurs couches : une couche apprend à reconnaître les yeux, une autre les oreilles,
une troisième la silhouette générale, etc. Une fois connectées, ces différentes
couches possèdent une certaine capacité de reconnaissance afin de reconnaître
l’animal sur chaque nouvelle image soumise.

Le machine learning et le deep learning rendent l’IA plus efficace et plus accessible

8
Qu’est-ce que l’apprentissage automatique?
• Selon Wikipedia : « L’apprentissage automatique (en anglais machine learning,
littéralement « apprentissage machine ») ou apprentissage statistique est un
champ d’étude de l’intelligence artificielle qui se fonde sur des approches
mathématiques et statistiques pour donner aux ordinateurs la capacité d’ «
apprendre » à partir de données, c’est à-dire d’améliorer leurs performances à
résoudre des tâches sans être explicitement programmés pour chacune. Plus
largement, il concerne la conception, l’analyse, l’optimisation, le développement et
l’implémentation de telles méthodes. »

9
L’apprentissage automatique

Voici trois exemples de problèmes relevant de l’apprentissage automatique.

Exemple 1: Supposons que l’on dispose d’une collection d’articles de journaux. Comment
identifier des groupes d’articles portant sur un même sujet ?

Exemple 2: Supposons que l’on dispose d’un certain nombre d’images représentant des
chiens, et d’autres représentant des chats. Comment classer automatiquement une
nouvelle image dans une des catégories « chien » ou « chat » ?

Exemple 3: Supposons que l’on dispose d’une base de données regroupant les
caractéristiques de logements dans une ville : superficie, quartier, étage, prix, année
de construction, nombre d’occupants, montant des frais de chauffage. Comment
prédire la facture de chauffage à partir des autres caractéristiques pour un logement
qui n’appartiendrait pas à cette base ?

10
Les phases d’une approche d’apprentissage automatique
• L’approche d’apprentissage automatique se compose généralement de deux phases
principales: la phase d’apprentissage et la phase de prise de décision
 La phase d’apprentissage : les méthodes d’apprentissage automatique sont
appliquées pour apprendre le modèle de système à l’aide de l’ensemble de données
d’apprentissage.

 La phase de prise de décision : le système peut obtenir la sortie estimée pour chaque
nouvelle entrée en utilisant le modèle entraîné.

11
Les phases d’une approche d’apprentissage automatique
Les phases d’une approche d’apprentissage automatique

12
Les types de Machine Learning

13
L’apprentissage supervisé
• L’apprentissage supervisé consiste à développer une fonction qui prévoit l’événement
en se basant sur les connaissances acquises à partir des données précédentes ou
actuelles déjà étiquetées.
• L’objectif est alors de doter le système par la capacité d’apprendre à prédire pour
toute valeur entrée une valeur de sortie.
• Deux grandes tâches :
 Classification: On cherche à prédire une cible t qui est un indice de classe : t {1,
…, C}
 Régression: On cherche à prédire une cible t qui est un nombre réel : t  R
• Les algorithmes d’apprentissage supervisé les plus utilisés sont : la régression linéaire,
la régression logistique, la rétro-propagation du gradient, l’algorithme des plus
proches voisins (KNN), l’arbre de décision, etc.

14
L’apprentissage supervisé
• Exemple:

 Supposons que nous ayons des livres de différentes matières, l'apprentissage


supervisé peut identifier les livres pour les classer selon le type de matière.

 Pour l'identification correcte des livres, nous entraînons la machine en


fournissant les données comme la couleur, le nom, la taille, la langue de
chaque livre.

 Après une formation appropriée, nous commençons à tester un nouvel


ensemble de livres, et le système formé identifie tout à l'aide d'algorithmes.

16
L’apprentissage supervisé
• Avantages
 L'apprentissage supervisé offre un moyen de collecter les données des expériences
précédentes et de prédire les résultats.
 Il est bénéfique pour optimiser les performances à travers l'expérience.
 Les utilisateurs peuvent utiliser l'apprentissage supervisé pour résoudre différents
types de problèmes de calcul dans le monde réel.

• Inconvénients
 La formation nécessite un temps de calcul élevé.
 Il faut beaucoup de données
 Les données doivent être annotées.

17
L’apprentissage supervisé
• Applications:

 Bioinformatique : L'apprentissage supervisé est populaire dans ce domaine car il est utilisé dans
notre vie de tous les jours. Les informations biologiques telles que les empreintes digitales, la
détection des visages, la texture de l'iris, etc. sont stockées sous forme de données dans nos
smartphones et autres appareils pour sécuriser les données et renforcer la sécurité du système.

 Reconnaissance de la parole: L'algorithme est formé pour apprendre la voix et la reconnaître


plus tard. De nombreux assistants vocaux populaires tels que Siri, Alexa et Google Assistant
utilisent l'apprentissage supervisé.

 Détection de spam: Cette application aide à prévenir la cybercriminalité; les applications sont
formées pour détecter les messages et e-mails irréels et informatisés et alerter l'utilisateur s'il
s'agit de spam ou de faux.

 Reconnaissance d'objets pour la vision: L'algorithme est entraîné avec un énorme ensemble de
données d'objets identiques ou similaires pour identifier l'objet plus tard au fur et à mesure
qu'il se présente.

18
L’apprentissage non supervisé
• L’apprentissage non supervisé est utilisé lorsque les données d’apprentissage sont
non classées et non étiquetées.

• Cette technique cherche à déduire une fonction pour expliquer les modèles cachés à
partir des données non étiquetés en regroupant les données similaires en des classes.

• Parmi les algorithmes les plus reconnus utilisant l’apprentissage non supervisé, on cite :
K-means, algorithme de kohonen SOM, etc.

19
L’apprentissage non supervisé
• Applications
 Séjours d'accueil : L'application utilise l'apprentissage non supervisé pour
connecter les utilisateurs du monde entier; l'utilisateur interroge ses besoins.
L'application apprend ces modèles et recommande des séjours et des
expériences qui relèvent du même groupe ou cluster.
 Shopping en ligne: Les sites Web en ligne comme Amazon utilisent également
l'apprentissage non supervisé pour connaître l'achat du client et recommander
ensemble les produits les plus fréquemment achetés, un exemple d'exploration
de règles d'association.
 Détection de fraude par carte de crédit : Les algorithmes d'apprentissage non
supervisé apprennent les différents modèles de l'utilisateur et son utilisation de
la carte de crédit. Si la carte est utilisée dans des parties qui ne correspondent
pas au comportement, une alarme est générée, ce qui pourrait être marqué
comme une fraude, et des appels sont passés pour confirmer s'ils utilisent la
carte.

20
L’apprentissage semi-supervisé
• L’apprentissage semi-supervisé se situe entre l’apprentissage supervisé et
l’apprentissage non-supervisé. Le processus de l’apprentissage utilise généralement
une petite quantité de données étiquetées avec une grande quantité de données non
étiquetées.

• L’algorithme espérance-maximisation (EM : Expectation Maximization) est un exemple


des algorithmes d’apprentissage semi-supervisé

21
L’apprentissage par renforcement
• L’apprentissage par renforcement est une technique qui permet à un agent de
modifier son comportement selon les interactions avec son environnement .

• Au début, l’agent ne possède aucune connaissance sur son environnement.

• Il exécute des actions de façon aléatoire afin d’explorer l’environnement. Une


récompense est reçue par l’agent après l’exécution de chaque action.

• Ces récompenses, qui peuvent être positives ou négatives, indiquent à quel point
l’action exécutée est bonne ou mauvaise.

22
L’apprentissage par renforcement
• L’objectif de l’agent est de maximiser ses récompenses en exploitant le système.

• Avec la répétition, l’agent tente d’apprendre à favoriser les actions qui mènent à
des récompenses positives et à éviter les actions qui provoquent des récompenses
négatives.

• Après plusieurs répétitions, l’agent acquiert une stratégie optimale de prise de


décision et adapte ses actions et son comportement à l’environnement.

• Parmi les algorithmes les plus reconnus utilisant l’apprentissage par renforcement,
on cite: Q-Learning, DQN

23
L’apprentissage par renforcement
• Applications:
 Jeux
 Robot navigant dans un labyrinthe

24
Apprentissage Supervisé : K-plus proches voisins (KNN)

25
Chapitre I: Apprentissage Supervisé
K-plus proches voisins (KNN)
Les Réseaux de Neurones (ANN)

26
K-plus proches voisins (KNN)
• L’algorithme des k plus proches voisins s'écrit en abrégé k-NN ou KNN , de l'anglais
k-nearest neighbors, appartient à la famille des algorithmes d’apprentissage
automatique (machine learning).

• On dispose d'une collection de données annotées, et on veut savoir la valeur ou à


quelle catégorie appartient un nouvel échantillon.

• Le k dans la formule "k plus proches voisins" signifie qu’à la place de se contenter
du seul voisin le plus proche de l'observation inconnue, nous pouvons prendre en
compte un nombre fixé k de voisins du jeu d'apprentissage.

• Enfin, nous pouvons faire une prédiction en nous basant sur la classe majoritaire
dans ce voisinage.

27
K-plus proches voisins (KNN)
• Données :
 Attributs : un ensemble X = {x1, x2, · · · xn}
où chaque xi est le domaine d’un attribut ai numérique.
Exemple : a1 =age , x1 = [0; 122], a2 =fumeur, x2 = {0, 1} (non/oui)
 Classes (ou étiquettes) : un ensemble fini de classes Y .
Exemple : Y = {patient à risque, patient sans risque}

Attributs: X=X1×X2
avec X1=Age et X2=Fumeur

Classes: Y
Avec valeurs possibles: {risque, pas de risque}

28
K-plus proches voisins (KNN)
• Objectif : pouvoir prédire la classe ou la valeur d’un nouvel exemple en utilisant les
exemples déjà connus
 Principe classification:
[Link] la classe des k exemples les plus proches
[Link] la classe majoritaire dans le voisinage du nouvel exemple
 Principe régression:
[Link] les valeurs des k exemples les plus proches
[Link] la moyenne des voisins au nouvel exemple

29
K-plus proches voisins (KNN)
• Pseudo code: pour une nouvelle observation inconnue en entrée dont on veut
prédire sa variable de sortie, il faut faire :

 Etape 1: Calculer toutes les distances entre cette observation en entrée et les
autres observations du jeu de données,

 Etape 2: Conserver les k observations les plus « proches » de l’observation à


prédire,

 Etape 3: Prendre les valeurs des observations retenues :


–Si on effectue une régression, l’algorithme calcule la moyenne (ou la médiane)
des valeurs des observations retenues,
–Si on effectue une classification, l’algorithme assigne le label de la classe
majoritaire à la donnée qui était inconnue.

 Etape 4: Retourner la valeur calculée dans l’étape 3 comme étant la valeur qui a
été prédite par l’algorithme pour l’observation en entrée qui était inconnue.
30
K-plus proches voisins (KNN)
• Mesure de similarité : pour mesurer la proximité entre les observations, on doit
imposer une fonction de similarité à l’algorithme.

• Cette fonction qui calcule la distance entre deux observations estime l’affinité entre
les observations comme ceci : « Plus deux points sont proches l’un de l’autre, plus ils
sont similaires.
• Il existe de nombreuses fonctions de similarité dans la littérature:
 Distance euclidienne: distance en ligne droite qui sépare deux points dans
l’espace.
 Distance de Manhattan: correspond à un déplacement à un angle droit sur un
damier.

31
K-plus proches voisins (KNN)
• Il faut savoir qu’on choisit généralement la fonction de distance en fonction des
types de données qu’on manipule.

 Distance euclidienne : un bon choix pour les données quantitatives (exemple :


la taille, le poids, le salaire, le chiffre d’affaire, etc…)

 Distance de Manhattan : intéressante pour des données qui ne sont pas du


même type (c’est-à-dire des données qui n’ont pas été mise sur la même
échelle)

32
K-plus proches voisins (KNN)
• Choisir la bonne k: pour sélectionner la valeur de k qui convient à nos données,
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.

• Voici quelques points à garder en tête:


 Lorsque nous diminuons la valeur de k à 1, nos prédictions deviennent moins
stables.
 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. En contre partie, nous commençons à être sujet à nombre croissant
d’erreurs.
 Dans les cas où nous votons à la majorité parmi les étiquettes, nous choisissons
généralement un nombre impair pour k (pour avoir un départage en cas
d’égalité).

33
K-plus proches voisins (KNN)
• Avantages:
 Facile à comprendre
 Apprentissage rapide

• Inconvénients:
 Pas efficace pour des jeux de données larges.

34
K-plus proches voisins (KNN)
Exercices
• Exercice 1: Soient les points de coordonnées suivantes:
A(1,6),B(2,6),C(3,1),D(4,2),E(6,0),F(7,5),G(7,3),H(10,3).
En utilisant la distance euclidienne, quels sont les deux plus proches voisins du point
P(5,5) ?

35
K-plus proches voisins (KNN)
Solution:

Dis(A,P)= sqrt((5-1)^2+(5-6)^2)= sqrt(16+1)=4,12


Dis(B,P)= sqrt(9+1)=3,16
Dis(C,P)=sqrt(4+16)=4,47
Dis(D,P)=sqrt(1+9)=3,16
Dis(E,P)=sqrt(1+25)=5,09
Dis(F,P)=sqrt(4)=2
Dis(G,P)= sqrt(4+4)=2,82
Dis(H,P)= sqrt(25+4)=5,38
F et G sont les points les plus proches

36
K-plus proches voisins (KNN)
Exercices
• Exercice 2: Supposons que l’on a un problème de classification qui consiste à
déterminer la classe d’appartenance de nouvelles instances Xi. 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
X6, dont les valeurs pour les attributs numériques A1 à A5 sont <3,12,4,7,8, à l’aide
de l’algorithme des k-voisins les plus proches (KNN) avec K=1puis K=3. Montrez tous
les calculs.

x6 3 12 4 7 8

37
K-plus proches voisins (KNN)
Exercices
• Exercice 3: On cherche à prédire la couleur d’un fruit en fonction de sa largeur (LL)
et de sa hauteur (HH).
On dispose des données d’apprentissage suivantes :

 Placez ces données dans un repère (LL en abscisse, HH en ordonnée).


 Indiquez pour chaque point sa couleur. 38
K-plus proches voisins (KNN)

• L’objectif ici est d’étudier l’influence des voisins sur la propriété de couleur d’un
fruit.
• Soit UU le nouveau fruit de largeur L=1, et de hauteur H=4.
 Quelle est sa couleur si l’on considère 1 voisin ?
 Quelle est sa couleur si l’on considère 3 voisins ?

39
K-plus proches voisins (KNN)

• Exercice 4: utiliser les données du tableau ci-dessous pour estimer le poids d’une
personne en fonction de sa taille et de son âge avec K=3

40
K-plus proches voisins (KNN)

• Solution

• La moyenne de ces points de données est la prédiction finale pour le nouveau point.
Ici, nous avons le poids de ID11=(77+72+60)/3 = 69.66 kg.

41
Apprentissage Supervisé : Les Réseaux de Neurones (ANN)

42
Les réseaux de neurone artificiels (ANN):
Introduction

• Modèles inspirés par le fonctionnement du cerveau humain


• Interconnexion d’unités élémentaires : les neurones
• Utilisés en apprentissage automatique pour la résolution de problèmes complexes
• ex: reconnaissance de caractères manuscrits , guidage de véhicules autonomes ,
reconnaissance de formes ,...

43
Les réseaux de neurone artificiels (ANN):
Modèle biologique:
• Les neurones reçoivent des signaux (impulsions électriques ) par les dendrites et
envoient l’information par les axones.
• Les contacts entre deux neurones ( entre axone et dendrite ) se font par
l’intermédiaire des synapses.
• Les signaux n ’opèrent pas de manière linéaire : effet de seuil.

44
Les réseaux de neurone artificiels (ANN):
équivalences:

45
Les réseaux de neurone artificiels (ANN):
Motivations:
• Trois grandes caractéristiques du cerveau vu comme une « machine »:
– Apprentissage: Adaptation, Plasticité synaptique, Reconversion
– Robustesse: Résistance à l’imprécision des entrées, Résistance à la détérioration
, Distribution des informations
– Parallélisme: Interactions locales , Propriétés globales, Simultanéité du
traitement
• Ces caractéristiques inspirent la construction des réseaux de neurones formels

46
Les réseaux de neurone artificiels (ANN):

• Modèle formel: un processeur élémentaire(automate) composé de:


– Un ensemble d'entrées xi
– Un ensemble de poids wi
– Une fonction d'activation f
– Un seuils
– Une sortie y

47
Les réseaux de neurone artificiels (ANN):

• Modèle formel: Fonctionnement:


– Le neurone reçoit les entrées x1, …, xn.
– Le potentiel d’activation du neurone est défini comme la somme
pondérée des entrées.
– La sortie y est alors calculée en fonction du seuil s.

48
Les réseaux de neurone artificiels (ANN):

• Calcul de la sortie

– Si a > s (seuil)  x = 1
– sinon x = 0, -1 ou autre valeur ≠ 1 selon l'application
• Ou bien
– a = ∑([Link]) –s (la valeur de seuil est introduite ici dans le calcul de la
somme pondérée)
– x = signe(a) ( sia > 0 alors x = +1 sinon x = -1 )

49
Les réseaux de neurone artificiels (ANN):

ANN: fonction d’activation


• La fonction de transfert(d’activation) :
• La valeur est transmise aux neurones avals à l’aide d’une fonction de
transfert
• Plusieurs formes possibles, les plus courantes sont :

• Les valeurs obtenues sont dans les intervalles [-1, +1]

50
Les réseaux de neurone artificiels (ANN):

• Exemple

51
Les réseaux de neurone artificiels (ANN):

ANN: Utilité
• Classification: Si on conçoit les entrées comme les composantes d’un
vecteur d’observation (dans un espace), la réponse parmi : +1 et 0 permet
de dire que le neurone décompose son espace d’observation en deux :
zone d’activité et zone de non activité

52
Les réseaux de neurone artificiels (ANN):

ANN: Apprentissage
• Un neurone formel peut donc séparer des vecteurs en deux classes
• Les classes sont déterminées par les coefficients synaptiques
• Le problème est alors de choisir les coefficients
– Ceci s'effectue en se donnant des exemples: un ensemble de vecteurs dont on connaît
les classes respectives
– Ensuite, par itérations successives, on stabilise les coefficients

53
Les réseaux de neurone artificiels (ANN):

ANN: Apprentissage

• On commence avec des poids initiaux, puis on corrige…

• L'apprentissage est un processus par lequel les paramètres libres (poids)


du réseau sont adaptés à travers un processus de stimulation continu par
l'environnement
• Le type d'apprentissage est déterminé par la manière dans laquelle les
paramètres du réseau changent

54
Les réseaux de neurone artificiels (ANN):

De nombreuses variantes
• réseau de neurones à propagation avant(Perceptron)
– perceptron mono-couche (SLP: single-layer perceptron)
– perceptron multicouches(PMC, MLP: Multi-Layer Perceptron)
– réseau neuronal convolutif (CNN: Convolutional Neural Network)
• réseau de neurones récurrents(RNN: Recurrent Neural Network)
• réseaux de neurones profonds(DNN: Deep Neural Networks) réseaux avec
couches de neurones cachées(plus de 2)

55
Perceptron

• Un neurone possède des entrées


• Chaque entrée possède un poids
• La sortie est une fonction du poids et des entrées Y = f(W1 ∗ X1 + W2 ∗
X2)

56
Perceptron
Apprentissage
– Initialisation aléatoire des poids wi
– Choisir la valeur de 
– Tant que (critère d’arrêt non satisfait)
Pour chaque instance P faire
– Calculer la sortie réelle y=f(w,x)
– Calculer l’erreur
– MAJ des poids

57
Perceptron

Règle d’apprentissage:

• La règle d'apprentissage a la forme suivante

• où
– 0< < 1 est un paramètre qui contrôle le taux d'apprentissage
(learning rate)
– err(p) est l'erreur lorsque le motif d'entrée p est présenté

58
Perceptron

59
Perceptron

• Exemple 1

60
Perceptron

• Suite

61
Perceptron

62
Perceptron

• Résultat
– Le Perceptron réalise une partition de son espace d'entrée en 2 classes (1 et 2) selon la
valeur de sa sortie (+1 ou -1)

– La séparation de ces deux zones est effectuée par un hyperplan – L'équation de la droite
séparatrice est :

63
Perceptron

• Exemple 2: AND

64
Perceptron Multicouches (PMC)

Problème du OU exclusif

• Soient les deux classes  et o représentées par les couples d’entrées


suivantes
• On cherche à savoir si elles peuvent être séparées par un neurone simple
(une seule couche de neurones d’entrées)

• Constat: non, car les deux classes ne sont pas séparables


• Pour apprendre le OU Exclusif (XOR), on utilise un Perceptron Multi-Couches
65
Perceptron Multicouches (PMC)
• Le perceptron multicouche est un réseau de neurones organisé en couches successives :
• On utilise le plus souvent des réseaux particuliers organisés en couches.
• L'influx d'information va toujours des couches d'entrées aux couches de sorties.
• Ces réseaux peuvent être appris par descente de gradient.
• Ils sont adaptés aux données de tailles fixes, comme des images.
• Ils portent le nom de perceptron multicouche (PMC), Feed-Forward ou Multi Layer
perceptron (MLP) en anglais.

66
Perceptron Multicouches (PMC)

• Structure

67
Perceptron Multicouches (PMC)
Les caractéristiques :
• Il comporte une seule couche de sortie.
• Il peut comporter d’une à plusieurs couches cachées.
• Chaque neurone est uniquement relié à tous les neurones de la couche suivante.
• La fonction d’activation doit être de préférence strictement croissantes et bornées.
Les fonctions classiquement utilisées sont la fonction linéaire, la tangente
hyperbolique et la fonction sigmoïde standard.

• Pour apprendre le perceptron multicouche utilise un algorithme d’apprentissage


supervisé de type rétro-propagation du gradient
• On présente au réseau des entrées et on lui demande de modifier sa pondération
de telle sorte que l’on retrouve la sortie correspondante

68
Perceptron Multicouches (PMC)

• Comment choisir une telle structure:


– Par expérience
– Par les données:
• Couche d’entrée:
 Prendre un nombre de neurones égal à la taille de la donnée
• Couche cachée:
 Faire varier le nombre de neurones de manière à obtenir une
meilleure précision
• Couche de sortie:
 Le nombre est égal au nombre de classes que l’on cherche à
distinguer

69
Algorithme de rétro-propagation du gradient

L’algorithme de rétro-propagation du gradient consiste :


1. Dans un premier temps à propager vers l’avant les entrées jusqu'à obtenir
une entrée calculée par le réseau.
2. La seconde étape compare la sortie calculée à la sortie réelle connue. On
modifie alors les poids de telle sorte qu’à la prochaine itération, l’erreur
commise entre la sortie calculée et la sortie connue soit minimisée. On
répète ce processus sur tous les exemples jusqu'à temps que l’on obtienne
une erreur de sortie considérée comme négligeable.

70
Algorithme de rétro-propagation du gradient

71
Algorithme de rétro-propagation du gradient

• La condition d’arrêt pouvant être:


 le nombre d’itérations fixé est atteint ou bien
 le réseau répond correctement à tous les échantillons
• Le choix d’un échantillon pouvant être :
 tirage aléatoire d’un échantillon

Calculer l’erreur quadratique E² : 𝐸²=Σ(𝑠𝑖−𝑑𝑖)²


 en séquence ; chacun son tour

Réponse correcte ⟺𝐸²=Σ(𝑠𝑖−𝑑𝑖)²≤𝜉 ;


di : le vecteur de sortie désiré ; si : le vecteur de sortie obtenu ou calculé.
• ξ à choisir.

72
Algorithme de rétro-propagation du gradient

• Supposons que 𝐸2>𝜉 , dans ce cas nous modifions les poids de la couche de sorite et des couches
Apprentissage de la couche de sortie

cachées.
• C’est l’apprentissage de la couche de sortie qui consiste à calculer, à partir des erreurs en sortie,
une modification des poids des neurones de cette couche.

73
Algorithme de rétro-propagation du gradient
Apprentissage de la couche de sortie
• Pour chaque neurone i de la couche de sortie K :

𝛿𝑖,𝑘=𝑠𝑖,𝑘×(1−𝑠𝑖,𝑘)×(𝑑𝑖−𝑠𝑖,𝑘)
– Calculer un facteur de correction :

Cela n’est valide que si la fonction d’activation est Sigmoid :

𝑒𝑡 𝑜ù 𝑁𝑒𝑡=Σ𝑒𝑖×𝑤𝑖−𝜃𝑖
Car : 𝑓′(𝑁𝑒𝑡)=𝑓(𝑁𝑒𝑡)×(1−𝑓(𝑁𝑒𝑡))

est : 𝛿𝑖,𝑘=𝑓′(𝑁𝑒𝑡)×(𝑑𝑖−𝑠𝑖,𝑘)
La relation générale donc du facteur de correction

- Calculer le correctif à apporter au poids de la connexion 𝑤𝑗𝑖 , 𝑘 reliant la sortie j de la couche J


au neurone i de la couche de sortie K, de la façon suivante :

et ensuite recalculer les nouveau poids : 𝑤𝑗𝑖 ,𝑘= 𝑤𝑗𝑖 ,𝑘+ Δ𝑤𝑗𝑖 ,𝑘
74
Algorithme de rétro-propagation du gradient
Apprentissage des couches cachées
• L’étape de correction au niveau de la couche de sortie étant réalisée, on passe au traitement de la

• Pour mettre à jour les poids 𝑤𝑖𝑟, 𝐽 , calcule un facteur correctif :


dernière couche cachée.

• ou f’(Net) est la dérivé de la fonction d’activation.


• Le cas d’une fonction d’activation est Sigmoid, le facteur correctif devient :

• En remontant ainsi le réseau jusqu’à arriver aux entrées on aura mis à jour toutes les connexions.
Ensuite en recalcule la sortie finale du réseau avec les nouveaux poids, puis nous comparons
l’erreur quadratique avec ξ et ainsi de suite jusqu’à arriver au critère d’arrêt qui a été choisi

75
Algorithme de rétro-propagation du gradient
Exemple: Prenons ce réseau

76
Algorithme de rétro-propagation du gradient
Exemple: Avec x= (1,1) la sortie désirée=0

77
Algorithme de rétro-propagation du gradient
La propagation donne :

Neurone j

3 0.2 + 0.1*1 + 0.3*1 = 0.6

4 -0.3 + -0.2*1 + 0.4*1 = -0.1

5 0.4 + 0.48*-0.4 + 0.65*0.5 = 0.53


0.63

78
Algorithme de rétro-propagation du gradient
• La sortie désirée u doit être pour x = (1; 1) égale à 0.
• On souhaite alors que la modification des poids conduise à une sortie inférieure à 0:63..
• Pour le neurone de sortie on a
• Et
• Commençons avec (3,5)

79
Algorithme de rétro-propagation du gradient
• Il faut maintenant calculer les valeurs des modifications des neurones cachés (3) et (4)

80
Algorithme de rétro-propagation du gradient
• De la même manière pour (3)

81
Algorithme de rétro-propagation du gradient
• Mise à jour des poids

82
Apprentissage non supervisé

83
Apprentissage non-supervisé
Introduction
• Apprentissage non-supervisé = Algorithme de clustering
• divise 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

84
Apprentissage non-supervisé
Introduction

• Grandes classes d’algorithmes


– Méthodes non-hiérarchiques : on considère toutes les données
simultanément(exemple: k-means )

– Méthodes hiérarchiques
• ascendantes: on agglomère progressivement les données deux à deux
(exemple: algorithme agglomératif hiérarchique)

• descendantes: on divise à chaque étage les données en deux groupes(exemple:


KD-tree)

85
Apprentissage non supervisé : Non hiérarchique ( K-Means)

86
Algorithmes des K-Means(k-moyennes)

• Méthode non-hiérarchique
• On cherche à organiser l’ensemble de données D= {x1,…, xN }en K ensembles (clusters)
• Etant données des points et un entier k, le problème est de diviser les points en k groupes
(clusters) de façon à minimiser une fonction de coût.
• L’objectif est de minimiser la distance entre les points à l’intérieur de chaque partition

Où est le barycentre des points dans Si

• Pour normaliser les valeurs, on divise argmin par Maximum Amplitude(max-min)

87
Algorithmes des K-Means(k-moyennes)

88
Algorithmes des K-Means(k-moyennes)
Algorithme classique
• 1: estimer des points K (aléatoirement)

89
Apprentissage non-supervisé
Algorithme classique
2: Assigner les éléments à ces groupes

90
Apprentissage non-supervisé
Algorithme classique
3: Déplacer les points K vers les centres

91
Algorithmes des K-Means(k-moyennes)
Algorithme classique
4: Réassigner les éléments et répéter jusqu’à stabilité

92
Algorithmes des K-Means(k-moyennes)
Algorithme

• Choisir K éléments initiaux "centres" des K groupes


• Placer les objets dans le groupe de centre le plus proche ( ou N=maximum
amplitude)
• Recalculer le centre de gravité de chaque groupe C ( avec nb
est le nombre d’éléments dans C)
• Itérer l'algorithme jusqu'à ce que les objets ne changent plus de groupe

93
Algorithmes des K-Means(k-moyennes)
Exemple
• X={27, 51, 52, 33, 45, 22, 28, 44, 40, 38, 20, 57}
• K=3
• N= Maximum amplitude= 57-20 = 37

94
Algorithmes des K-Means(k-moyennes)
Exemple
• Cluster 1 : 20, 22, 27, 28, 33, 38 Center: 168 / 6 = 28
• Cluster 2 : 40, 44, 45, 51 Center: 180 / 4 = 45
• Cluster 3 : 52, 57 Center: 109 / 2 = 54.5

95
Algorithmes des K-Means(k-moyennes)
Exemple
• Cluster 1 : 20, 22, 27, 28, 33 Center: 130 / 5 = 26
• Cluster 2 : 38, 40,44,45 Center: 167 / 4 = 41,75
• Cluster 3 : 51, 52, 57 Center: 160 / 3 = 53.33

• .....

96
Algorithmes des K-Means(k-moyennes)
Choisir K : le nombre de clusters
• Choisir un nombre de cluster K n’est pas forcément intuitif. Spécialement quand le jeu
de données est grand et qu’on n’ait pas un a priori ou des hypothèses sur les données.
– Un nombre grand peut conduire à un partitionnement trop fragmenté des
données. Ce qui empêchera de découvrir des patterns intéressants dans les
données.
– Par contre, un nombre de clusters trop petit, conduira à avoir, potentiellement, des
cluster trop généralistes contenant beaucoup de données. Dans ce cas, on n’aura
pas de patterns “fins” à découvrir

97
Algorithmes des K-Means(k-moyennes)
Choisir K : le nombre de clusters

• Généralement, en mettant dans un graphique les différents nombres de clusters en


fonction de la variance, on retrouve un graphique similaire à celui-ci.

• Le nombre optimal de clusters est le point représentant le coude.


• Ici le coude peut être représenté par valant 2 ou 3. C’est le nombre optimal de
clusters.
98
Algorithmes des K-Means(k-moyennes)
Défauts de la méthode
• obligation de fixer K.
• le résultat dépend fortement du choix des centres initiaux
– ne fournit pas nécessairement le résultat optimum
– fournit un optimum local qui dépend des centres initiaux.

99
Algorithmes des K-Means(k-moyennes)
Exercice:
Utilisez l’algorithme du k-means et la distance euclidienne pour regrouper les
8 exemples suivants en 3 clusters : A1(2,10), A2(2,5), A3(8,4), A4(5,8), A5(7,5),A6(6,4),
A7(1,2), A8(4,9).
On considère comme centre de classes à l’initialisation les points A1, A4 et A7. Déroulez
une itération de l’algorithme de k-means pour ces données et cette initialisation et
donnez :
— Les nouveaux clusters
— Les centres de chaque cluster
— Faites une représentation graphique montrant les points d’étude, les clusters et les
centres des clusters

100
Exercices de Révision

101
Exercice1(K-plus proches voisins)
Dans le quadrillage ci-dessous 14 points sont dessinés, dont 7 de la classe C1, avec des
ronds noirs, et 7 de la classe C2, avec des losanges. On introduit un nouveau point A(4,5),
dont on cherche la classe à l’aide d’un algorithme des k plus proches voisins pour la
distance géométrique habituelle, en faisant varier la valeur de k parmi 1, 3 et 5. Quelle est
la bonne valeur de k ?

102
Exercice1(K-plus proches voisins)
• d(A,p1)=sqrt(9+16)= 5
• d(A,p8)=sqrt(4+9)= 3,46
• d(A,p2)=sqrt(4+16)= 4,47
• d(A,p9)=sqrt(9+9)= 4,24
• d(A,p3)=sqrt(1+16)= 4,12
• d(A,p10)=sqrt(1+4)= 2,23
• d(A,p4)=sqrt(0+16)= 4
• d(A,p11)=sqrt(9+1)= 3,16
• d(A,p5)=sqrt(1+16)= 4,12
• d(A,p12)=sqrt(1+1)= 1,41
• d(A,p6)=sqrt(9+9)= 4,24
• d(A,p13)=sqrt(0+1)= 1
• d(A,p7)=sqrt(0+9)= 3
• d(A,p14)=sqrt(9+4)= 3,46

103
Exercice1(K-plus proches voisins)
• k=1 {p13 }losange
• k=3 {p13 p12 p10 }rond
• k=5 {p13 p12 p10 p7 p11}rond
minimiser la distance intra-cluster (moyenne de distance avec les différentes points du
même cluster) et maximiser la distance inter-cluster (moyenne de distance avec les
différentes points de l’autre cluster)

• K=1 intra=1 et inter=0


• K=3 intra=(d(p12)+d(p10))/2=(1,41+2,23)/2=1,81 et inter=d(p13)=1
• K=5 intra=(d(p12)+d(p10)+d(p11))/3=2,26 et inter= (d(p13)+d(p7))/2=2

104
Exercice 2 (perceptron)
Soit l’ensemble d’entraînement suivant:

Simulez manuellement l’algorithme du perceptron sur cet ensemble de données en les


parcourant dans l’ordre du haut vers le bas. Utilisez un taux d’apprentissage = 0,1 et
initialisez le vecteur de poids w à [0, 0, 0] et le biais b à 0,5.

105
Exercice 3 (perceptron)
La simulation de l’algorithme du perceptron est la suivant :

106
Exercice 3 (perceptron)

107
Exercice 3 (perceptron)

108
Apprentissage par renforcement

109
Apprentissage par renforcement
Introduction
• Apprentissage par renforcement
= Apprentissage en environnement (partiellement) inconnu
= Apprentissage par essais et erreurs
= Apprentissage par interaction avec l’environnement (exploration)
• Classification
– car on veut ici apprendre de bonnes séquences d’actions
•  Planification
– car on n’a ici qu’une connaissance imparfaite de l’environnement
– car ici l’environnement peut changer car ici on n’a souvent pas un état initial et un but fixés

110
Apprentissage par renforcement
Cadre général
Un agent évolue dans un environnement donné.
Il peut effectuer certaines actions dépendant de l’état courant :
• l’état de l’environnement
• et son propre état
ce qui amène dans un nouvel état.
Certaines actions sont liées à des récompenses / coûts immédiats.

L’agent doit apprendre quelle action choisir dans chaque état afin de suivre une séquence
d’action qui lui soit la plus favorable possible.
111
Apprentissage par renforcement
Définition
• L’Apprentissage par Renforcement, ou Reinforcement Learning en anglais, peut être
considéré comme la science de la prise de décision.
• L’objectif est de prendre la meilleure décision possible étant donné un certain contexte.
• Un agent dans un état actuel S apprend de son environnement en interagissant avec ce
dernier par le moyen d’actions. Suite à une action A, l’environnement retourne
un nouvel état S’ et une récompense R associée, qui peut être positive ou négative.

112
Apprentissage par renforcement
Principe :
• L’apprentissage par renforcement définit un type d’interaction entre l’agent et
l’environnement à partir d’un état ou une situation s dans l’environnement, l’agent
choisit et exécute une action a qui provoque une transition vers l’état s’.
• Il reçoit en retour un signal de renforcement r.
• Ce signal est utilisé par l’agent pour améliorer sa stratégie « politique », c'est-à-dire la
séquence de ses actions, afin de maximiser ses récompenses futures.

• But : accumuler le plus de récompenses


• Apprentissage par renforcement : comment spécifier la fonction de mise à jour ?
113
Apprentissage par renforcement
Formalisation :
• Pour un agent le problème de l’apprentissage par renforcement est définit par
l’utilisation des éléments suivants :
• Un ensemble d’états S correspondant à la perception de l’agent à son environnement.
• Un ensemble d’actions possibles A.
• Une fonction de renforcement R.
• Le but de l’agent est de choisir les actions qui lui amènent le plus de récompenses et le
moins de punitions.
• Ceci nous conduit à donner une formalisation pour ce problème d’apprentissage en
utilisant un Processus de Décision Markovien (MDP).

114
Apprentissage par renforcement
Processus Décisionnels de Markov :
• Le Processus Décisionnel de Markov forme le modèle le plus classique des problèmes
de décision séquentielle.
• C’est un processus stochastique, il assigne des récompenses aux transitions des états.

115
Apprentissage par renforcement
Processus de décision Markovien : États, actions, récompenses
Exemple. Un labyrinthe :
• Plusieurs entrées possibles, 1 sortie
• Déplacements possibles : ↑ ↓ ← → (sauf à travers les murs)
• Chaque déplacement coûte 5$
• Gain à la sortie : 100$

116
Apprentissage par renforcement
un MDP est défini comme un quadruplet {S, A,P, R} :
• S est l’ensemble d’´etats (states)
• A est l’ensemble des actions. On note A(s) l’ensemble des actions dans l’´etat s tel que
A(s) ∈ A
• P est la fonction de transition : P : S × A × S → [0, 1].
Cette fonction définit une distribution de probabilité sur les transitions
P(s, a, S’ ) = P( S’ = S t 1 |s = S t , at = a).
• R est la fonction de récompense (reward).
R : S × A × S → R telle que
R(s, a, S’ ) = E[ r | S = s, a = a, S = s’ ]
t t t t 1

⇒ On cherche la politique π qui maximise :

117
Les champs d’application
• Apprendre à un hélicoptère à faire des figures de voltige
• Faire marcher un robot humanoïde

• Vaincre le champion du monde du jeu de GO

118
les algorithmes d'apprentissage par renforcement

119
Apprentissage par renforcement: L’algorithme Q-learning

120
L’algorithme Q-learning
• Le Q-learning est un algorithme d’apprentissage par renforcement qui cherche à
trouver la meilleure action à entreprendre compte tenu de l’état actuel.
• Le Q-learning cherche à apprendre une politique qui maximise la récompense totale

• Le Q-learning consiste à déterminer une fonction Q(s, a) qui prend deux paramètres :
– s : L’état du système
– a : l’action que l’on veut effectuer

121
L’algorithme Q-learning
• Un agent apprenant est sujet au compromis entre l'exploitation (refaire des actions,
dont il sait qu'elles vont lui donner de bonnes récompenses) et l'exploration (essayer de
nouvelles actions, pour apprendre de nouvelles choses).
– exploration : le but est d’apprendre le mieux possible
– exploitation : le but est d’optimiser au mieux ses récompenses

• Le choix de l'action doit garantir un équilibre entre l'exploration et l'exploitation de


l'apprentissage déjà réalisé : faire confiance à l'estimation courante de Q pour choisir la
meilleure action à effectuer dans l'état courant (exploitation) ou, au contraire, choisir
une action a priori sous-optimale pour observer ses conséquences (exploration).
• Naturellement, on conçoit intuitivement que l'exploration doit initialement être
importante (quand l'apprentissage est encore très partiel, on explore) puis diminuer au
profit de l'exploitation quand l'apprentissage a été effectué pendant une période
suffisamment longue.

122
L’algorithme Q-learning

123
L’algorithme Q-learning

124
L’algorithme Q-learning
L’équation de bellman

Vitesse d’apprentissage( learning rate): plus il est élevé, plus les nouvelles informations
seront importantes par rapport aux anciennes.
À 0, l’agent n’apprend rien, et à 1, il ne retiendra pas les anciennes infos qu’il a apprises.
Facteur d’actualisation (gamma), entre 0 et 1. : détermine l’importance des récompenses
futures. Trop élevé (trop proche de 1), il y a risque de divergence.

125
L’algorithme Q-learning

126
L’algorithme Q-learning

• Exemple

127
L’algorithme Q-learning
Limites du Q-Learning

• Le processus itératif de calcul et d’actualisation des valeurs-Q pour chaque paire état-
action dans un grand espace d’état devient inefficace et peut-être irréalisable en raison
des ressources et du temps nécessaire.

128

Vous aimerez peut-être aussi