Vous êtes sur la page 1sur 57

Exposé de Machine

Learning
Thème: Les Algorithmes KMEANS et SVM
LSI3: 2022-2023
Professeur: Mr Mounir Zrigui

1
Présenté par:
• Houssem Eltaief
• Hamza Ben Messaoued
• Oussama Amamou
• Omar Titouhi
• Mohamed Yacine Abich
• Mohamed Ben Aicha

2
Chronologie
1

3
Rappel

01 4
- Le machine learning n’a commencé à croitre qu’a partir des
années 90 suite a la croissance exponentielles des données d’ou
la naissance du terme BIG DATA.
- machine learning est une sous filière de l’intelligence artificiel
qui permet les applications software de prédire précisément les
sorties sans ètre programmés a le faire.
- Le système apprend et augmente ses connaissances par lui
meme sans être explicitement programmé tout ça en
modélisant les données .

5
- il existe 3 types d’apprentissages:
- L’apprentissage supervisé ou on fournit au modèle
des données annotés afin de résoudre les problèmes
de classification et de régression.
- L’apprentissage non supervisé est une technique de
modélisation qui consiste à fournir au modèle un
dataset non annoté.On l’utilise pour résoudre des
problèmes de clustering.
- L’apprentissage par renforcement, est un mode
d’apprentissage statistique, inspiré de l’apprentissage
humain et animal. L’agent est placé dans un
environnement où il doit évoluer. A chaque bonne
action, il gagne une récompense, sinon on le
sanctionne.

6
Clustering

02 7
Introduction:
- Il s'agit essentiellement d'une méthode
d’apprentissage non supervisée
- Le clustering consiste à diviser les données
en un certain nombre de groupes (clusters)
tout en minimisant la dissimilarité des points
dans un même groupe.
Exemple:
- Les points des données quasi similaire
peuvent être classés dans un cluster.

8
Variabilité(c) = ∑distance(moyenne(c),e)²
dissimilarité ( C ) = ∑variabilité(c)
c=un cluster
C=ensemble de tous les clusters
e= element d’un cluster

9
Est ce que l’objectif de clustering est de minimiser
la dissimilarité au sein de chaque groupe?

On veut minimiser la dissimilarité on peut considérer chaque


point un cluster et dans ce cas on obtient une dissimilarité égale
a 0 mais ce n’est pas bien sûr ce qu’on veut atteindre .

10
Que doit-on donc faire ?
• On peut appliquer une contrainte . On peut par exemple
limiter le nombre des clusters maximale. On ne peut pas
donc dépasser ce nombre de clusters et on cherche a
trouver un groupement des points avec le minimum de
dissimilarité entre les points d’un même cluster.
• On peut citer deux implémentations de la méthode de
clustering :
o Le clustering hiérarchique ( Hierarchical
clustering en anglais).
o K-means.

11
Clustering hiérarchique

02-01 12
Définition
• Le clustering hiérarchique est une méthode d'analyse de cluster qui cherche à construire une
hiérarchie de clusters.
• Les stratégies de clustering hiérarchique se répartissent généralement en deux catégories :
o Clustering agglomératif:
On traite chaque point comme un cluster singleton au départ, puis fusionnent (ou agglomèrent )
successivement des paires de clusters jusqu'à ce que tous les clusters aient été fusionnés en un seul cluster.

13
o Clustering de division:
C’est totalement l’inverse du clustering agglomératif. Dans le clustering hiérarchique par
division, tous les points de données sont considérés comme un cluster individuel et, à chaque itération,
les points de données qui ne sont pas similaires sont séparés du cluster.

14
Algorithme de clustering Agglomératif

