0% ont trouvé ce document utile (0 vote)
229 vues115 pages

Introduction au Machine Learning et Classification

Transféré par

EZZAHAR ZAKARIA
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
0% ont trouvé ce document utile (0 vote)
229 vues115 pages

Introduction au Machine Learning et Classification

Transféré par

EZZAHAR ZAKARIA
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

Introduction au Machine learning

et à la classification supervisée

Agathe Guilloux
Outline I
Big data / Data Science
Big Data? Statistique? AI? ML? DS?

Eco-système de la Data Science

Exemples de cas d’usage


Un focus sur le Machine Learning/Apprentissage statistique
Apprentissage supervisé
Régression
Classification

Apprentissage non-supervisé
Réduction de la dimension / visualisation
Clustering

Retour sur les cas d’usage

Le problème de classification
Exemples
Classification
OutlineApproche
II probabiliste / statistique
Idée générale

Naive Bayes

Analyse discriminante
Analyse discriminante

Linear Discriminant Analysis (LDA)

Classifieur constants sur une partition


k plus proches voisins / k nearest neighbors

Arbres de décisions

Minimisation de l’erreur, méthodes basées sur l’optimisation


Erreur visible / erreur de généralisation

Ensemble methods

Text mining: comment transformer un texte en un vecteur numérique ?


Hashing
Bag of Words
Mots et Word Vectors
Organisation du cours

▶ Programme
▶ Jour 1 : big data / data science + notebook “ds_with_python”
▶ Jour 2 et 3 : algorithmes de classification + “classification_gro”
▶ Jour 4 : text mining + “notebook_imdb”
▶ Evaluation
▶ par équipe de 3, analyser le jeu de données “amazon reviews”
[Link]
▶ soutenances de 15 minutes avec une présentation le 26/09.
Big data / Data Science
Vocabulaire et buzz words

▶ Statistique
▶ Intelligence artificielle (AI)
▶ Machine Learning (ML)
▶ Big Data
▶ Data Science
▶ Deep Learning (DL)
▶ ... ?? ...
Wikipedia

▶ Le Big data est un terme désignant des ensembles de données si importants et


complexes qu’il devient difficile de les analyser en utilisant des applications de
traitement de données traditionnelles.
▶ La Statistique est l’étude de la collecte, de l’analyse, de l’interprétation, de la
présentation et de l’organisation des données.
▶ L’Intelligence artificielle est définie comme l’étude d’agents intelligents: tout
appareil qui perçoit son environnement et prend des mesures qui maximisent ses
chances de réussir.
▶ Le Machine learning ou apprentissage statistique est un champ d’étude de
l’intelligence artificielle qui se fonde sur des approches statistiques pour donner
aux ordinateurs la capacité d’ « apprendre » à partir de données.
▶ La Data science/ Science des données est l’étude de l’extraction généralisable
de connaissances à partir de données, mais le mot clé est science !
Wikipedia

▶ Le Big data est un terme désignant des ensembles de données si importants et


complexes qu’il devient difficile de les analyser en utilisant des applications de
traitement de données traditionnelles.
▶ La Statistique est l’étude de la collecte, de l’analyse, de l’interprétation, de la
présentation et de l’organisation des données.
▶ L’Intelligence artificielle est définie comme l’étude d’agents intelligents: tout
appareil qui perçoit son environnement et prend des mesures qui maximisent ses
chances de réussir.
▶ Le Machine learning ou apprentissage statistique est un champ d’étude de
l’intelligence artificielle qui se fonde sur des approches statistiques pour donner
aux ordinateurs la capacité d’ « apprendre » à partir de données.
▶ La Data science/ Science des données est l’étude de l’extraction généralisable
de connaissances à partir de données, mais le mot clé est science !
Wikipedia

▶ Le Big data est un terme désignant des ensembles de données si importants et


