Vous êtes sur la page 1sur 43

TI608-Introduction à l’apprentissage machine

Apprentissage non supervisée


Faten CHAKCHOUK
faten.chakchouk@efrei.fr

TI608 – Electif
Plan

Réduction de dimensionnalité (PCA)

Apprentissage non supervisé :


Clustering (partitionnement)
Algorithme K-moyennes

2
Rappel –
Apprentissage supervisée

Apprentissage non supervisée

Machine learning onramp : résumer ..

3
Réduction de dimensionnalité
Qu’est ce que c’est ?

4
Réduction de dimensionnalité
A quoi ça peut servir?
1. Compression de données (avec perte)
2. Visualisation des données en 2D ou 3D
3. Extraction de caractéristiques :
Fondamentales, explicatives, compactes, …
Prétraitement => meilleure représentation de
départ pour un autre algorithme (classification ou
régression).

5
Réduction de dimensionnalité
Algorithmes
Modèles linéaires Gaussiens
• L’Analyse en Composantes Principales (ACP ou
PCA) traditionnelle
• L’ACP probabiliste
• L’analyse de facteurs (factor analysis)

Modèles non linéaires ou non Gaussiens


• L’ACP à Noyau (Kernel PCA)
• L’Analyse en Composantes Indépendantes (ICA)
• Réseaux de neurones auto-associateurs
• Modélisation de variétés (manifold) non-linéaires

6
Réduction de dimensionnalité
ACP Classique
• L’ACP trouve un sous-espace linéaire qui passe proche
des données : projection orthogonale de x ∈ RD sur un
sous espace linéaire de plus faible dimension M.
• Les composantes z représentent les coordonnées de la
projection de x dans ce sous-espace de dimension M.
• Très utilisé comme pré-traitement (extraction de
caractéristiques) ou pour la visualisation.
• Un vieil algorithme classique, 2 formulations
équivalentes :
minimisation de l’erreur de reconstruction (Pearson 1901)
maximisation de la variance (Hotelling 1933).

7
Réduction de dimensionnalité
ACP Classique
On cherche les directions principales u: une base orthonormale du
sous-espace sur lesquelles projeter les x
• Minimum d’erreur :
on minimise la moyenne des distances
carrées entre les x et leur projection
(lignes bleues).

• Maximum de variance :
on maximise la variance le long de la
direction de projection (variance des
blue lines points verts)
Trouver une nouvelle base orthonormée dans laquelle représenter
nos données, telle que la variance des données selon ces nouveaux
axes soit maximisée.
8
Réduction de dimensionnalité
ACP Classique : maximisation de variance

La variance des données selon l'axe orange est grande

Si on projette les points sur cet axe : ils auront


tous des coordonnées différentes

Axe orangé (unique dimension) : réduire la dimension des données de


(de 2 à 1)
- les points peuvent être distingues les uns des autres.

9
Réduction de dimensionnalité
ACP Classique : maximisation de variance
Supposons que nous ayons p variables : chaque observation est représentée par un
vecteur dans ℝp , et nous avons n observations rassemblées dans une matrice x ∈ ℝp×n .

Cherchons une nouvelle direction, un vecteur u1∈ℝp , de norme 1, tel que la


variance de nos données projetées sur cette direction soit maximale. La
projection des données x sur U est z1=u1⊤x .

Hypothèse : x est centrée, c'est-à-dire que la moyenne de ses colonnes est


0. (utiliser la transformation X̃ =x−μ où μ moyenne si ce n’est pas le
cas)
La variance de u1⊤x = 𝔼[(u1⊤x −𝔼[u1⊤x])2] = u1⊤ 𝔼[xx⊤]u1. ( car 𝔼[x]=0),
S = xx⊤ : la matrice de taille p×p. Matrice de covariance des données et une
estimation de 𝔼[xx⊤].
Objectif : u1 ? tel que :
• u1⊤ S u1 est maximale
•|| u1||=1
10
Réduction de dimensionnalité
ACP Classique : maximisation de variance

11
Réduction de dimensionnalité
ACP Classique : maximisation de variance

• Une fois trouvée la première direction principale, on


peut trouver incrémentalement la 2ème et ainsi de
suite, en se restreignant aux directions orthogonales à
toutes les précédentes.