1. Commencez par affecter chaque élément à un cluster, de sorte que si vous avez N éléments, vous avez
maintenant N clusters, chacun contenant un seul élément.
2. Trouvez la paire de clusters la plus proche (la plus similaire) et fusionnez-les en un seul cluster, de sorte
que vous ayez maintenant un cluster de moins.
Métriques de liaison:
• Liaison simple:
On considère la distance entre un cluster et un autre cluster égal au plus court distance entre
n'importe quel membre d'un cluster et n'importe quel membre de l'autre cluster.
• Liaison complète:
On considère la distance entre un cluster et un autre cluster égal au plus grand distance
entre n'importe quel membre d'un cluster et n'importe quel membre de l'autre cluster.
• Liaison moyenne:
On considère la distance entre un cluster et un autre cluster égal à la moyenne de la
distance entre un cluster et un autre.

15
3. Continuez le processus jusqu'à ce que tous les éléments soient regroupés
en un seul cluster de taille N ?
il faut arrêter l’algorithme quelque part en cours de route. On produit donc ce qu’on appelle
"Dendrogramme" ( un diagramme qui représente un arbre) qui a chaque étape il vous montre ce
que vous avez fusionné).

Remarque :
- Pour le clustering de division il suffit de faire l’inverse de l’algorithme précédent.

16
Exemple pour le clustering hiérarchique Agglomératif
BOS NY CHI DEN SF SEA {BOS} {NY} {CHI} {DEN} {SF} {SEA}
BOS 0 206 963 1949 3095 2979 {BOS, NY} {CHI} {DEN} {SF} {SEA}
{BOS, NY, CHI} {DEN} {SF} {SEA}
NY 0 802 1771 2934 2815
{BOS, NY, CHI} {DEN} {SF, SEA}
CHI 0 966 2142 2013
Single linkage:
DEN 0 1235 1307 {BOS, NY, CHI, DEN} {SF, SEA}
OR Complete linkage :
SF 0 808 {BOS, NY, CHI} {DEN, SF, SEA}
SEA 0

17
Clustering Hiérarchique:
Inconvénients:
• Déterministe ( car on suivant le même critère de liaison on obtient toujours la même
réponse).
• On n’obtient pas nécessairement une solution optimale car c’est un algorithme
glouton qui sélectionne la meilleure option disponible à l'instant, sans se soucier du
résultat futur et donc il ne trouve pas nécessairement une solution qui est
globalement optimale.
• Lent si on dispose d’un grand nombre de points.
• Cet algorithme naïf est N cubique mais nous pouvons diminuer sa complexité a N
carré avec certains critères de liaison comme la liaison simple.

18
Clustering Hiérarchique:

Avantages:
• Flexible puisque on obtient de résultats différentes si on change la métrique de
liaison.
• Cet algorithme semble bon car on obtient tout l’historique de dendrogramme
(chaque action de fusion ou séparation est enregistrée sur le dendrogramme).

19
KMEANS

02-02 20
Définition
• K-Means est un algorithme glouton mais beaucoup plus rapide que le clustering
hiérarchique.
• K signifie le nombre de cluster qu’on veut obtenir.
• Il faut connaître combien de cluster on veut obtenir sinon on ne peut pas appliquer
cet algorithme.

21
Algorithme
1- Choisir au hasard k exemples comme centroïdes initiaux.
2- Répéter:
2-1- Créer k clusters en attribuant à chacun exemple au centroïde le plus proche.
2-2- Calculer k nouveaux centroïdes en faisant la moyenne exemples dans chaque cluster.
3- Fin si les centroïdes ne changent pas.

22
23
24
25
26
27
28
29
Qu'est-ce que la complexité d'une itération ?

k*n*d, où n est le nombre de points et d le temps requis pour calculer la distance entre deux
points.

ce nombre peut paraître énorme mais cette complexité est beaucoup plus petite que celle
de clustering hiérarchique en plus cet algorithme converge rapidement donc on a besoin le
plupart de temps d’un petit nombre d’itérations.

30
Comment choisir le nombre de cluster? (K)

On applique la méthode du coude en exécutant le clustering k-means sur l'ensemble


de données pour une plage de valeurs pour k (disons de 1 à 10), puis pour chaque
valeur de k on calcule la plus longue distance entre deux points d’un même cluster:
• Exemple de 1 a 6 cluster :

