0% ont trouvé ce document utile (0 vote)
4 vues3 pages

Introduction à la Classification en ML

Ce document présente un TP sur les techniques de classification en apprentissage supervisé, en mettant l'accent sur la comparaison des algorithmes traditionnels et des fonctions de perte. Il décrit plusieurs fonctions de perte, notamment la perte 0/1, Hinge, quadratique et logistique, ainsi que des méthodes de lissage pour la perte Hinge. Le TP inclut également des algorithmes de classification comme SGD accéléré et K-plus proches voisins, avec des exercices pratiques pour implémenter et évaluer ces méthodes sur des jeux de données.

Transféré par

elhilaliilham0614
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)
4 vues3 pages

Introduction à la Classification en ML

Ce document présente un TP sur les techniques de classification en apprentissage supervisé, en mettant l'accent sur la comparaison des algorithmes traditionnels et des fonctions de perte. Il décrit plusieurs fonctions de perte, notamment la perte 0/1, Hinge, quadratique et logistique, ainsi que des méthodes de lissage pour la perte Hinge. Le TP inclut également des algorithmes de classification comme SGD accéléré et K-plus proches voisins, avec des exercices pratiques pour implémenter et évaluer ces méthodes sur des jeux de données.

Transféré par

elhilaliilham0614
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

Machine learning ENSAK

IID 2 Automne 2023-2024

TP ◦ 3

