Vous êtes sur la page 1sur 49

Ingénierie des connaissances

Apprentissage- Machine learning

Fayssal BENDAOUD

Contacte: F.bendaoud@esi-sba.dz

Options: SIW, ISI et IASD

1/1
Outline

2/1
Introduction

L’informatique évolue principalement sur 2 aspects


1 Gain en capacité à cumuler et diffuser des données, ex:
fouille de données (Data Mining), les entrepôts de données,
les réseaux et services web...
2 Gain en intelligence les domaines liés à l’intelligence
artificielle, les jeux, la parole...

3/1
Introduction

Faire doté les algorithmes de la capacité d’apprendre a fait changé


la manière de programmer
1 Avant, programmer consistait a préciser une logique pour faire
exécuter une tache.
2 Maintenant, programmer pour faire exécuter des taches
nécessitant un raisonnement ou un jugement.
Ce nouveau mécanisme de programmation nécessite de
l’apprentissage

4/1
Définition et caractéristiques

1 L’apprentissage est le processus de construire un modèle


général a partir des données particulières du monde réel.
L’objectif est, prédire un comportement face à une nouvelle
donnée, ou bien, approximer une fonction.
2 Les principales caractéristiques adoptées par les modèles
d’apprentissage:
- L’entraı̂nement.
- La généralisation.
- L’adaptation.
- L’amélioration.

5/1
De l’histoire

1 En 1997, IBM développe un ordinateur qui est le premier à


vaincre le champion mondial d’échecs.
2 En 2012, un réseau neurone développé par Google parvient à
reconnaı̂tre des visages humains ainsi que des chats dans des
vidéos YouTube.
3 En 2016, un système d’intelligence artificielle à base
d’apprentissage automatique nommé ”LipNet” parvient à lire
sur les lèvres avec un grand taux de succès.

6/1
Définition et caractéristiques: l’entraı̂nement

Parmi les caractéristiques de l’apprentissage on trouve


l’entraı̂nement, qui est donc, la capacité a amélioré les
performances au fur et a mesure de l’exercice d’une tache.
Exemple
Au fur et a mesure, un joueur de jeu d’échec apprend par
expérience et raisonnement, ce qui lui permet de s’améliorer dans
le jeu avec le temps. C’est le cas d’un algorithme intelligent.

7/1
Définition et caractéristiques: l’adaptation

L’adaptation est la capacité d’un système ou le modèle a corrigé


son comportement à remanier sa réponse face aux nouvelles
situations.
Donc, il faut collecter les bonnes et les mauvaises expériences, a
partir d’elles, les règles évoluent pour mieux effectuer la tache.

8/1
Définition et caractéristiques : la généralisation

La généralisation est la capacité de reconnaı̂tre de nouveaux


exemples jamais vu auparavant. pour chaque modèle
d’apprentissage, il y a un seuil de généralisation, i.e., on ne peut
pas reconnaı̂tre tous les exemples.

9/1
Types de données

Les données sont catégorisées comme suit:


1 La population d’entraı̂nement: c’est les éléments utilisés
pour générer le modèle d’apprentissage. (audio, image, texte
...)
2 La population de test: les éléments sur lesquels, le modèle
d’apprentissage sera appliqué, des données différentes de ceux
utilisés pendant l’entraı̂nement.
3 La population de validation: nécessaire pour fixer
”hyperparameters” (taux d’apprentissage, le ”k” dans
l’algorithme Knn... )

10/1
Types d’apprentissage automatique

Il existe principalement 3 types d’apprentissage automatique


1 Apprentissage supervisé.
2 Apprentissage non-supervisé.
3 Apprentissage par renforcement.

11/1
Apprentissage supervisé

1 Il consiste à fournir aux algorithmes un jeu de données appelé


(Training Set).
2 Le jeu de données est sous la forme de (X, Y) avec X les
variables prédictives, et Y le résultat de l’observation.
3 En se basant sur le ”Training Set”, l’algorithme trouvera une
fonction mathématique qui permet de transformer (au
mieux) X vers Y.

12/1
Apprentissage supervisé: formulation

1 Soit D un ensemble de données, avec certaines


