Méthodes analogiques - Benjamin Piwowarski`s website
Transcription
Méthodes analogiques - Benjamin Piwowarski`s website
Polytech - Intelligence Artificielle KNN, K-Means, et Machine à Vecteur de Support Benjamin Piwowarski 23 mars 2016 Benjamin Piwowarski E8-ESI - KNN et SVM 23 mars 2016 1 / 26 K-Nearest Neighbors et K-means Plan 1 K-Nearest Neighbors et K-means K-Means K-NN 2 Machine à Vecteur de Support (SVM) Benjamin Piwowarski E8-ESI - KNN et SVM 23 mars 2016 2 / 26 K-Nearest Neighbors et K-means K-Means K-Nearest Neighbors et K-means K-Means Benjamin Piwowarski E8-ESI - KNN et SVM 23 mars 2016 3 / 26 K-Nearest Neighbors et K-means K-Means Utilisation en clustering Le même principe peut être utilisé pour grouper les données {xk } de façon non supervisée. Un algorithme très simple et très utilisé est l’algorithme des K-moyennes (K-means). On choisit un nombre K de groupes (clusters) et on leur associe un point xi au hasard puis on répète : chaque xi est associé au groupe le plus proche, i.e. g (i) tel que xi − mg (i) est minimum on recalcule les centres des groupes mk ← moyenne {xi |g (i) = k} jusqu’à convergence (pas de changement) Benjamin Piwowarski E8-ESI - KNN et SVM 23 mars 2016 4 / 26 K-Nearest Neighbors et K-means K-Means Utilisation en clustering Cela correspond à la fonction de coût suivante : g , m = arg min g ,m Benjamin Piwowarski X d(xi , mg (i) ) i E8-ESI - KNN et SVM 23 mars 2016 5 / 26 K-Nearest Neighbors et K-means K-Means Utilisation en clustering Cela correspond à la fonction de coût suivante : g , m = arg min g ,m X d(xi , mg (i) ) i en clair = cela minimise la distance de chaque point xi avec le centre mg (i) de son groupe g (i) Benjamin Piwowarski E8-ESI - KNN et SVM 23 mars 2016 5 / 26 K-Nearest Neighbors et K-means K-Means Applications : grouper des documents Benjamin Piwowarski E8-ESI - KNN et SVM 23 mars 2016 6 / 26 K-Nearest Neighbors et K-means K-Means Applications : Représenter Benjamin Piwowarski E8-ESI - KNN et SVM 23 mars 2016 7 / 26 K-Nearest Neighbors et K-means K-NN K-Nearest Neighbors et K-means K-NN Benjamin Piwowarski E8-ESI - KNN et SVM 23 mars 2016 8 / 26 K-Nearest Neighbors et K-means K-NN Exemple : KNN source : Wikipedia Paramètres fθ = k-plus-proches voisins θ = ensemble des exemples d’apprentissage Benjamin Piwowarski E8-ESI - KNN et SVM 23 mars 2016 9 / 26 K-Nearest Neighbors et K-means K-NN Généralisation K =1 Benjamin Piwowarski E8-ESI - KNN et SVM 23 mars 2016 10 / 26 K-Nearest Neighbors et K-means K-NN Généralisation K =2 Benjamin Piwowarski E8-ESI - KNN et SVM 23 mars 2016 11 / 26 K-Nearest Neighbors et K-means K-NN Généralisation K =3 Benjamin Piwowarski E8-ESI - KNN et SVM 23 mars 2016 12 / 26 K-Nearest Neighbors et K-means K-NN Généralisation Benjamin Piwowarski K =5 E8-ESI - KNN et SVM 23 mars 2016 13 / 26 K-Nearest Neighbors et K-means K-NN Généralisation K = 20 Benjamin Piwowarski E8-ESI - KNN et SVM 23 mars 2016 14 / 26 K-Nearest Neighbors et K-means K-NN Généralisation K = 200 Benjamin Piwowarski E8-ESI - KNN et SVM 23 mars 2016 15 / 26 K-Nearest Neighbors et K-means K-NN Problématique du jour Constat 1-NN est un modèle : Trop complexe (VC-dimension = infinie) Qui possède beaucoup trop de paramètres Problématique Quel modèle (de classification) utiliser qui soit : Simple Peu de paramètres Efficace Benjamin Piwowarski E8-ESI - KNN et SVM 23 mars 2016 16 / 26 K-Nearest Neighbors et K-means K-NN Problématique du jour Constat 1-NN est un modèle : Trop complexe Qui possède beaucoup trop de paramètres Problématique Quel modèle (de classification) utiliser qui soit : Simple Peu de paramètres Efficace Benjamin Piwowarski E8-ESI - KNN et SVM 23 mars 2016 17 / 26 Machine à Vecteur de Support (SVM) Plan 1 K-Nearest Neighbors et K-means 2 Machine à Vecteur de Support (SVM) Benjamin Piwowarski E8-ESI - KNN et SVM 23 mars 2016 18 / 26 Machine à Vecteur de Support (SVM) Introduction Classification binaire (mais peut être étendu) « Généralisation » de K-NN Années 1990 Théorie de Vapnik (= généralisation) Benjamin Piwowarski E8-ESI - KNN et SVM 23 mars 2016 19 / 26 Machine à Vecteur de Support (SVM) Cas linéairement séparable Le classifieur est défini par son vecteur normal w et son biais b h(x) = w > x + b Si h(x) = w > x + w0 ≥ 0, alors l’exemple est positif ; négatif sinon Benjamin Piwowarski E8-ESI - KNN et SVM 23 mars 2016 20 / 26 Machine à Vecteur de Support (SVM) Optimisation Minimiser la marge (plus la marge est haute, plus la capacité du modèle est grande) ||w ||2 Sous contraintes wxi + b ≥ 1 si yi = 1 ⇔ yi (wxi + b) ≥ 1 wxi + b ≤ −1 si yi = −1 Benjamin Piwowarski E8-ESI - KNN et SVM 23 mars 2016 21 / 26 Machine à Vecteur de Support (SVM) Cas non linéairement séparable Minimiser la marge X 1 ||w ||2 + C ξi 2 i Sous contraintes ( wxi + b ≥ 1 − ξi si yi = 1 wxi + b ≤ −1 + ξi si yi = −1 ⇔ yi (wxi + b) ≥ 1 − ξi avec ξi ≥ 0 Benjamin Piwowarski E8-ESI - KNN et SVM 23 mars 2016 22 / 26 Machine à Vecteur de Support (SVM) Version duale Utilisation du Lagrangien avec ξi ≥ 0 et αi ≥ 0 : minimiser p X X 1 L(w , b, α, ξ) = kw k2 + C ξi + αi (1 − ξi − yi (wxi + b)) 2 i i=1 Conditions de Karush-Kuhn-Tucker (KKT) dans ce cas : ∂L ∂wi (w ∗ , ξ ∗ , b ∗ , α∗ ) = 0 et ∂L ∂b (w ∗ , ξ ∗ , b ∗ , α∗ ) = 0 1 − ξi∗ − yi (w ∗ xi + b ∗ ) ≤ 0 αi∗ ≥ 0 αi∗ (1 − ξi∗ − yi (w ∗ xi + b ∗ )) = 0 Benjamin Piwowarski E8-ESI - KNN et SVM 23 mars 2016 23 / 26 Machine à Vecteur de Support (SVM) Version duale Maximiser X αi − i X αi αj yi yj xi> xj i,j avec les contraintes C ≥ αk ≥ 0 et La solution est de la forme h(x) = p X P k αk yk = 0. αk yk x > xk + b k=1 Benjamin Piwowarski E8-ESI - KNN et SVM 23 mars 2016 24 / 26 Machine à Vecteur de Support (SVM) Nature de la solution Benjamin Piwowarski E8-ESI - KNN et SVM 23 mars 2016 25 / 26 Machine à Vecteur de Support (SVM) Noyaux RBF (Radial Basis Function) kx1 − x2 k k (x1 , x2 ) = exp − 2σ 2 Benjamin Piwowarski E8-ESI - KNN et SVM 23 mars 2016 26 / 26