Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
K-Nearest Neighbor(KNN)
Classification
Férihane Kboubi
Ferihane.kboubi@fsegt.utm.tn
Machine Learning - 1MISIE – FSEGT - UTM
2018-2019
Introduction
• K Nearest Neighbor (KNN) est un algorithme d’apprentissage
automatique très simple, facile à comprendre et polyvalent.
1
16/03/2019
K-Nearest Neighbors
• KNN est un algorithme d’apprentissage non-paramétrique et paresseux.
• Non paramétrique
– il n’y a pas d’hypothèse pour la distribution sous-jacente des données.
– La structure du modèle est déterminée à partir de l’ensemble de données.
– Cela sera très utile dans la pratique où la plupart des ensembles de données
du monde réel ne suivent pas les hypothèses théoriques mathématiques.
• Paresseux
– il n’a pas besoin d’entrainement pour la génération de modèle.
– Toutes les données d’apprentissage sont utilisées dans la phase de test.
– Cela rend l’apprentissage plus rapide et la phase de test plus lente et plus
coûteuse en temps et en mémoire.
2
16/03/2019
3
16/03/2019
4
16/03/2019
Malédiction de la dimensionnalité
• KNN réussit mieux avec un petit nombre de caractéristiques qu’un grand nombre.
• Lorsque le nombre de caractéristiques augmente ceci nécessite plus de données.
• L’augmentation des dimensions conduit au problème du sur-apprentissage (overfitting)
• Pour éviter l’overfitting, les données devront croître de façon exponentielle à mesure
que vous augmentez le nombre de dimensions.
• Ce problème est connu comme la malédiction de la dimensionnalité.
• Pour traiter le problème de la malédiction de la dimensionnalité
– Utiliser l’analyse en composantes principales
– Utiliser une approche de feature selection.
• Des recherches ont montré que avec de grandes dimensions la distance euclidienne n’est
plus utile.
• D’autres mesures telles que le cosinus sont moins touchés par ce problème.
5
16/03/2019
6
16/03/2019
Elbow method
Avantages
• La phase d’entrainement de KNN est beaucoup plus rapide
que d’autres algorithmes de classification.
• Il n’est pas nécessaire de former un modèle de
généralisation, c’est pourquoi KNN est connu comme
l’algorithme d’apprentissage simple et basé sur l’exemple.
• KNN peut être utile en cas de données non linéaires.
• Il peut être utilisé avec le problème de régression.
• La valeur de sortie de l’objet est calculée par la valeur
moyenne des k voisins les plus proches.
7
16/03/2019
Inconvénients
• La phase de test de KNN est plus lente et plus coûteuse en termes de
temps et de mémoire.
• Il nécessite une grande mémoire pour stocker l’ensemble entier de
données d’entraînement pour la prédiction.
• KNN nécessite une normalisation des données parce qu’il utilise la
distance euclidienne entre deux points de données pour trouver les
voisins les plus proches.
– La distance euclidienne est sensible aux grandeurs. Les caractéristiques avec
des grandeurs élevées pèseront plus que des caractéristiques avec de faibles
grandeurs.
• KNN ne convient pas non plus pour les grandes données dimensionnelles
8
16/03/2019
DISTANCE ET SIMILARITÉ
Dissimilarité : distance
• Une mesure de distance est une mesure de dissimilarité, mais l’inverse n’est pas
nécessairement vrai.
– d(x,y) ≥ 0
– d(x,y) = d(y,x)
• Définir une distance sur chacun des champs (numériques, binaires, nominals)
d(x,y) =|x-y| ;
9
16/03/2019
Mesures de distance
• Soit i et j deux objets p-dimentionnels définis par p attributs quantitatifs comme suit:
– i = (xi1, xi2, …, xip) et j = (xj1, xj2, …, xjp)
• la distance de Minkowski :
– où q un entier positif
• Si q = 1, d est la distance de Manhattan
Où
10
16/03/2019
Exemple: standardisation
M Age = 60 S Age = 5
d(p1,p2)=6,7
d(p1,p3)=5,29
Conclusion:
p1 ressemble plus à p3 qu’à p2 !!!
Ferihane Kboubi - Machine Learning -
22
1MISIE - FSEGT - 2019
11
16/03/2019
Variables binaires
Une table de contingence pour les données binaires
Soit deux objets i et j à n attributs binaires et k un entier 1≤k≤n
Objet j
a = nb attributs où xik = xjk = 1
Exemple
i=(1,1,0,1,0) et j=(1,0,0,0,1)
Variables binaires
Mesures de distances
Coefficient d’appariement (matching) simple
Exemple
i=(1,1,0,1,0) et j=(1,0,0,0,1)
d(i, j)=3/5
Coefficient de Jaccard
d(oi, oj)=3/4
12
16/03/2019
Variables Nominales
Une généralisation des variables binaires, ex: rouge, vert et bleu
Méthode 1: Matching simple
m: # d’appariements, p: # total de variables
13