complexes qu’il devient difficile de les analyser en utilisant des applications de
traitement de données traditionnelles.
▶ La Statistique est l’étude de la collecte, de l’analyse, de l’interprétation, de la
présentation et de l’organisation des données.
▶ L’Intelligence artificielle est définie comme l’étude d’agents intelligents: tout
appareil qui perçoit son environnement et prend des mesures qui maximisent ses
chances de réussir.
▶ Le Machine learning ou apprentissage statistique est un champ d’étude de
l’intelligence artificielle qui se fonde sur des approches statistiques pour donner
aux ordinateurs la capacité d’ « apprendre » à partir de données.
▶ La Data science/ Science des données est l’étude de l’extraction généralisable
de connaissances à partir de données, mais le mot clé est science !
Wikipedia

▶ Le Big data est un terme désignant des ensembles de données si importants et


complexes qu’il devient difficile de les analyser en utilisant des applications de
traitement de données traditionnelles.
▶ La Statistique est l’étude de la collecte, de l’analyse, de l’interprétation, de la
présentation et de l’organisation des données.
▶ L’Intelligence artificielle est définie comme l’étude d’agents intelligents: tout
appareil qui perçoit son environnement et prend des mesures qui maximisent ses
chances de réussir.
▶ Le Machine learning ou apprentissage statistique est un champ d’étude de
l’intelligence artificielle qui se fonde sur des approches statistiques pour donner
aux ordinateurs la capacité d’ « apprendre » à partir de données.
▶ La Data science/ Science des données est l’étude de l’extraction généralisable
de connaissances à partir de données, mais le mot clé est science !
Wikipedia

▶ Le Big data est un terme désignant des ensembles de données si importants et


complexes qu’il devient difficile de les analyser en utilisant des applications de
traitement de données traditionnelles.
▶ La Statistique est l’étude de la collecte, de l’analyse, de l’interprétation, de la
présentation et de l’organisation des données.
▶ L’Intelligence artificielle est définie comme l’étude d’agents intelligents: tout
appareil qui perçoit son environnement et prend des mesures qui maximisent ses
chances de réussir.
▶ Le Machine learning ou apprentissage statistique est un champ d’étude de
l’intelligence artificielle qui se fonde sur des approches statistiques pour donner
aux ordinateurs la capacité d’ « apprendre » à partir de données.
▶ La Data science/ Science des données est l’étude de l’extraction généralisable
de connaissances à partir de données, mais le mot clé est science !
Wikipedia

▶ Le Big data est un terme désignant des ensembles de données si importants et


complexes qu’il devient difficile de les analyser en utilisant des applications de
traitement de données traditionnelles.
▶ La Statistique est l’étude de la collecte, de l’analyse, de l’interprétation, de la
présentation et de l’organisation des données.
▶ L’Intelligence artificielle est définie comme l’étude d’agents intelligents: tout
appareil qui perçoit son environnement et prend des mesures qui maximisent ses
chances de réussir.
▶ Le Machine learning ou apprentissage statistique est un champ d’étude de
l’intelligence artificielle qui se fonde sur des approches statistiques pour donner
aux ordinateurs la capacité d’ « apprendre » à partir de données.
▶ La Data science/ Science des données est l’étude de l’extraction généralisable de
connaissances à partir de données, mais le mot clé est science !
Data Science

Les influences majeures


Quatre influences majeures agissent aujourd’hui:
▶ La théorie formelle de la statistique
▶ L’accélération du développement des ordinateurs
▶ Le défi, dans de nombreux domaines, de corpus de données toujours plus
grands
▶ L’accent mis sur la quantification dans une variété toujours plus large de
   disciplines
Data Science

Les influences majeures - Tukey (1962)


Quatre influences majeures agissent aujourd’hui:
▶ La théorie formelle de la statistique
▶ L’accélération du développement des ordinateurs
▶ Le défi, dans de nombreux domaines, de corpus de données toujours plus
grands
▶ L’accent mis sur la quantification dans une variété toujours plus large de
   disciplines

▶ Il parlait de l’analyse de données.


