{"id":306,"date":"2022-05-16T17:08:31","date_gmt":"2022-05-16T15:08:31","guid":{"rendered":"http:\/\/yb-isn.fr\/2021\/nsi\/olga\/?p=306"},"modified":"2022-05-16T17:57:44","modified_gmt":"2022-05-16T15:57:44","slug":"algorithme-des-k","status":"publish","type":"post","link":"http:\/\/yb-isn.fr\/2021\/nsi\/olga\/2022\/05\/16\/algorithme-des-k\/","title":{"rendered":"Algorithme des k-NN"},"content":{"rendered":"\n<figure class=\"wp-block-image\"><img src=\"http:\/\/yb-isn.fr\/2021\/nsi\/wp-content\/uploads\/2022\/05\/image-7.png\" alt=\"\" \/><\/figure>\n\n\n\n<p>k-NN = k Nearest Neighbors, les plus proches voisins en fran\u00e7ais <\/p>\n\n\n\n<p>Cet algorithme sert \u00e0 choisit les k donn\u00e9es les plus proches <\/p>\n\n\n\n<p>Fonctionnement:<\/p>\n\n\n\n<p>Exemple visuel :<\/p>\n\n\n\n<p>Ca repr\u00e9sente ici \u00a0un jeu de donn\u00e9es d\u2019entra\u00eenement avec deux classes, rouge et bleu. L&rsquo;input\u00a0est donc\u00a0bidimensionnel\u00a0ici, et la\u00a0target\u00a0est la couleur \u00e0 classer.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/user.oc-static.com\/upload\/2016\/10\/10\/14761049971968_k-nn-1.png\" alt=\"Notre nuage de points de test\" \/><\/figure>\n\n\n\n<p>Si on veut \u00a0une nouvelle entr\u00e9e dont on veut pr\u00e9dire la classe, On va se concentrer sur les points plus proches et regarder quelle classe constitue la majorit\u00e9 de ces points afin de d\u00e9duire la classe du nouveau point:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/user.oc-static.com\/upload\/2016\/10\/10\/14761050188985_k-nn-2-1.png\" alt=\"le point blanc est une nouvelle entr\u00e9e\" \/><\/figure>\n\n\n\n<p>\u00a0Par exemple, ici, si on utilise le 5-NN, on peut pr\u00e9dire que la nouvelle donn\u00e9e appartient \u00e0 la classe\u00a0<strong>rouge<\/strong>\u00a0puisqu&rsquo;elle a 3 rouges et 2 bleus\u00a0dans son entourage.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/user.oc-static.com\/upload\/2016\/10\/10\/14761050284224_k-nn-2-2.png\" alt=\"les 5 points les plus proches du point que l'on cherche \u00e0 classer\" \/><figcaption>Les 5 points les plus proches du point que l&rsquo;on cherche \u00e0 classer<\/figcaption><\/figure>\n\n\n\n<p>On peut facilement en d\u00e9duire les zone rouge et bleue, o\u00f9 les points qui se situeront dans la zone seront respectivement class\u00e9s comme rouge ou bleu.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/user.oc-static.com\/upload\/2016\/10\/10\/14761050939309_k-nn-3.png\" alt=\"Les deux zones qui s\u00e9parent l'espace pour la d\u00e9cision \u00e0 prendre sur la classification de nouvelles entr\u00e9es\" \/><figcaption>Les deux zones qui s\u00e9parent l&rsquo;espace pour la d\u00e9cision \u00e0 prendre sur la classification de nouvelles entr\u00e9es avec le mod\u00e8le 5-NN<\/figcaption><\/figure>\n\n\n\n<p>Les donn\u00e9es et la probl\u00e9matique<\/p>\n\n\n\n<p>D&rsquo;abord, parlons du jeu de donn\u00e9es que nous allons utiliser. C&rsquo;est un dataset\u00a0tr\u00e8s c\u00e9l\u00e8bre, appel\u00e9 MNIST.\u00a0Il est constitu\u00e9 d&rsquo;un ensemble de 70000\u00a0images 28&#215;28 pixels en noir et blanc annot\u00e9es du chiffre correspondant (entre 0\u00a0et 9). L&rsquo;objectif de ce jeu de donn\u00e9es \u00e9tait de permettre \u00e0 un ordinateur d&rsquo;apprendre \u00e0 reconna\u00eetre des nombres manuscrits automatiquement (pour lire des ch\u00e8ques par exemple). Ce dataset utilise des donn\u00e9es r\u00e9elles qui ont d\u00e9j\u00e0 \u00e9t\u00e9 pr\u00e9-trait\u00e9es pour \u00eatre plus facilement utilisables par un algorithme.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/user.oc-static.com\/upload\/2016\/11\/27\/14802845466_download.png\" alt=\"un extrait du type d'images que l'on trouve dans le dataset\u00a0NIST\" \/><figcaption>Un extrait du type d&rsquo;images que l&rsquo;on trouve dans le dataset MNIST<\/figcaption><\/figure>\n\n\n\n<p>On va entra\u00eener un mod\u00e8le qui sera capable de reconna\u00eetre les chiffres \u00e9crits sur ce type d&rsquo;images.\u00a0<\/p>\n\n\n\n<p>L&rsquo;objet \u00a0<code>mnist<\/code>\u00a0contient deux entr\u00e9es principales, \u00a0<code>data<\/code>\u00a0 et \u00a0<code>target<\/code>. On peut les afficher :<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/yb-isn.fr\/2021\/nsi\/carla\/wp-content\/uploads\/sites\/5\/2022\/05\/image-7.png\" alt=\"\" \/><\/figure>\n\n\n\n<ul id=\"r-4092655\"><li><strong><em>\u00a0<code>data<\/code><\/em><\/strong>\u00a0contient les images sous forme de tableaux de 28 x 28 = 784 couleurs de pixel en niveau de gris, c&rsquo;est-\u00e0-dire que la couleur de chaque pixel\u00a0est repr\u00e9sent\u00e9e par un nombre entre 0 et 16 qui repr\u00e9sente si celle-ci est proche du noir ou pas (0 = blanc, 16 = noir).\u00a0<\/li><li>\u00a0<code><strong><em>target<\/em><\/strong><\/code>\u00a0qui contient les annotations (de 1 \u00e0 9) correspondant \u00e0 la valeur \u00ab\u00a0lue\u00a0\u00bb du chiffre.<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/yb-isn.fr\/2021\/nsi\/carla\/wp-content\/uploads\/sites\/5\/2022\/05\/image-8.png\" alt=\"\" \/><\/figure>\n\n\n\n<p>\u00c9chantillonner pour faciliter le travail<\/p>\n\n\n\n<p>le datatest est relativement petit mais trop gros pour le mod\u00e8le k-NN pour obtenir rapidement les r\u00e9sultats. On peut utiliser pour \u00e7a un sampling et travailler sur seulement 5000 donn\u00e9es\u00a0<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" width=\"355\" height=\"63\" src=\"http:\/\/yb-isn.fr\/2021\/nsi\/olga\/wp-content\/uploads\/sites\/2\/2022\/05\/image-3.png\" alt=\"\" class=\"wp-image-308\" srcset=\"http:\/\/yb-isn.fr\/2021\/nsi\/olga\/wp-content\/uploads\/sites\/2\/2022\/05\/image-3.png 355w, http:\/\/yb-isn.fr\/2021\/nsi\/olga\/wp-content\/uploads\/sites\/2\/2022\/05\/image-3-300x53.png 300w\" sizes=\"(max-width: 355px) 100vw, 355px\" \/><\/figure>\n\n\n\n<p>Le tableau d&rsquo;indices g\u00e9n\u00e9r\u00e9 par randit peut contenir des doublons. Donc on peut en retrouver souvent dans nos donn\u00e9es. <\/p>\n\n\n\n<p>Vu qu&rsquo;on va prendre seulement 5000 \u00e9chantillons sur 7000, le risque est faible. <\/p>\n\n\n\n<p>S\u00e9parer training \/ testing set:<\/p>\n\n\n\n<p>Une fois que le dadatest est chatcg\u00e9, on va le jeu de donn\u00e9es en training set et testing set.<\/p>\n\n\n\n<p>dans cet exemple les annontations cibles sont appel\u00e9es \u00ab\u00a0y\u00a0\u00bb et les images d&rsquo;exemple \u00ab\u00a0x\u00a0\u00bb<\/p>\n\n\n\n<p>On peut cr\u00e9er \u00a0un premier classifieur 3-NN, donc \u00a0qui prend en compte les 3 plus proches voisins pour la classification<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" width=\"532\" height=\"59\" src=\"http:\/\/yb-isn.fr\/2021\/nsi\/olga\/wp-content\/uploads\/sites\/2\/2022\/05\/image-4.png\" alt=\"\" class=\"wp-image-311\" srcset=\"http:\/\/yb-isn.fr\/2021\/nsi\/olga\/wp-content\/uploads\/sites\/2\/2022\/05\/image-4.png 532w, http:\/\/yb-isn.fr\/2021\/nsi\/olga\/wp-content\/uploads\/sites\/2\/2022\/05\/image-4-300x33.png 300w\" sizes=\"(max-width: 532px) 100vw, 532px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/yb-isn.fr\/2021\/nsi\/carla\/wp-content\/uploads\/sites\/5\/2022\/05\/image-9.png\" alt=\"\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/yb-isn.fr\/2021\/nsi\/carla\/wp-content\/uploads\/sites\/5\/2022\/05\/image-10.png\" alt=\"\" \/><\/figure>\n\n\n\n<p>Pour pouvoir un peu mieux comprendre les erreurs effectu\u00e9es par le classifieur,\u00a0on peut aussi afficher un extrait des pr\u00e9dictions erron\u00e9es :<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/yb-isn.fr\/2021\/nsi\/carla\/wp-content\/uploads\/sites\/5\/2022\/05\/image-11.png\" alt=\"\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>k-NN = k Nearest Neighbors, les plus proches voisins en fran\u00e7ais Cet algorithme sert \u00e0 choisit les k donn\u00e9es les plus proches Fonctionnement: Exemple visuel : Ca repr\u00e9sente ici \u00a0un jeu de donn\u00e9es d\u2019entra\u00eenement avec deux classes, rouge et bleu. L&rsquo;input\u00a0est donc\u00a0bidimensionnel\u00a0ici, et la\u00a0target\u00a0est la couleur \u00e0 classer. Si on veut \u00a0une nouvelle entr\u00e9e dont&hellip; <a class=\"more-link\" href=\"http:\/\/yb-isn.fr\/2021\/nsi\/olga\/2022\/05\/16\/algorithme-des-k\/\">Poursuivre la lecture <span class=\"screen-reader-text\">Algorithme des k-NN<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"http:\/\/yb-isn.fr\/2021\/nsi\/olga\/wp-json\/wp\/v2\/posts\/306"}],"collection":[{"href":"http:\/\/yb-isn.fr\/2021\/nsi\/olga\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/yb-isn.fr\/2021\/nsi\/olga\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/yb-isn.fr\/2021\/nsi\/olga\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/yb-isn.fr\/2021\/nsi\/olga\/wp-json\/wp\/v2\/comments?post=306"}],"version-history":[{"count":4,"href":"http:\/\/yb-isn.fr\/2021\/nsi\/olga\/wp-json\/wp\/v2\/posts\/306\/revisions"}],"predecessor-version":[{"id":314,"href":"http:\/\/yb-isn.fr\/2021\/nsi\/olga\/wp-json\/wp\/v2\/posts\/306\/revisions\/314"}],"wp:attachment":[{"href":"http:\/\/yb-isn.fr\/2021\/nsi\/olga\/wp-json\/wp\/v2\/media?parent=306"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/yb-isn.fr\/2021\/nsi\/olga\/wp-json\/wp\/v2\/categories?post=306"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/yb-isn.fr\/2021\/nsi\/olga\/wp-json\/wp\/v2\/tags?post=306"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}