caractéristiques X.
2 Un algorithme d’apprentissage supervisé, essayera de trouver
une fonction de mapping entre les variables prédictives en
entrée X et la variable à prédire Y.
3 la fonction de mapping s’appelle, fonction de prédiction.
F(X)=Y.

13/1
Apprentissage supervisé: formulation

L’ensemble des caractéristiques X peuvent être des valeurs


numériques, alphanumériques, des images. . . Quant à Y, elle peut
être de deux catégories
1 Variable discrète: La variable à prédire peut prendre une
valeur d’un ensemble fini de valeurs (qu’on appelle des
classes). Classification
Exemple
Pour prédire si un mail est SPAM ou non, la variable Y peut
prendre deux valeurs possible : Y ∈ {SPAM, NORMAL}
2 Variable continue: La variable Y peut prendre n’importe quelle
valeur. par exemple un algorithme qui prend en entrée des
caractéristiques d’une maison, et tentera de prédire son prix
(la variable Y). Régression

14/1
Régression

Outline

15/1
Régression

Régression 1

1 La régression linéaire est un algorithme d’apprentissage


automatique supervisé dans lequel la sortie à prédire est
continue.
2 L’équation linéaire à plusieurs variables est f (xi ) = wi ∗ xi + b,
où wi représente les coefficients, b est le bias, xi ce sont nos
données d’entrées et f (xi ) est la sortie que notre modèle
essaiera d’apprendre.

16/1
Régression

Régression 2

3 Une forme simpliste de ce modèle est d’avoir une seule


variable d’entrée, la fonction donc devient y = w ∗ x + b
4 L’objectif dans un problème de régression est donc de trouver
les coefficients wi et le bias b. Pour ce faire, on doit
minimiser l’erreur entre les valeurs prédites de f (xi ) et les
sorties réelles du modèle.
5 La fonction erreur la plus utilisée est MSE P
(Mean Square
Error) est définie comme suit: MSE = 2m m 1
i=1 (f (xi ) − yi )
2

17/1
Régression

Régression 3: Gradient descent

1 Pour minimiser MSE, nous utilisons ”Gradient Descent” pour


calculer le gradient de notre fonction de coût.
2 On doit donc considérer l’impact de nos variables poids et bias
(wi et b) dans la prédiction finale de notre fonction de coût,
pou cela, nous utilisons les dérivées partielles et la ”chain
rule”.
3 Nous avons besoin de la règle de chain parce que nous avons
2 fonctions imbriquées dans la MSE, la première est
(f (xi ) − yi ) et la deuxième est X 2 .
4 Pour simplifier les calcules, on se met dans le cas de la
régression simple la oû on a seulement 2 variables w et b.

18/1
Régression

Régression 4: Gradient descent

La fonction MSE associée:


1 Pm 2
MSE = f (w , b) = 2m i=1 ((w ∗ x + b) − yi )
On calcule donc le gradient de la fonction MSE comme suit:

 df   1 P

0
f (w , b) = dw = 2m P −xi · 2(yi − (wxi + b))
df 1
db 2m −1 · 2(yi − (wxi + b))
 1 P 
= 2m P−2xi (yi − (wxi + b))
1
2m −2(yi − (wxi + b))

19/1
Régression

Régression 5: Gradient descent

Dans le cas de la régression linéaire a plusieurs variables, l’équation


de l’erreur devient:
1 Pn 2
MSE = 2n i=1 (yi − (W1 x1 + W2 x2 + W3 x3 + b))
Son gradient est le suivant:

f 0 (W1 ) = −x1 (y − (W1 x1 + W2 x2 + W3 x3 + b))


f 0 (W2 ) = −x2 (y − (W1 x1 + W2 x2 + W3 x3 + b))
f 0 (W3 ) = −x3 (y − (W1 x1 + W2 x2 + W3 x3 + b))

20/1
Régression

Régression 6: Gradient descent

Les nouvelles valeurs (itérations suivantes) dans le cas d’une


régression simple sont calculées comme suit:
1 Le bias b devient:
b = b − Nα
P
−2(yi − (wi xi + b))
2 Le coefficientPw devient:
w = w − Nα −2x(yi − (wi xi + b))
3 α est le taux d’apprentissage α ∈ ]0, 1], il doit être fixé
suivant les données.