• La formulation par minimisation d’erreur donne les


mêmes directions principales.

12
Réduction de dimensionnalité
ACP Classique : maximisation de variance

• La base orthonormale U qu’on obtient est constituée des M


premiers vecteurs propres de la matrice de covariance
empirique (ceux correspondant aux M plus grandes valeurs
propres).
• Le prétraitement par ACP, permet d’obtenir des composantes
“normalisées” c.a.d. décoréllées et de variance unitaire :

Possibilité de projeter sur les directions principales pour


des fins de visualisation 2D ou 3D.
13
Réduction de dimensionnalité
ACP Classique : Exemple avec matlab

▷ Aller à la formation Machine learning with Matlab

https://matlabacademy.mathworks.com

▷ Section 1.2 : à faire à la maison ( rappel sur ML onramp)

14
Apprentissage non supervisé
Clustering ou partionnement
2.1 Course Example - Grouping Basketball Players
▷ Objectif : Identifier des groupes
(cf. video)
d’observations ayant des caractéristiques
similaires (ex. comportement d’achats de
clients, caractère «polluant» de véhicules,
etc.)
▷ On veut que :
(1) Les individus dans un même groupe se
ressemblent le plus possible
(2) Les individus dans des groupes différents
se démarquent le plus possible
▷ Pourquoi ?
▷ Identifier des structures sous-jacentes
dans les données
▷ Résumer des comportements
▷ Affecter de nouveaux individus à des
catégories
Objectif de l’étude : Identifier les catégories des joueurs
de basket (groupes) « similaires » (qui se ressemblent au ▷ Identifier les cas totalement atypiques
regard de leurs propriétés) 15
Apprentissage non supervisé
Clustering ou partionnement : Illustration
▷ L’algorithme de partionnement automatique vise à déterminer les
groupes « naturels » c.-à-d. qui se démarquent significativement les
uns des autres.

Combien de groupes ?
Délimitation de ces groupes ? 16
Clustering ou partionnement
Caractérisation de la partition: Inertie intra-classes W

Relation fondamentale (Théorème d’Huygens)


Inertie Totale = Inertie Inter-classe + Inertie Intra-classe

Dispersion des barycentres Dispersion à l’intérieur de


conditionnels autour du chaque groupe. Indicateur
barycentre global. de compacité des classes.
Indicateur de séparabilité (W)
des classes. (B)

d() : mesure de distance caractérisant les proximités entre les individus. Ex. distance euclidienne
ou euclidienne pondérée par l’inverse de la variance (attention aux points aberrants)
où K est le nombre de clusters, nk le nombre d'individus dans le cluster k , et Gk le centre de
gravité du cluster k
17
Clustering ou partionnement
Caractérisation de la partition: Inertie intra-classes W
Une bonne partition doit vérifier :
1) Les individus dans un même groupe (cluster) se ressemblent le plus possible
: deux points qui sont proches devraient appartenir au même groupe.
(inertie intraclasse faible)
2) Les individus dans des groupes différents se démarquent le plus possible :
deux points qui sont proches devraient appartenir au même groupe inertie
interclasse forte.

Théorème de Huygens : Quelle que soit la partition, l'inertie totale est


constante.
Minimiser l'inertie intraclasse est donc équivalent à maximiser
l'inertie interclasse.

L’objectif de la classification automatique serait de minimiser


l’inertie intra-classes W, à nombre de classes K fixé.
18
Clustering ou partionnement
Vocabulaire

▷ Partitionnement et clustering sont synonymes.


▷ les groupes recherchés sont souvent appelés des classes.

▷ Quand tous les individus sont affectés à l'un des groupes, on a


une partition.

▷ Inertie intra-classe = appelée aussi variance intraclasse ou variation


intraclasse.
Clustering
Algorithme K-moyennes : Méthode des centres mobiles
▷ Algorithme de Lloyd (1957), Forgy (1965), MacQueen (1967)

Source : R.RAKOTOMALALA, slides cours Univ. Lyon 2 20


Clustering
Algorithme K-moyennes : Méthode des centres mobiles

Source : Lebart et al., 1995 ; page 149.

21
Clustering
Algorithme K-moyennes : Méthode des centres mobiles