Le but de ce TP est de vous initier aux techniques de classification. De plus, mené une comparaison des algorithmes traditionnels.
Rappel
Comme la régression, la classification en apprentissage supervisé consiste à minimiser le risque empirique. Contrairement à
la regrssion, dans la classification l’espace de sortie Y est sous ensemble de N. Il existe de nombreuses fonctions de perte pour le
problème de classification. Dans ce TP nous allons voir certains exemples célèbres.
1−yf (x)
1. Perte 0/1: ℓ(y, f (x)) = 2
, y ∈ {−1, 1}.
2. fonction de perte Hinge: ℓ(y, f (x)) = max(0, 1 − yf (x)), y ∈ {−1, 1}.
3. Perte quadratique : ℓ(y, f (x)) = (1 − yf (x))2 , y ∈ {−1, 1}.
4. Perte logistique, ou logistic loss : ℓ(y, f (x)) = log(1 + exp(−yf (x)), y ∈ {−1, 1}.
Étant donné que la perte de charnière n’est pas lisse, elle est généralement remplacée par une fonction lisse. L’une d’entre elles est
la perte de charnière au carré
l(ν) = max(0, 1 − ν)2 (1)
où ν = 1 − yf (x). C’est convexe, quadratique par morceaux et différentiable.
Une autre méthode consiste à remplacer la perte de charnière au carré par son approximation lisse

l(ν) = (1 − ν) + η ln(1 + e−1−ν ). (2)

Une troisième approche consiste à remplacer la Perte de charnière par:



0
 si ν ≥ 1
l(ν) = 1 − ν si ν < 1− (3)

(1 − ν)2 sinon
1
2

Une quatrième technique de lissage est présenté par


 
1−ν
Kh (ν) = (1 − ν)H (4)
h

où h est une largeur de bande et H(·) est la fonction lisse définie par :

0
 si ν ≤ −1
H(ν) = 21 + 15 ν − 32 ν 3 + 51 ν 5

16
si − 1 < ν < 1

1 sinon

Une 5eme technique consiste à remplacer hinge loss par


p
Λγ,ξ (y, f x) = 1 − yf (x) + ξγ 2 + (1 − yf (x))2 (5)

Jeux de données synthétique :

%% data generation
NN1 = 120; NN2 = 50; % Class sizes
N1 = 100; N2 = 30; % trianing Class sizes
c1=randn(NN1,2);
c2=randn(NN2,2)+3;
x0=[c1;c2];
x = [c1(1:N1,:);c2(1:N2,:)];
t = [repmat(0,N1,1);repmat(1,N2,1)];
N = size(x,1);

1 Problème de classification avec le méthode du gradient


1. En utilisant la méthode de noyaux reproduisant (nouyau Gaussien ) implèmenter la méthode de classification.
2. Comparer les différentes fonction de perte. en particulier pour le fonction Hinge qui n’est pas lisse comparer les différentes
techniques de lissage proposés.
3. Implémenter et comparer les algorthmes suivants en utilisant la fonction de perte lisse (5) appliqués sur les données d’assurance
ci-joint.
Algorithm 1: Accelerated SGD algorithm
input : n, ε, α0 , v0 = α0
output: α∗
For k ≥ 0 do
(i) Compute

1 √ 1 λ
ν= , βk = 1 − λν, δk = √ , b1+k = √ 1+k
µ λν (1 − λν) 2
1
a1+k = √ 1+k
,
(1 − λν) 2
Set
δk βk b2k+1 ν
σk = ,
δk βk b2k+1 ν + a2k+1
ωk = σk vk + (1 − σk )αk ,
(ii) Select randomly ik ∈ {1, . . . , n} and then update
i
αk+1 = ωk − ν∇Jγ,ξ
k
(ωk )
i
vk+1 = βk vk + (1 − βk )ωk − δk ν∇Jγ,ξ
k
(ωk ).
Set k = k + 1
While no convergence

Algorithm 2: Batch-DG algorithm with optimal learning rate


input : n, ε, h0 > 0, α0 , ξ, γ > 0,
output: α∗
For k ≥ 0 do
(i) Compute dk = ∇Jγ,ξ (αk ),
(ii) update
αk+1 = αk − hk ∇Jγ,ξ (ωk )
Γk = ([KKT + λIn )dk ]T dk
n dTk dk
hk = .
2 Γk
Set k = k + 1
While (∥dk ∥ ≥ ε)

While the mini-batch Adam algorithm is summarized as follows.


Algorithm 3: Mini-batch-Adam algorithm
input : n, ε, υ > 0, Batch Size h0 > 0, α0 , ξ, γ > 0, β1 = 0.9, β2 = 0.999, m0 = α0 , v0 = α0 ,
output: α∗
num batch = [ Batchn Size ], For k ≥ 1 do Define Ip a random permutation of the list {1, . . . , n}
(i) For j ∈ {0, . . . , num batch}
Si = j ∗ batch Size + 1 Sl = Si + batch Size − 1 Ij = Ip (Si : Sl )
Ip
Compute Gk := ∇Jγ,ξ (αk )
(ii) update
mk = β1 mk−1 + (1 − β1 )Gk
vk = β2 vk−1 + (1 − β2 )G2k
mk
m̂k =
1 − β1k
vk
v̂ =
1 − β2k

αk+1 = αk − h √ .
v+υ
Set k = k + 1
While no convergence

2 Principe de k-plus proche voisin


C’est une approche simple et directe. Elle ne nécessite pas d’apprentissage mais simplement le stockage des données d’apprentissage.
Son principe est le suivant:
Une donnée de classe inconnue est comparée à toutes les données stockées. On choisit pour la nouvelle donnée la classe
majoritaire parmi ses K plus proches voisins (Elle peut donc être lourde pour des grandes bases de données) au sens d’une distance
choisie.

3 Besoin d’une distance


Afin de trouver les K plus proches d’une donnée à classer, on peut choisir la distance euclidienne. Soient deux données représentées
par deux vecteurs xi et xj , la distance entre ces deux données est donnée par

d
! 21
X
d(xi , xj ) = (xil − xjl )2 .
l=1

4 Questions
1. Implémenter en Matlab, l’algorithme des K-plus proches voisins pour prédire les classes de nouvelles données à partir de
données étiquetées (données d’apprentissage). On commencera par le 1-ppv. L’algorithme 1nn est donné par le pseudo-code
1 ci-après.

2. Modifier votre code pour tester et comparer la classification sur différentes valeures de K = [1, 2, 5, 10, 20, 50, 59];
3. Donner la visualisation des résultats de comparaison pour chaque K.
4. Valider les résultats sur la base ”iris dataset” déjà dans matlab.
5. Modifier la distance comme suit
d
X
d(xi , xj ) = |xil − xjl |,
l=1

Puis commenter les résultats.


6. Même question que précidente avec
d
! p1
X
d(xi , xj ) = (xil − xjl )p .
l=1

avec p ̸= 1, 2

Vous aimerez peut-être aussi