21/1
Classification

Outline

22/1
Classification

Apprentissage supervisé: Classification

1 La variable à prédire est discrète, donc, classification.


2 L’objectif est de pouvoir prédire à quelle classe appartient une
donnée (ex : un nouveau émail est il spam ou non).
3 Nous avons ”binary classification” et ”multi-class
classification”.
4 Plusieurs algorithmes qui existent: Support Vector Machine
(SVM), La méthode des k plus proches voisins, L’arbre de
décision, Les réseaux neurones...

23/1
Classification

Principe

1 Technique d’apprentissage automatique simple.


2 Pas couteux en matière de temps d’apprentissage et de
prédiction.
3 Performant sur les bases d’apprentissage caractérisé par un
attribut dominant.
4 Un seul attribut détermine la classe d’une instance.

24/1
Classification

Algorithme

- Pour chaque attribut Ai :


- Pour chaque valeur Vj de l’attribut Ai :
• Compter le nombre d’apparences de chaque classe Ck
• Trouver la classe la plus fréquente.
• Calculer le nombre d’instances pour les classes non fréquente
(l’erreur de chaque valeur Vj )
- Calculer l’erreur de chaque attribut Ai (somme des erreurs Vj )
- Sélectionner l’attribut avec l’erreur minimale
- Construire la règle de décision

25/1
Classification

Exemple

26/1
Classification

Exemple

27/1
Classification

Remarques

1 Si plusieurs attributs ont la même erreur, alors choisir


aléatoirement entre les attributs qui minimise l’erreur
2 Erreur = Nombres d’instances (de l’attribut x) dans la classe
non majoritaire/Nombre total d’instances (de l’attribut x)
dans toutes les classes.
3 Dans cet exemple, Outlook c’est l’attribut dominant.

28/1
Classification

Machine à vecteurs de support SVM

1 Un ensemble de techniques d’apprentissage supervisé destinées


à résoudre des problèmes de discrimination et de régression.
2 Les SVM sont une généralisation des classifieurs linéaires.
3 Utilisés dans de nombreux domaines, bio-informatique,
recherche d’information, vision par ordinateur, finance.
4 Ont pratiquement des performances similaires a celles des
réseaux neurones.

29/1
Classification

SVM: Problèmes linéairement séparable

1 La construction d’une fonction h qui à un vecteur d’entrée x


fait correspondre une sortie y. y = h(x).
2 Soit le cas d’une fonction discriminante linéaire, obtenue par
combinaison linéaire du vecteur d’entrée x = (x1 , ..., xn ) et un
vecteur poids w = (w1 , ..., wn )
3 Les problèmes linéairement séparables, la solution est de
tracer une ligne droite de séparation pour séparer les 2 classes

30/1
Classification

SVM: Problèmes linéairement séparable

31/1
Classification

SVM: Problèmes linéairement séparable

1 Quelle ligne à choisir?!


2 SVM dit, on prend les éléments les plus proches des deux
classes appelés support vectors.
3 On calcule la distance entre ces éléments et les droites
séparatrices, La marge.
4 La droite avec marge maximale est la bonne.

32/1
Classification

SVM: Problèmes linéairement séparable

33/1
Classification

SVM: Problèmes linéairement séparable

1 L’objectif principal consiste à maximiser la marge.


2 L’idée est que avec une marge maximale, on a un espace de
confiance optimal pour notre classification.
3 Pour les calcules, on doit utiliser les multiplicateurs de
Lagrange.

34/1
Classification

SVM: Problèmes linéairement séparable

1 Situons nous dans le cas d’un problème linéaire à 2 classes.


2 Le hyperplan séparateur s’écrit sous la forme
f (x) = w T x + w0
3 Nous avons les hypothèses suivantes (SVM):
- f (x) ≥ 1 si x ∈ classe 1
- f (x) ≤ −1 si x ∈ classe 2
4 La distance entre un point A (xA , yA ) et un hyperplan (d) est
donnée comme suit:
d(A, (d)) = |w1 x√
A +w2 yA +w0 |
2 2
= |f||w
(x)| 1
|| = ||w ||
w1 +w2