31
• On dessine cette courbe:

On déduit a partir de courbe que le K optimal est 4 .

32
Classification et régression
(SVM)

03 33
Introduction
• les machine a vecteurs de support,(ou support vector machine
"svm")sont des modèles de machine learning supervises ce
algorithme a été inventé par Vladimir vapnik && Alexey
Chervonenkis en 1963 centrés sur la résolution des problèmes
de classification et de régression mathématiques

34
c'est quoi les problèmes de classification et de régression?

• Classification:
o La classification est un exemple de reconnaissance de forme on veut prédire une
variable discrète. Dans la terminologie de l'apprentissage automatique on peut se
séparer en deux catégories:
la classification binaire: (par exemple :dire si une image représente une girafe ou non)
classification multi-class: (par exemple :prédire la probabilité d'une image d‘être
couvert ou pluvieux ...)
• Régression:
oAvec la régression, on voudrait prédire la valeur d’une variable continue (c.-à-d. un
nombre infini de valeurs possibles). C’est un problème de prédiction (par exemple:
prédiction de la météo )

35
Types de SVM

03-01 36
• Il existe 2 types essentiels de SVM:

SVM linéaire SVM non linéaire

37
Domaines d’application de SVM

38
Comment fonctionne le SVM?

1-Commencez avec les données dans des dimensions relativement faibles et


vérifiez si elles peuvent être séparées en différentes classes.

2-Si ce n'est pas le cas, déplacez les données dans une dimension supérieure.

3-Trouvez le meilleur hyperplan qui sépare les données de dimension


supérieure en classes.

39
Méthodes de SVM
Classifieur à marge maximale

Classifieur à marge souple

Méthode de noyaux (kernel)

40
Classifieur a marge maximale (SVM linéaire)

03-01-01 41
Définition
• Le classifieur à marge maximale est un classifieur hypothétique (Fondé sur une hypothèse) qui
explique le mieux comment fonctionne SVM dans la pratique.
• Les n variables numériques dans vos données (les colonnes) forment un Espace à n
dimensions :
o Par exemple, si vous aviez deux variables d'entrée, cela formerait un
Espace à deux dimensions.
o Un hyperplan est une ligne qui divise l'espace des variables d'entrée.
o Dans SVM, un hyperplan est sélectionné pour séparer, au mieux, les
Points dans l'espace des variables par leur classe, classe 0 ou classe 1.

42
43
Exemple
B0 + (B1 × X1) + (B2 × X2) = 0 :
• les coefficients (B1 et B2) qui Déterminent la
pente de la droite et L’interception (B0) sont
trouvés par L’algorithme d'apprentissage.
• X1 et X2 sont les deux variables D’entrée.
• Vous pouvez faire des Classifications en utilisant
cette Ligne. En insérant des valeurs D’entrée dans
l'équation de la ligne, Vous pouvez calculer si un
nouveau Point est au-dessus ou en dessous De la
ligne.

Pour une meilleure performance de la classification, la « Frontières de Séparation » doit


être aussi éloignée que possible des données de chaque classe.

44
o La distance entre la ligne et les points de Données les plus proches est appelée Marge.
o La meilleure droite ou la droite Optimale (l’hyperplan optimal, en général) Qui peut séparer les
deux classes est la Droite (l’hyperplan) qui a la plus grande Marge.
o C'est ce qu'on appelle l'hyperplan à marge maximal.

o La marge est calculée comme la distance


Perpendiculaire de la droite aux seul
Points les plus proches.
o Seuls ces points sont pertinents dans
La définition de la ligne et dans la
Construction du classifieur.
o Ces points sont appelés vecteurs Supports.
Ils soutiennent ou définissent L’hyperplan.
o L'hyperplan est appris à partir des Données
d'apprentissage à l'aide d'une
Procédure d'optimisation qui maximise
la marge.

45
Classifieur à marge souple

