M1 IAD UE RFIDEC TD N 10

publicité
M1 IAD UE RFIDEC
TD N◦ 10
19 janvier 2006
Exercice 1
Méthode des k plus proches voisins (k − P P V )
Les objets à classer sont de dimension d = 2 : x = (x 1 , x2 ). Il y a deux classes, C1 et C2 et on
connait les classes de 4 objets : x1 = (2,1), x2 = (1,3) ∈ C1 ; x3 = (2,5), x4 = (4,3) ∈ C2 .
1◦ ) Apprentissage supervisé par la méthode k − P P V avec k = 1 à partir de la base formée par
ces 4 objets :
Déterminer graphiquement pour chacun d’eux la région du plan où il est l’objet le plus proche
parmi les 4 (pour la distance euclidienne). En déduire les régions et frontières de décision.
2◦ ) Apprentissage supervisé par la méthode k − P P V avec k = 3 à partir de la base formée par
ces 4 objets :
Déterminer graphiquement pour chacun d’eux la région du plan où il est l’objet le plus éloigné
parmi les 4 (pour la distance euclidienne). En déduire les régions et frontières de décision.
3◦ ) Apprentissage itératif non-supervisé par l’algorithme k − P P V avec k = 3 à partir de la base
formée par ces 4 objets :
Algorithme des k-PPV
Entrée : xj , j = 1, · · · ,n + M .
Initialisation Dictionnaire D1 = {x1 , · · · ,xn }, m ← 1
Tant que m ≤ M Répéter
Déterminer les k plus proches voisins de x n+m dans Dm ;
attribuer à xn+m la classe majoritaire
m←m+1
Sortie : classification des xj , j = n + 1, · · · ,n + M
i) Comment sont classés les objets x 5 = (2,2) et x6 = (2,4) s’ils sont pris dans cet ordre?
ii) Comment sont-ils classés s’ils sont pris dans l’ordre opposé? Conclusion?
1
Exercice 2
Quantification vectorielle
On veut regrouper en classes possédant chacune un prototype des objets de dimension d = 2 :
x = (x1 , x2 ) ; ce sont : (1,3), (−2,2), (−1,2), (−3,2), (1,5), (1,4), (2,5), (2,6).
1◦ ) Le nombre de classes, K, n’est pas imposé a priori. Utiliser l’algorithme à seuil suivant pour
sélectionner un dictionnaire de prototypes initiaux dont la taille sera elle-même une sortie de
l’algorithme.
d(x,y) est la distance euclidienne. On prendra θ = 2
Algorithme à seuil
Entrée : X = {xj , j = 1, · · · ,n}. Seuil θ > 0
Initialisation Dictionnaire D1 = {x1 }, j ← 2
Tant que j ≤ n Répéter
Si ∃y ∈ Dj−1 , d(xj ,y) ≤ θ
Alors Dj ← Dj−1
Sinon Dj ← Dj−1 ∪ {xj }
Sortie : un dictionnaire de prototypes D = D n de taille K =| D |
2◦ ) i) Faire évoluer les prototypes du dictionnaire trouvé au 1 ◦ ) à l’aide de l’algorithme de
K-moyennes suivant :
Algorithme de K-moyennes
Entrée : K prototypes D = {y1 , · · · ,yK } ; X = {xj , j = 1, · · · ,n}.
Initialisation j ← 1 , nk =← 1 (∀1 ≤ k ≤ K)
Tant que j ≤ n Répéter
k ← arg min1≤l≤K d(xj ,yl )
Affecter xj à la classe Ck (règle de sélection)
n .y +x
yk ← knkk+1 j (règle d’adaptation)
nk ← n k + 1
Sortie : un regroupement en K classes et les prototypes de chaque classe (leurs centres de
gravité), D.
N.B. Cet algorithme est aussi connu sous d’autres noms, dont algorithme d’agrégation autour
de centres mobiles.
ii) Ici, on peut retirer D de l’ensemble d’apprentissage X avant d’appliquer l’algorithme. Le
résultat final en dépend-il? Faut-il retirer D?
iii) Que se passe-t-il si l’on continue à faire tourner l’algorithme à partir des nouveaux prototypes?
Quel critère d’arrêt préconisez-vous?
2
3◦ ) i) Faire évoluer les prototypes du dictionnaire trouvé au 2 ◦ )ii) à l’aide de l’algorithme de
Linde-Buzo-Gray (LBG) suivant :
Algorithme LBG
Entrée : K prototypes D = {y1 , · · · ,yK }, centres de gravité des K ensembles de la partition
de X = {xj , j = 1, · · · ,n}. Un vecteur z
Tant que critère d’arrêt non-satisfait Répéter
Doubler le nombre de prototypes en remplaçant chaque prototype y par deux autre y + z et
y−z
Affecter chaque exemple xj à la classe du nouveau prototype dont il est le plus proche
Adapter les prototypes en les remplaçant par les centres de gravité de leurs classes.
Sortie : un regroupement en K r classes et les prototypes de chaque classe (leurs centres de
gravité).
On prendra r = 2 et z = (1,1)
ii) Comment peut-on utiliser des méthodes de QV pour réaliser des tâches de discrimination?
3
Téléchargement