5 Donc la marge est égale à m= ||w2 ||

35/1
Classification

SVM: Problèmes linéairement séparable

2 ||w ||
1 Maximiser ||w || revient donc à minimiser 2
2 La minimisation de 21 ||w ||2 est une optimisation non-linéaire.
3 La solution est d’utiliser la méthode des multiplicateurs de
Lagrange Karush-Khun-Tucker (KKT).
4
N
X
w= λi yi xi
i=0
5
N
X
λi yi = 0
i=0

36/1
Classification

SVM:Problèmes non linéaires

1 Souvent les problèmes sont non linéaires.


2 Trouver une droite séparatrice devient impossible ”dans le
plan”.
3 L’idée est de passer de la dimension dont nous sommes, à une
dimension plus élevée
4 Le problème non linéaire à la dimension ”n” peut devenir
linéaire a une dimension plus élevée.

37/1
Classification

SVM: Problèmes non linéaires

1 Donc, la classification linéaire dans un espace plus grand est


équivalente a celle non linéaire dans l’espace d’origine.
2 La solution est d’utiliser ”kernel trick” ou ”astuce du noyau”.
3 L’astuce du noyau permet d’éviter le problème du produit
scalaire des vecteurs dans un espace grand.

38/1
Classification

SVM: Problèmes non linéaires

1 Sans trop de détails, ceci est possible en utilisant le


Théorème de Mercer
2 L’astuce du noyau consiste donc à remplacer un produit
scalaire dans un espace de grande dimension par une fonction
noyau, facile à calculer.
3 De cette manière, un classifier linéaire peut facilement être
transformé en un classifieur non linéaire.
4 Un autre avantage des fonctions noyaux est qu’il n’est pas
nécessaire d’expliciter la transformation Φ

39/1
Classification

SVM: Problèmes non linaires

40/1
Classification

SVM: Problèmes non linaires

1 Il est important de noter que le mapping x versΦ(x) est


effectué en utilisant kernel functions.
2 La valeur de Φ(x) n’est pas importante elle même, ce qui est
important est le produit scalaire entre Φ(x).Φ(xi ).
3 Ces produits sont fait par le biais des ”kernel trick”
4 Donc, d’un problème non linéaire dans un espace, on peut
simplement élevé la dimension de l’espace est rendre notre
problème linéaire et le résoudre.

41/1
Classification

SVM: Problèmes non linaires

42/1
Classification

Apprentissage non-supervisé

1 L’approche utilisé dans l’apprentissage non-supervisé est


Clustering
2 Partitionnement des données, vise à diviser les données en
sous-ensembles homogènes.
3 Ces sous-ensembles partagent des caractéristiques communes.
4 Plusieurs algorithmes existants: K-means, DBscan

43/1
Classification

Méthode K-means

1 Appelée aussi K-moyennes.


2 L’objectif est, étant donné un ensemble de points (x1 , ..., xn ).
3 On cherche à partitionner les n points en k ensembles
C = {C1 , ..., Ck } avec k ≤ n
4 En minimisant la distance entre les points à l’intérieur de
chaque sous-ensemble C.

44/1
Classification

Méthode K-means

1 Le problème
P Ppeut être formulé de cette manière
min ki=1 xj ∈Ci ||xi − αi ||2
2 αi est le barycentre des points dans Ci .

45/1
Classification

Algorithme K-means

1 Choisir ”K” (au hasard) ou fixer naturellement.


2 Définir des ”K” barycentres au hasard.
3 Répéter
- Attribuer chaque point des données au barycentre le plus
proche (distance euclidienne plus proche).
- Pour chaque barycentre, calcule la moyenne des valeurs de
tous les points qui lui appartiennent. La valeur moyenne
devient la nouvelle valeur du barycentre.
4 Jusqu’à ce qu’il n’y ait pas de changement dans les valeurs
barycentres

46/1
Classification

Exemple K-means

47/1
Classification

Exemple K-means (K=2)

48/1
Classification

Exemple K-means (k=4)

49/1

Vous aimerez peut-être aussi