03-01-02 46
Définition
• En pratique, les données réelles sont désordonnées et ne
peuvent pas être parfaitement séparées avec un hyperplan
(c’est à dire ne sont pas linéairement séparable; les deux
classes ne sont pas séparables par une droite).
• La contrainte de maximiser la marge de la ligne qui sépare
les classes doit être assouplie. C'est ce qu'on appelle
souvent le classifieur à marge souple

47
Fonctionnement
Le classifieur SVM à marge souple:
• Il autorise les erreurs de classification; elle permet à certains points des données
d'apprentissage d’être mal-classés.
• Chaque erreur de classification aura un coût, et le classifieur tente alors de trouver
l’hyperplan séparateur qui minimise le coût associé aux erreurs de classification, tout en
maximisant la marge comme avant.

48
Machine à vecteurs de
support(les méthodes à noyaux)

03-01-03 49
C’est quoi un noyau (kernel) en SVM ?
Le noyau c’est une fonction qui transforme l’ensemble de données
d’entraînement de surface de décision non linéaire en équation linéaire dans
une dimension supérieure.
Explication:

50
Le SVM a plusieurs modèles basé sur les noyaux mais aujourd’hui on va se concentrer sur les
deux noyaux les plus utilisées ; le Polynomial kernel et le RBF kernel (Radial Basis Function).
Différence entre Polynomial kernel et RBF kernel:
Tous les kernels fonctionnent de la même façon mais certes il y a des différences entre eux.
Comme le tableau le montre:

Polynomial kernel RBF kernel

Durée d’exécution Courte Longue

Précision Faible Forte

51
Polynomial kernel
Il est très utilisé dans le domaine de traitement d’image.
Mathématiquement parlant la fonction renvoie le produit interne entre deux points dans un
espace de fonction approprié.

b = degree of kernel & a = constant term.


Si b ↗ on obtient un modèle plus complexe et qui risque de déborder les données.
Si b ↘ on obtient un modèle simple et on ne risque pas de déborder les données.
La même chose s’applique pour a.

52
On peut conclure que dans certaines cas la fonction polynomial n’est pas
efficace alors on utilise la fonction RBF qui nous permet d’avoir un résultat
meilleur et précis par rapport à Polynomial.

53
RBF kernel
C’est un noyau à usage général; utilisés lorsqu’il n’y a aucune connaissance préalable des
données.

X1: point de donnée d’entraînement


X2: point de donnée d’entraînement
||X1 — X2 || = Distance Euclidienne entre X1 et X2

Si 𝛾 ↗ alors le modèle devient “overfit”.


Si 𝛾 ↘ alors le modèle devient “underfit”.

54
Conclusion
Avantages et inconvénients de kmeans:
Avantages :
1. Il est relativement efficace avec la complexité
temporelle.
2. Il se termine souvent à l'optimum local.
3. Il ne prend pas de temps pour converger.
Inconvénients :
4. Il nécessite de spécifier le nombre de clusters (k) à
l'avance et on doit le calculer en utilisant la
méthode de coude.
5. Il n'est pas approprié d'identifier des clusters avec
des formes non convexes.

55
Conclusion
Avantages et inconvénients de la SVM :
Avantages : Inconvénients :
1. Il est vraiment efficace dans la dimension 1. Pour un ensemble de données
supérieure. plus important, il faut beaucoup
2. Efficace lorsque le nombre de de temps pour le traiter.
fonctionnalités est plus que des exemples de 2. Ne fonctionne pas bien en cas de
formation. chevauchement des classes.
3. Meilleur algorithme lorsque les classes sont 3. Sélectionner les hyperparamètres
séparables appropriés de la SVM qui
4. L’hyperplan n’est affecté que par les vecteurs permettront une performance de
de support donc les aberrations ont moins généralisation suffisante.
d’impact. 4. La sélection de la fonction noyau
5. SVM est adapté à la classification binaire des appropriée peut être délicate.
cas extrêmes.

56
Merci pour votre
attention!

57

Vous aimerez peut-être aussi