K=2 choisir deux objets comme


centre

22
Clustering
Algorithme K-moyennes : Méthode des centres mobiles
Avantages Inconvénients
Scalabilité Lenteur dûe à la nécessité de faire passer
plusieurs fois les observations.
Capacité à traiter les très
grandes bases. Seuls les Nombre de classe à fournir à l’algorithme
vecteurs des moyennes sont à L’optimisation aboutit à un minimum local de
conserver en mémoire l’inertie intra-classes W.
centrale. La solution dépend du choix initial des centres
de classes :
Complexité linéaire
Essayer plusieurs configurations de
par rapport au nombre
départ et choisir celle qui aboutit à une
d’observations (pas de calcul solution minimisant W.
des distances deux à deux des
La solution peut dépendre de l’ordre des
individus). individus (MacQueen) :
Mélanger aléatoirement les individus
avant de les faire passer pour ne pas être
dépendant d’une organisation non
maîtrisée des observations. 23
Clustering
K-means : Exemple avec matlab

▷ Aller à la formation Machine learning with Matlab

https://matlabacademy.mathworks.com

▷ Section 1.2 : à faire à la maison ( rappel sur ML onramp)

24
Clustering
Notion de proximité : Distances et similarités
Clustering : Regrouper ensemble les observations (points) les plus proches, ou
les plus semblables
Comment déterminer a quel point deux observations sont proches et deux
clusters sont proches ?
La qualité d’un regroupement dépend donc de la mesure de similarité utilisée
par la méthode et de son implémentation

Pb : les groupes peuvent être assez bien définis et séparés, ou au contraire


imbriqués/sans fontières claires, et de formes quelconques

25
Clustering
Notion de proximité : Distances et similarités
Distance : une fonction d : ℝp→ℝ+, qui vérifie les trois propriétés :
o d(x,x)=0 (réflexivité)
o d(u,v)=d(v,u) (symétrie)
o d(u,v) ≤ d(u,x)+d(x,v) (inégalité triangulaire).

Exemples
o distance euclidienne :

o distance de Manhattan :

o distance de Sebestyen :
o ….

26
Clustering
Algorithme K-moyennes : Méthode des centres mobiles
Exercice 1

27
Clustering
Algorithme K-moyennes : Méthode des centres mobiles
Exercice 2
1/ Ecrire une fonction matlab qui permet de calculer l’inertie Intraclasse

function Intra = intraclass(X,k,Start)

[g,~,~, D] = kmeans(X,k,"Start",Start);
Intra =0 ;
for i = 1: size(D,1)
Intra = Intra+ D(i,g(i));
end

end

2/ Afficher l’évolution de l’inertie ( après l’exécution de K-means)


3/ Test de convergence : Algorithme ?

28
Clustering
Exercice 2 : Kmeans
On souhaite regrouper les 8 exemples suivants en 3 clusters et on considère
comme centres de classes à l’initialisation les points A1, A4 et A7:
A1(2,10), A2(2,5), A3(8,4), A4(5,8), A5(7,5), A6(6,4), A7(1,2), A8(4,9).
La matrice de distance basée sur la distance euclidienne est fournie ci-dessous :

29
Clustering
Exercice 2 : Kmeans
A1 ->cluster 1 A1 ->cluster 1
A2->cluster 3 A2->cluster 3
A3, A4->cluster 2 A3, A4->cluster 2
A5,A6->cluster 2 A5,A6->cluster 2
A7->cluster 3 A7->cluster 3
A8->cluster2 A8->cluster1

Cluster 1: B1=(2,10) Cluster 1: B1=(3,9.5)


Cluster 2: (A4, A3, A5, A6, A8)=(6,6)=B2 Cluster 2: B2=(6.5,5.25)
Cluster 3: (A2,A7)=B3=(1.5,3.5) Cluster 3: B3=(1.5,3.5)

A1 ->cluster 1 A1 ->cluster 1
A2->cluster 3 A2->cluster 3
A3_>cluster 2 A3_>cluster 2
A4->cluster 1 A4->cluster 1
A5,A6->cluster 2 A5,A6->cluster 2
A7->cluster 3 A7->cluster 3
A8->cluster1 A8->cluster1