▶ Datamining, Machine learning , Big Data, AI ...
Faire de la science des données
Exemples de cas d’usage
Big Data/DS : où et pourquoi ?
Cas d’usage en marketing

▶ Prédiction du churn
▶ Marketing personnalisés et segmentation des clients
▶ ”Sentiment analysis” des clients
▶ Recommandation
Churn/attrition
Segmentation des clients
Sentiment analysis
Recommandation
Machine Learning/Apprentissage statistique
Une définition du Machine Learning

par Tom Mitchell ([Link]


Un programme informatique est réputé apprendre (learn) d’une expérience E
pour certaines classes de tâches T et une mesure de performance P, si ses
performances aux tâches T, mesurée par P, s’améliorent avec l’expérience.
Un robot qui apprend

Un robot doté d’un ensemble de capteurs et d’un algorithme


d’apprentissage en ligne
▶ Tâche: jouer au football
▶ Performance: score
▶ Expérience:
▶ environnement actuel
▶ jeux passés
Reconnaissance d’objets dans une image

Un algorithme de détection/reconnaissance
▶ Tâche : dire si un objet est présent ou non dans l’image
▶ Performance : nombre d’erreurs
▶ Expérience : ensemble d’images ’”labelisées” précédemment vues
Machine Learning

Tom Mitchell ([Link]


Un programme informatique est réputé apprendre (learn) d’une expérience E
pour certaines classes de tâches T et une mesure de performance P, si ses
performances aux tâches T, mesurée par P, s’améliorent avec l’expérience.
Supervisé et non-supervisé

Apprentissage supervisé
▶ Objectif : apprendre une fonction f prédisant une variable Y à partir de
features X.
▶ Données : ensemble d’apprentissage (Xi , Yi )

Apprentissage non-supervisé
▶ Objectif: découvrir une structure au sein d’un ensemble d’individus (Xi ).
▶ Data: Learning set (Xi )
Machine Learning

Méthodes pour le ML
▶ Grand catalogue de méthodes,
▶ Besoin de définir la performance,
▶ Design des features...
Apprentissage supervisé
Apprentissage supervisé
Régression I
Régression II
Classification
Régression logistique: une exemple simple
Régression logistique: une exemple plus compliqué I
Régression logistique: une exemple plus compliqué II
Régression logistique: une exemple plus compliqué III
Apprentissage non-supervisé
Réduction de la dimension / visualisation I

Figure 1: MNIST data


Réduction de la dimension / visualisation II

Figure 2: T-SNE
Clustering

Figure 3: Hierarchical clustering et K-means


Retour sur les cas d’usage
Churn/attrition

Figure 4: Classification : le client reste ou part


Segmentation des clients

Figure 5: Clustering
Sentiment analysis

Figure 6: Classification : le commentaire est positif ou non // Régression : note


Recommandation

Figure 7: Réduction de la dimension


Déclaration de Montréal pour une IA responsable

Dix principes :

▶ le bien-être,
▶ le respect de l’autonomie,
▶ la protection de l’intimité et de la vie privée,
▶ la solidarité, la participation démocratique,
▶ l’équité,
▶ l’inclusion de la diversité,
▶ la prudence,
▶ la responsabilité et
▶ le développement soutenable.

[Link]
Le problème de classification
Exemples
Spam detection

▶ Données : emails
▶ Input : email
▶ Output : Spam or No Spam
Classification binaire : toy datasets

▶ But : retrouver la classe


▶ Input : 2 predicteurs
▶ Output : classe
Classification multi-classes

Figure 8: Jeu de données MNIST

▶ Lire un code postal sur une enveloppe.


▶ But : assigner un chiffre à une image.
▶ Input : image.
▶ Output : chiffre correspondant.
Classification multi-classes : Iris dataset

▶ But : retrouver la classe


▶ Input : 2 predicteurs
▶ Output : classe
Classification
Le problème de classification binaire

On a des données d’apprentissage (learning data) pour des individus


i = 1, . . . , n. Pour chaque individu i :

▶ on a un vecteur de covariables (features) Xi ∈ X ⊂ Rd


▶ la valeur de son label Yi ∈ {−1, 1}.
▶ on suppose que les couples (Xi , Yi ) sont des copies i.i.d. de (X, Y) de loi
inconnue.

But

▶ On veut pour un nouveau vecteur X+ de features prédire la valeur du label


Y+ par Ŷ+ ∈ {−1, 1}
▶ Pour cela, on utilise les données d’apprentissage
Dn = {(X1 , Y1 ), . . . , (Xn , Yn )} pour construire un classifieur ĉ de telle
sorte que
Ŷ+ = ĉ(X+ ).
Classification binaire : toy datasets
Le problème de classification multi-classes

On a des données d’apprentissage (learning data) pour des individus


i = 1, . . . , n. Pour chaque individu i :

▶ on a un vecteur de covariables (features) Xi ∈ Rd


▶ la valeur de son label Yi ∈ C = {1, . . . , K}.
▶ on suppose que les couples (Xi , Yi ) sont des copies i.i.d. de (X, Y) de loi
inconnue.

But

▶ On veut pour un nouveau vecteur X+ de features prédire la valeur du label


Y+ par Ŷ+ ∈ C = {1, . . . , K}
▶ Pour cela, on utilise les données d’apprentissage
Dn = {(X1 , Y1 ), . . . , (Xn , Yn )} pour construire un classifieur ĉ de telle
sorte que
Ŷ+ = ĉ(X+ ).
Classification multi-classes : Iris dataset
Apprentissage statistique supervisé

▶ Input : covariables, variables explicatives, features X = (X1 , . . . , Xd )


▶ Ouput : variable à expliquer, variable dépendante, réponse, label Y
Approche probabiliste / statistique
Approche probabiliste / statistique en classification binaire

▶ Pour construire le classifieur ĉ, on construit des estimateurs p̂1 (x) et


p̂−1 (x) de

p1 (x) = P(Y = 1|X = x) et p−1 (x) = 1 − p1 (x)


▶ en modélisant la loi de Y|X.
▶ Puis, conditionnellement à X+ = x, on classifie en utilisant la règle
{
1 si p̂1 (x) ≥ s
Ŷ+ = ĉ(x) =
−1 sinon

pour un seuil s ∈ (0, 1).


▶ Si on choisit s = 1/2, cela revient à classifier suivant la plus grande valeur
entre p̂1 (x) et p̂−1 (x) (on retient cette règle dans la suite).
Classification binaire : toy datasets
Classification binaire : toy datasets
Classifieur bayésien (1)

Formule de Bayes
Nous savons que
fy (x)P(Y = y)
py (x) = P(Y = y|X = x) =
f(x)
fy (x)P(Y = y)
= ∑
y =−1,1 y
′ f ′ (x)P(Y = y′ )
∝ fy (x)P(Y = y),

où f est la densité jointe de X et fy est la densité de X condionnellement à


Y = y.

Donc si on estime les loi de X|Y et de Y, on a un estimateur de celle de Y|X.


Classifieur bayésien (2)

Classifieur bayésien
On construit un classifieur grâce à la formule de Bayes
▶ en modélisant la loi X|Y puis en l’estimant
▶ et en estimant la loi marginale de Y.

On aura donc

p̂y (x) = b
P(Y = y|X = x) ∝ f̂y (x)b
P(Y = y)

puis
{
1 si p̂1 (x) ≥ p̂−1 (x)
Ŷ+ = ĉ(x) =
−1 sinon
{
1 si f̂1 (x)b
P(Y = 1) ≥ f̂−1 (x)b
P(Y = −1)
=
−1 sinon
=argmaxy=−1,1 f̂y (x)b
P(Y = y).
Maximum a posteriori en classification binaire

Si, conditionnellement à X+ = x, on classifie en utilisant la règle


{
1 si p̂1 (x) ≥ p̂−1 (x)
Ŷ+ = ĉ(x) =
−1 sinon ,

c’est équivalent à utiliser une fonction discriminante.


Fonction discriminante

δ̂y (x) = log b


P(X = x|Y = y) + log b
P(Y = y)
pour y = 1, −1 et de classifier suivant sa valeur pour chaque y.
Classification multi-classes et maximum a posteriori

▶ On modélise la distribution de Y|X


▶ On construit des estimateurs p̂k (x) pour k ∈ C tels que

p̂k (x) = 1
k∈C

▶ Conditionnellement à X+ = x, on classifie en utilisant la règle

Ŷ+ = argmaxk∈C p̂k (x).

On peut alors définir des fonctions discriminantes pour k ∈ C

δ̂k (x) = log b


P(X = x|Y = k) + log b
P(Y = k).

et décider de classifier avec la règle

Ŷ+ = argmaxk∈C δ̂k (x).


Remarque

▶ On peut choisir plusieurs modèles pour la loi de X|Y qui donnent des
classifieurs différents.
▶ Le plus simple est le “Naive Bayes”
▶ Nous verrons aussi l’analyse discriminante linéaire (Linear discriminant
analysis - LDA) et quadratique (Quadratic discriminant Analysis -QDA)
Naive Bayes

▶ On veut un modèle pour la loi de X|Y.


▶ Le plus simple est de considérer que les features Xj (j = 1, . . . , d) sont
indépendantes conditionnellement à Y.
▶ C’est équivalent à supposer que la densité conditionnelle fy (x) de X|Y = y
est donnée par

d

fjy (xj )
j=1

où fjy est la densité de Xj |Y = y.


Quelle loi pour Xj |Y = y ?

▶ Si Xj est une variable continue, on choisit la loi normale

Xj |Y = y ∼ N (µj,y , σj,y
2
),
2
dont les paramètres µj,k et σj,k sont estimés par maximum de
vraisemblance.
2
Il suffit alors d’estimer les µj,y , σj,y pour tous les j = 1, . . . , d et les y ∈ C.
▶ Si Xj est une variable discrète, on choisit la loi de Bernoulli ou la loi
multinomiale.
Exemple sur le dataset Iris
Analyse discriminante
Analyse discriminante

Supposons que
X|Y = y ∼ N (µy , Σy ).
On rappelle que la densité de la loi N (µ, Σ) est donnée par
( )
1 1
f(x) = √ exp − (x − µ)⊤ Σ−1 (x − µ) .
(2π)d/2 det Σ 2
Estimation

On estime les paramètres inconnus par maximum de vraisemblance. Donc pour


y ∈ C, on pose
Iy = {i = 1, . . . , n : Yi = y} ny = |Iy |
et

b ny 1 ∑
P(Y = y) = , µ̂y = Xi ,
n ny
i∈Iy

1 ∑
Σ̂y = (Xi − µ̂y )(Xi − µ̂y )⊤ .
ny
i∈Iy

Ce sont simplement les proportions, moyennes et variances de chaque


sous-groupe de données défini par la valeur du label.
Fonctions discriminantes

Dans ce cas, les fonctions discriminantes sont

δ̂y (x) = log b


P(X = x|Y = y) + log b
P(Y = y)
1 d
= − (x − µ̂y )⊤ Σ̂−1
y (x − µ̂y ) − ln(2π)
2 2
1
− log det Σ̂y + log bP(Y = y)
2
Linear Discriminant Analysis (LDA)

Supposons que Σ = Σy pour tout y ∈ C (cela revient à supposer qu’il y a la


même structure de corrélation dans chaque groupe)
Linear Discriminant Analysis (LDA)
Les frontières de décision sont linéaires et les régions ont la forme (pour la
classification binaire) ⟨x, w⟩ ≥ c avec

w = Σ̂−1 (µ̂1 − µ̂−1 )


1
c = (⟨µ̂1 , Σ̂−1 µ̂1 ⟩ − ⟨µ̂−1 , Σ̂−1 µ̂−1 ⟩)
2
( b P(Y = 1)
)
+ log .
b
P(Y = −1)
Quadratic Discriminant Analysis (QDA)

On n’assume plus que Σ = Σy pour tout y ∈ C. Dans ce cas, les frontières sont
quadratiques.
Exemple sur le dataset Iris
Classifieur constants sur une partition
Rappel sur la classification

On a pour i = 1, . . . , n

▶ Xi ∈ R d
▶ Yi ∈ C = {−1, 1} ou {1, . . . , K}.

But

▶ On veut pour un nouveau vecteur X+ de features prédire la valeur du label


Y+ par Ŷ+ ∈ C = {1, . . . , K}
▶ Pour cela, on utilise les données d’apprentissage
Dn = {(X1 , Y1 ), . . . , (Xn , Yn )} pour construire un classifieur ĉ de telle
sorte que
Ŷ+ = ĉ(X+ ).
Classifieur constants sur une partition

On va considérer

▶ une partition A = {A1 , . . . , AM } de X (qui peut dépendre des données)


▶ l’ensemble FA des fonctions constantes sur A
▶ la perte 0/1 ℓ(y, y′ ) = 1yy′ ≤0

on cherche alors un classifieur ĉ qui vérifie

1∑ 1∑
n n

ĉA = argmin ℓ(Yi , c(Xi )) = argmin 1Yi c(Xi )≤0 .


c∈FA n c∈FA n
i=1 i=1
Vote majoritaire

En classification binaire, on sait alors que ĉA vérifie pour x ∈ Am


{
1 si #{i : Xi ∈ Am , Yi = 1} > #{i : Xi ∈ Am , Yi = −1}
ĉA (x) =
−1 sinon
{
1 si ȲAm > 0
=
−1 sinon

En classification multi-classes, on posera pour x ∈ Am

ĉA (x) = argmax #{i : Xi ∈ Am , Yi = k}


k∈{1,...,K}

Il reste à choisir la partition A = {A1 , . . . , AM } de X !


Exemple: k plus proches voisins (avec k = 3)
1 2

3 4
Exemple: k plus proches voisins (avec k = 4)
k plus proches voisins

k plus proches voisins


On considère l’ensemble Ix composé des k indices de {1, . . . , n} pour lesquels
les distances ∥x − Xi ∥ sont minimales.
On pose
ĉ(x) = argmax #{i ∈ Ix , Yi = k}.
k∈{1,...,K}

▶ En pratique, il faut choisir la distance


▶ et k !!
Partition

On remarque que Ix appartient à l’ensemble {ϕ1 , . . . , ϕM } des combinaisons de


k éléments parmi n avec ( )
n
M= .
k

On peut donc poser


Am = {x ∈ X , Ix = ϕm }.
k-NN
k-NN
Construction de l’arbre

Approche “top-bottom”

▶ On commence par une région qui contient toutes les données


▶ On coupe récursivement les régions par rapport à une variable et une
valeur de cette variable
Heuristique:

On veut choisir la valeur du “split” de telle sorte que les deux nouvelles régions
sont les plus homogènes possible...

L’homogénéité peut se définir par différents critères

▶ la variance empirique
▶ l’indice de Gini
▶ l’entropie.
Arbre de classification à partir de l’indice de Gini

On coupe une région R en deux parties R− and R+ . Pour chaque variable


j = 1, . . . , p et chaque valeur de “split” t, on définit

R− (j, t) = {x ∈ R : xj < t} et R+ (j, t) = {x ∈ R : xj ≥ t}.

on cherche j et t qui minimisent

Gini(R− ) + Gini(R+ )

where ∑
1
Gini(R) = p̂R,k (1 − p̂R,k )
|{i, Xi ∈ R}|
k∈C

où p̂R,k est la proportion d’observations avec le label k dans l’ensemble des


{i, Xi ∈ R}.
Algorithmes CART, C.4.5

▶ l’algorithme CART utilise l’indice de Gini


▶ l’algorithme C.4.5 (pas implementé dans sklearn) utilise l’entropie

E(R) = − p̂R,k log(p̂R,k )
k∈C

▶ il y a d’autres critères possibles (χ2 , etc)


CART
CART
Règles d’arrêt et algorithmes dérivés

Règles d’arrêt
On arrête l’algorithme quand
▶ l’arbre a atteint une taille maximale (fixée à l’avance)
▶ le nombre de feuilles atteint une valeur maximale (fixée à l’avance)
▶ quand les effectifs des noeuds terminaux atteignent une valeur minimale
(fixée à l’avance)

En pratique
En pratique, ce sont des algorithmes instables et qui sur-apprennent, on les
utilisent dans des algorithmes plus complexes qui “mélangent” des arbres
▶ les forêts alétoires (random forests)
▶ le boosting.
Minimisation de l’erreur, méthodes basées sur l’optimisation
Erreur empirique / erreur de généralisation

On se donne une fonction classifiante déterministe c : Rd ∈ C, on définit L la


loi inconnue des couples (Xi , Yi ) et
Erreur empirique ou erreur visible

1∑
n

Rn (c) = ℓ(Yi , c(Xi )).


n
i=1

Erreur de généralisation
( )
R(c) = EL ℓ(Y+ , c(X+ ))
où (X+ , Y+ ) est un couple indépendant de Dn


▶ En classification, on prend souvent ℓ(y, y ) = 1y̸=y′ , dans ce cas 1 − Rn (c)
est appelé “accuracy” de c.
Fonctions de perte classiques en classification binaire
▶ Logistic loss (régression logistique) ℓ(y, f(x)) = log(1 + exp(−yf(x)))
▶ Hinge loss (SVM), ℓ(y, f(x)) = (1 − yf(x))+
▶ Quadratic hinge loss (SVM), ℓ(y, f(x)) = 12 (1 − yf(x))2+
▶ Huber loss ℓ(y, f(x)) = −4yy′ 1yf(x)<−1 + (1 − yf(x))2+ 1yf(x)≥−1

▶ Toutes ces pertes peuvent être vues comme des approximations convexe de
la perte 0/1 ℓ(y, y′ ) = 1yy′ ≤0
Sur-apprentissage

Comportement de l’erreur
▶ L’erreur d’apprentissage décroît avec la complexité du modèle.
▶ L’erreur de généralisation (sur le test) a un comportement très différent.
Remarques

▶ On a ( )
R(c) = EL Rn (c) .
▶ On voudrait retrouver
c⋆ = argmin R(c)
c

Mais on se restreint le plus souvent à un sous-ensemble G (par exemple les


fonctions constantes sur une partition A)

coracle
G = argmin R(c)
c∈G

puis, comme la loi L est inconnue, on remplace R par Rn

ĉG = argmin Rn (c).


c∈G

On a bien sûr
R(ĉG ) ≥ R(coracle
G ) ≥ R(c⋆ ).
Cross Validation

Cross Validation
▶ On utilise (1 − ϵ)n observations pour apprendre et ϵn pour vérifier !
▶ On entraîne sur un jeu de données de taille (1 − ϵ) × n à la place de n!
▶ Assez instable si ϵn est trop petit

▶ Most classical variations:


▶ Leave One Out,
▶ K-fold cross validation (K = 3, 5, 10).
Ensemble methods
Le boosting : weak learners

Weak learners
▶ Considérons un ensemble de “weak learners” H
▶ Chaque learner h : Rd → {−1, 1} est un learner très simple
▶ Chaque learner simple est à peine meilleur que celui appris avec les Yi
(moyenne)

Exemples de weak learners


▶ Pour la régression : arbres de régression simple de faible profondeur,
modèle linéaire à quelques variables
▶ Pour la classification : arbre de décision simple de faible profondeur,
modèle logistique à quelques variables.
Principe du boosting

Un ”strong learner”
On combine additivement des weak learners

B

g(B) (x) = η (b) h(b) (x)


b=1

avec η (b) ≥ 0 pour espérer en obtenir un meilleur. g(b) est un learner dans le
sens où on Ŷi = g(b) (Xi ).

▶ Chaque b = 1, . . . , B est un pas/itération de boosting


▶ Le boosting fait partie des ensemble methods puisqu’il combine des
learners faibles pour en fabriquer un meilleur.

Pour aller plus loin : voir Schapire 1999 et Friedman 2001


Text mining: comment transformer un texte en un vecteur
numérique ?
Hashing
Hashing

▶ Idée: réduire le nombre de valeurs d’une variable nominale avec des valeurs
dans un grand ensemble D

Hashing
▶ Construction d’une fonction de hashage H: D → {1, . . . , V} et on utilise
les valeurs hashées au lieu des valeurs originales.
▶ La fonction de hashage doit être la plus injective possible..., du moins au
sens probabiliste.

Construire une telle fonction est un art !


Bag of Words
Bag of Words

▶ Comment transformer un texte en vecteur numérique de features ?

La stratégie “Bag of Words strategy”


▶ Créer un dictionnaire de mots,
▶ Calculer un poids pour chaque mot.

Construction d’une liste


▶ Faire une liste de tous les mots avec le nombre d’occurrence
▶ Réunir les mots qui ont la même racine (stemming)
▶ Hash les racines avec une fonction de hashage (MurmurHash avec 32bits
par exemple)
▶ Calculer l’histogramme hw (d)
TD-IDF

Calcul des poids


▶ Calculer l’histogramme hw (d)
▶ Re-normaliser :
▶ tf transformation (profil du mot):

tfw (d) = ∑hw (d)


w
hw (d)
de telle sorte que tfw (d) est la fréquence dans le document d.
▶ tf-idf transformation (profil du mot re-pondéré par sa rareté):
tf − idfw (d) = idfw × tfw (d)
avec idf un poids dépendant du corpus
n
idfw = log ∑n
1
i=1 hw (di )̸=0

▶ Utiliser le vecteur tf(d) (or tf − idf(d)) pour décrire un document.


▶ C’est le pré-processing le plus classique en textmining.
Clustering de textes

Probabilistic latent semantic analysis (PLSA)


▶ Modèle:


K

P (tf) = P (k) P (tf|k)


k=1

avec k le thème caché, P (k) la probabilité du thème et P (tf|k) une loi


multinomiale pour le thème.
▶ Clustering avec un modèle de mélange

P[ (k)P\ (tf|k)
P (k|tf) = ∑
\ \′
′ P (k )P (tf|k )

k

▶ Modèle de mélange
▶ Il existe une variante bayésienne appelée Latent Dirichlet Allocation.
Mots et Word Vectors
Word Vectors

Word Embedding
▶ On construit une représentation des mots dans Rd .
▶ en espérant que la relation entre 2 vecteurs est liée à la relation entre les 2
mots dont ils sont issus.
Word And Context
Look ! A single word and its context
Le mot et son contexte
▶ Idée: caractériser un mot w par son contexte c...
▶ Description probabiliste:
▶ Loi jointe : f(w, c) = P (w, c)
▶ Lois conditionnelles: f(w, c) = P (w|c) or f(w, c) = P (c|w).
▶ Information mutuelle : f(w, c) = P (w, c) /(P (w) P (c))
▶ Le mot w est caractérisé par le vecteur Cw = (f(w, c))c ou
Cw = (log f(w, c))c .

▶ En pratique, on estime C sur un large corpus


▶ Attention : c’est un modèle de très grande dimension !

▶ GloVe (Global Vectors) via les moindres carrés


▶ Word2vec via la régression logistique
▶ Singular value decomposition

Vous aimerez peut-être aussi