Cluster 1: B1=(3.6,9) Cluster 1: B1=(3.6,9)


Cluster 2: B2=(7,4.3) Cluster 2: B2=(7,4.3)
Cluster 3: B3=(1.5,3.5) Cluster 3: B3=(1.5,3.5)
30
Clustering
Partitionnement hiérarchique
Cré er une dé composition hié rarchique des objets
selon certains critè res

! Regroupement Hiérarchique Ascendant (Agglomerative


Hierarchical Clustering) CHA

! Principe: chaque point ou cluster est progressivement


"absorbé« par le cluster le plus proche.
Clustering
Partitionnement hiérarchique CHA
Algorithme
● Initialisation :
q Chaque individu est placé dans son propre cluster
q Calcul de la matrice de ressemblance M entre chaque couple
de clusters (ici les points)
● Répéter
q Sélection dans M des deux clusters les plus proches Ci et Cj
q Fusion de Ci et Cj par un cluster Cg plus général
q Mise à jour de M en calculant la ressemblance entre Cg et les
clusters existants
Jusqu'à la fusion des 2 derniers clusters
Clustering
Partitionnement hiérarchique CHA
Clustering
Partitionnement hiérarchique CHA
● Problème = trouver la distance entre clusters la plus proche de la métrique
utilisée pour les individus.

● Saut minimal (single linkage) basé sur la distance Dmin(C1, C2)


Tendance à produire des classes générales
● Saut maximal (complete linkage) basé sur la distance Dmax(C1, C2)
Tendance à produire des classes spécifiques

● Saut moyen basé sur la distance Dmoy(C1, C2)


Tendance à produire des classes de variance proche

● Barycentre basé sur la distance Dcg(C1, C2)


Bonne résistance au bruit
Clustering
Partitionnement hiérarchique CHA
Clustering
Partitionnement hiérarchique CHA
Exercice

On souhaite progressivement regrouper les 5 exemples suivants en utilisant


l’algorithme agglomérative CHA et la métrique de distance euclidienne
minimale :
M1(2,0), M2(0,1), M3(0,2), M4(3,4) et M5(5,4)

1. Présentez les étapes de cet algorithme tout en détaillant les calculs effectués.
2. Présentez le dendrogramme correspondant au résultat obtenu
Clustering
Partitionnement hiérarchique CHA
Exercice
On souhaite progressivement regrouper les 5 exemples suivants en utilisant
l’algorithme agglomérative CHA et la métrique de distance euclidienne
minimale :
M1(2,0), M2(0,1), M3(0,2), M4(3,4) et M5(5,4)

1. Présentez les étapes de cet algorithme tout en détaillant les calculs effectués.
2. Présentez le dendrogramme correspondant au résultat obtenu

d2 C1={M1} C2={M2} C3={M3} C4={M4} C5={M5}

C1 0 5 8 17 25
C2 0 1 18 34
C3 0 13 31
C4 0 4
C5 0
Clustering
Partitionnement hiérarchique CHA
Etape 1

C1 C2 C3 C4 C5

d2 C1={M1} C2={M2} C3={M3} C4={M4} C5={M5}

C1 0 5 8 17 25
C2 0 1 18 34
C3 0 13 31
C4 0 4
C5 0
Clustering
Partitionnement hiérarchique CHA
Etape 2

C1 C2 C3 C4 C5

M4 M5 d2 C1={M1} C2={M2, C3={M3} C4={M4} C5={M5}


M3}
C1 0 5 8 17 25
C2 0 1 13 31
M3
C3 0 13 31
M2
C4 0 4
C5 0
M1
CHA et Matlab
Step 1 – Determine Hierarchical Structure

Finding the hierarchical structure involves calculating the distance between each pair of points and then using
these distances to link together pairs of “neighboring” points.

Use the dendrogram function to visualize the hierarchy.


CHA et Matlab

Step 2 – Divide Hierarchical Tree into Clusters

You can use the cluster function to assign observations into groups, according to the linkage distances Z.
IRIS Data set (matlab)

Mesures :
load fisheriris
la largeur des sépales
la longueur des sépales
la largeur des pétales
la longueur des pétales
Tumor brain detec7on

Image CT

Vous aimerez peut-être aussi