{"id":735,"date":"2024-01-25T12:52:33","date_gmt":"2024-01-25T11:52:33","guid":{"rendered":"https:\/\/ai.reboot-conseil.com\/?p=735"},"modified":"2024-02-09T15:24:33","modified_gmt":"2024-02-09T14:24:33","slug":"retour-aux-fondamentaux-le-machine-learning","status":"publish","type":"post","link":"https:\/\/beta.reboot-conseil.com\/index.php\/2024\/01\/25\/retour-aux-fondamentaux-le-machine-learning\/","title":{"rendered":"\ud83e\uddf1Retour aux fondamentaux: Le Machine Learning\ud83e\udd16"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Quand on parle de cr\u00e9er une intelligence artificielle, plusieurs approches ont \u00e9t\u00e9 tent\u00e9es pour parvenir \u00e0 cr\u00e9er un algorithme \u00ab\u00a0intelligent\u00a0\u00bb. Cependant, si on regarde r\u00e9cemment, tous les mod\u00e8les que l&rsquo;on trouve sont d\u00e9riv\u00e9s d&rsquo;un paradigme principal : le <strong>Machine Learning<\/strong> (souvent abr\u00e9g\u00e9 en <strong>ML<\/strong>). Que ce soient les LLM, les r\u00e9seaux de neurones, ou m\u00eame des mod\u00e8les plus simples, tous suivent les principes du Machine Learning (ou l&rsquo;<strong>apprentissage automatique<\/strong> en bon fran\u00e7ais).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mais quels sont ces principes ? Comment fonctionne un mod\u00e8le de Machine Learning ? C&rsquo;est ce que cet article veut mettre en avant.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Petit point sur le vocabulaire<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Avant de rentrer dans le sujet, je souhaite simplement mettre au clair certains concepts.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Mod\u00e8le <\/strong>: c&rsquo;est le nom usuel d&rsquo;un <strong>programme <\/strong>de Machine Learning. Il est aussi bien utilis\u00e9 pour d\u00e9signer le produit final qui va pr\u00e9dire les valeurs que le programme avant son apprentissage.<\/li>\n\n\n\n<li><strong>Cible <\/strong>: la valeur que l&rsquo;on veut que l&rsquo;algorithme de Machine Learning pr\u00e9dise. On retrouve aussi le nom \u00ab\u00a0<strong>Target<\/strong>\u00a0\u00bb ou \u00ab\u00a0<strong>y<\/strong>\u00a0\u00bb dans la litt\u00e9rature.<\/li>\n\n\n\n<li><strong>Jeu de donn\u00e9es<\/strong> : c&rsquo;est le corpus de donn\u00e9es que l&rsquo;on rassemble pour entra\u00eener le mod\u00e8le de Machine Learning. Les donn\u00e9es peuvent \u00eatre de <strong>nature diff\u00e9rente <\/strong>(tableau de donn\u00e9es, fichiers PDF, images, etc.). On l&rsquo;appelle aussi \u00ab\u00a0<strong>dataset<\/strong>\u00ab\u00a0<\/li>\n\n\n\n<li><strong>Fonction d&rsquo;erreur<\/strong> : c&rsquo;est une <strong>mesure <\/strong>qui permet de d\u00e9finir \u00e0 quel point un mod\u00e8le se trompe par rapport \u00e0 la r\u00e9alit\u00e9. On parle aussi de <strong>fonction de perte<\/strong> ou de <strong>loss-function<\/strong><\/li>\n\n\n\n<li><strong>Fonction de score<\/strong> : c&rsquo;est une <strong>mesure <\/strong>qui permet de d\u00e9terminer \u00e0 quel point un mod\u00e8le est <strong>proche de la r\u00e9alit\u00e9<\/strong>. Les fonctions de score et d&rsquo;erreur \u00e9voluent g\u00e9n\u00e9ralement dans des sens contraires.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Une machine qui apprend ?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Avant d&rsquo;aborder ce qu&rsquo;est un algorithme de Machine Learning, et ses particularit\u00e9s, voici un bref rappel de ce qu&rsquo;on attend g\u00e9n\u00e9ralement d&rsquo;un algorithme de Machine Learning. On veut que ce programme, en lui fournissant des donn\u00e9es en entr\u00e9es, qu&rsquo;e l&rsquo;algorithme qu&rsquo;il nous <strong>pr\u00e9dise <\/strong>une valeur, la <strong>cible <\/strong>de mani\u00e8re correcte. Et donc on veut que notre mod\u00e8le <strong>g\u00e9n\u00e9ralise <\/strong>des r\u00e8gles applicables \u00e0 toutes les donn\u00e9es qu&rsquo;il est susceptible de rencontrer pour pr\u00e9dire correctement la cible. Tous les probl\u00e8mes de ML sont des variations de ce probl\u00e8me. Ce qui changera souvent est ce que d\u00e9signent la valeur et le format de celle-ci (nombre, texte, image, etc.)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Un algorithme de Machine Learning, c&rsquo;est quelque chose d&rsquo;un peu particulier dans le monde des algorithmes. En effet, quand on parle d&rsquo;algorithme, la comparaison la plus commune pour expliquer ce que c&rsquo;est, c&rsquo;est la <strong>recette de cuisine<\/strong>. On a des ingr\u00e9dients, qui repr\u00e9sentent nos <strong>entr\u00e9es <\/strong>de l&rsquo;algorithme et des \u00e9tapes \u00e0 suivre qui repr\u00e9sente les <strong>r\u00e8gles <\/strong>de notre algorithme. Avec ces deux \u00e9l\u00e9ments, on arrive \u00e0 constituer notre plat final, qui repr\u00e9sente le <strong>r\u00e9sultat <\/strong>de l&rsquo;algorithme, et qui est ce qu&rsquo;on cherche \u00e0 automatiser dans le cas d&rsquo;un programme informatique.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img fetchpriority=\"high\" decoding=\"async\" width=\"579\" height=\"440\" src=\"https:\/\/ai.reboot-conseil.com\/wp-content\/uploads\/2024\/01\/Capture-decran-2024-01-23-184357.png\" alt=\"Sch\u00e9ma d'un programme classique\" class=\"wp-image-740\" srcset=\"https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2024\/01\/Capture-decran-2024-01-23-184357.png 579w, https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2024\/01\/Capture-decran-2024-01-23-184357-300x228.png 300w\" sizes=\"(max-width: 579px) 100vw, 579px\" \/><figcaption class=\"wp-element-caption\">Sch\u00e9ma simplifi\u00e9 d&rsquo;un programme classique<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Et bien un programme d&rsquo;apprentissage automatique fonctionne \u00e0 rebours d&rsquo;un programme classique, \u00e0 lui on va donner des donn\u00e9es en <strong>entr\u00e9es<\/strong>, \u00e9ventuellement les <strong>r\u00e9sultats <\/strong>qu&rsquo;on attend de lui, et il va se d\u00e9brouiller pour savoir quelles r\u00e8gles permettent de transformer les donn\u00e9es en sortie, ou dans le cas o\u00f9 on n&rsquo;a pas de donn\u00e9es d&rsquo;essayer de trouver des points communs entre les donn\u00e9es.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img decoding=\"async\" width=\"479\" height=\"394\" src=\"https:\/\/ai.reboot-conseil.com\/wp-content\/uploads\/2024\/01\/Capture-decran-2024-01-23-184946.png\" alt=\"\" class=\"wp-image-741\" srcset=\"https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2024\/01\/Capture-decran-2024-01-23-184946.png 479w, https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2024\/01\/Capture-decran-2024-01-23-184946-300x247.png 300w\" sizes=\"(max-width: 479px) 100vw, 479px\" \/><figcaption class=\"wp-element-caption\">Sch\u00e9ma d&rsquo;un programme de Machine learning<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Ce m\u00e9canisme de trouver des r\u00e8gles en fonction des entr\u00e9es, c&rsquo;est ce qu&rsquo;on appelle l&rsquo;<strong>apprentissage<\/strong>, ou l&rsquo;<strong>entra\u00eenement <\/strong>et c&rsquo;est le point commun de chaque algorithme de Machine Learning. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00c0 partir de l\u00e0, un des pr\u00e9requis de ce domaine va \u00eatre de constituer un <strong>jeu de donn\u00e9es<\/strong> qu&rsquo;on pourra passer \u00e0 l&rsquo;algorithme afin de g\u00e9n\u00e9rer ces r\u00e8gles et faire en sorte que le mod\u00e8le de Machine Learning qu&rsquo;on va cr\u00e9er sera suffisamment performant pour la tache que nous souhaitons r\u00e9aliser.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Comment faire apprendre une machine ?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Maintenant, qu&rsquo;on a vu le principe g\u00e9n\u00e9ral du Machine Learning, la question est quelles sont les strat\u00e9gies pour faire apprendre une machine. Il en existe plusieurs, et je vais en pr\u00e9senter 3 ici parmi les plus communes :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>L&rsquo;apprentissage <strong>supervis\u00e9<\/strong> : c&rsquo;est la m\u00e9thode d&rsquo;apprentissage qui est la plus classique, quand on parle de ML. Le principe est de constituer un jeu de donn\u00e9es qui contient la <strong>cible<\/strong> que le mod\u00e8le doit pr\u00e9dire. On dit que les donn\u00e9es sont <strong>labellis\u00e9es<\/strong>. On passe ensuite \u00e0 l&rsquo;algorithme de Machine Learning, les <strong>donn\u00e9es et les cibles associ\u00e9es<\/strong>, et le mod\u00e8le de ML s&rsquo;adapte et minimise les erreurs qu&rsquo;il fait en s&rsquo;appuyant sur la <strong>fonction d&rsquo;erreur <\/strong>ou de <strong>score<\/strong>.<\/li>\n\n\n\n<li>L&rsquo;apprentissage <strong>non-supervis\u00e9<\/strong> : ici, les donn\u00e9es <strong>ne sont pas labellis\u00e9es<\/strong>, et l&rsquo;algorithme essaie de trouver des <strong>points communs<\/strong> entre les donn\u00e9es et de <strong>regrouper <\/strong>les donn\u00e9es.<\/li>\n\n\n\n<li>L&rsquo;apprentissage <strong>renforc\u00e9 <\/strong>: l&rsquo;objectif ici est de faire en sorte de <strong>p\u00e9naliser <\/strong>et <strong>r\u00e9compenser <\/strong>l&rsquo;algorithme pendant son entra\u00eenement en fonction des <strong>erreurs <\/strong>et des <strong>progr\u00e8s <\/strong>qu&rsquo;il fait. Il y a plusieurs mani\u00e8res de faire ainsi, le processus peut \u00eatre <strong>manuel<\/strong>, on peut cr\u00e9er une <strong>fonction <\/strong>qui fournit ces r\u00e9compenses\/p\u00e9nalit\u00e9s, etc.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Il existe d&rsquo;autres types d&rsquo;apprentissages, mais voici ceux que je trouve les plus marquants et les plus simples \u00e0 retenir.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Quels sont les principaux obstacles ?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Maintenant qu&rsquo;on a vu les principaux m\u00e9canismes du ML, de mani\u00e8re assez g\u00e9n\u00e9rique, on va voir quels sont les principaux <strong>obstacles <\/strong>qu&rsquo;on rencontre quand on fait du Machine Learning. Si je dois r\u00e9sumer la majorit\u00e9 des obstacles qu&rsquo;on rencontre en un mot, ce serait le mot \u00ab\u00a0<strong>biais<\/strong>\u00ab\u00a0. Les algorithmes de ML peuvent tomber dans des biais qui peuvent \u00eatre li\u00e9s \u00e0 divers facteurs.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Mauvaise mesure du score du mod\u00e8le<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Un premier biais que l&rsquo;on peut avoir, arrive quand on <strong>mesure <\/strong>les performances de son mod\u00e8le. Pour s&rsquo;assurer que le mod\u00e8le ait bien <strong>g\u00e9n\u00e9ralis\u00e9 les r\u00e8gles<\/strong> qu&rsquo;il devait apprendre, on va mesurer le score du mod\u00e8le sur des donn\u00e9es qu&rsquo;<strong>il n&rsquo;a pas encore vues<\/strong>, des donn\u00e9es de <strong>test<\/strong>. Le risque de mesurer la performance sur les donn\u00e9es que le mod\u00e8le a vues en entra\u00eenement est que le mod\u00e8le a <strong>m\u00e9moris\u00e9 <\/strong>les donn\u00e9es et donc qu&rsquo;il<strong> n&rsquo;arrive pas<\/strong> \u00e0 <strong>g\u00e9n\u00e9raliser<\/strong>. C&rsquo;est pour \u00e7a que le jeu de donn\u00e9es est s\u00e9par\u00e9 en donn\u00e9es d&rsquo;<strong>entra\u00eenement<\/strong> et de <strong>test <\/strong>(avec g\u00e9n\u00e9ralement <strong>70-80%<\/strong> des donn\u00e9es pour l&rsquo;entrainement, et <strong>20-30%<\/strong> pour le jeu de test). <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ce probl\u00e8me est li\u00e9 \u00e0 la <strong>m\u00e9thode <\/strong>que l&rsquo;on utilise pour mesurer la performance du mod\u00e8le.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Sur-apprentissage et sous-apprentissage<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Le <strong>sur-apprentissage<\/strong> et le <strong>sous-apprentissage<\/strong> sont des probl\u00e8mes li\u00e9s \u00e0 la <strong>compatibilit\u00e9 <\/strong>entre l&rsquo;algorithme de ML choisi et le jeu de donn\u00e9es.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Le <strong>sur-apprentissage<\/strong> ou <strong>overfitting <\/strong>est un probl\u00e8me o\u00f9 le mod\u00e8le n&rsquo;arrive pas \u00e0 <strong>g\u00e9n\u00e9raliser <\/strong>et <strong>m\u00e9morise <\/strong>les donn\u00e9es. L&rsquo;indicateur principal du sur-apprentissage est que le <strong>score <\/strong>du mod\u00e8le mesur\u00e9 sur les donn\u00e9es d&rsquo;<strong>entra\u00eenement<\/strong> est <strong>largement sup\u00e9rieur<\/strong> au <strong>score <\/strong>mesur\u00e9 sur les donn\u00e9es de <strong>test<\/strong>. Cela signifie que le mod\u00e8le est <strong>trop complexe<\/strong> pour le probl\u00e8me qu&rsquo;il faut r\u00e9soudre et qu&rsquo;il faut le simplifier. Cela peut \u00eatre aussi la cons\u00e9quence d&rsquo;un jeu de donn\u00e9es <strong>trop petit<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Le <strong>sous-apprentissage<\/strong> ou <strong>underfitting<\/strong>, en revanche est un probl\u00e8me o\u00f9 le mod\u00e8le <strong>n&rsquo;arrive pas <\/strong>\u00e0 capter et \u00e0 <strong>s&rsquo;adapter \u00e0 la complexit\u00e9<\/strong> du jeu de donn\u00e9es. Un indicateur qui permet de d\u00e9tecter cela est que le <strong>score<\/strong> du mod\u00e8le mesur\u00e9 sur les donn\u00e9es d&rsquo;<strong>entra\u00eenement<\/strong> et de <strong>test <\/strong>est <strong>tr\u00e8s faible<\/strong>. Il faut donc <strong>adapter <\/strong>l&rsquo;algorithme pour qu&rsquo;il <strong>capte mieux la complexit\u00e9<\/strong> des donn\u00e9es. Cela peut aussi \u00eatre une cons\u00e9quence d&rsquo;un jeu des donn\u00e9es<strong> trop petit<\/strong>, comme pour l&rsquo;overfitting.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"439\" src=\"https:\/\/ai.reboot-conseil.com\/wp-content\/uploads\/2024\/01\/Capture-decran-2024-01-25-121847-1024x439.png\" alt=\"Exemple d'underfitting et d'overfitting\" class=\"wp-image-747\" srcset=\"https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2024\/01\/Capture-decran-2024-01-25-121847-1024x439.png 1024w, https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2024\/01\/Capture-decran-2024-01-25-121847-300x128.png 300w, https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2024\/01\/Capture-decran-2024-01-25-121847-768x329.png 768w, https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2024\/01\/Capture-decran-2024-01-25-121847.png 1088w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Exemple d&rsquo;underfitting et d&rsquo;overfitting<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Biais li\u00e9s aux donn\u00e9es<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Un autre aspect pour lequel il faut faire attention, la <strong>composition <\/strong>du jeu de donn\u00e9es. Il y a tout un tas de <strong>biais <\/strong>li\u00e9s \u00e0 la <strong>repr\u00e9sentativit\u00e9 <\/strong>des diff\u00e9rents types de donn\u00e9es dans le jeu initial. Par exemple, quand on fait un mod\u00e8le de<strong> reconnaissance faciale<\/strong>, il faut que l&rsquo;algorithme reconnaisse tous les types de visages, peu importe l\u2019ethnicit\u00e9 de la personne, si la personne porte des lunettes, la couleur des cheveux, etc&#8230; Et pour \u00e7a, il faut que le jeu d&rsquo;entra\u00eenement de cet algorithme contienne des images de personnes avec des <strong>caract\u00e9ristiques vari\u00e9es<\/strong> et qu&rsquo;<strong>aucune population<\/strong> ne soit <strong>sur-repr\u00e9sent\u00e9e<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ici, j&rsquo;ai pris l&rsquo;exemple de la reconnaissance faciale, mais ce probl\u00e8me peut survenir sur d&rsquo;autres types de donn\u00e9es.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Les mod\u00e8les de ML sont des programmes informatiques particuliers, qui essaient de deviner des r\u00e8gles \u00e0 partir des donn\u00e9es qu&rsquo;on lui passe en entr\u00e9e. Il y a plusieurs mani\u00e8res de faire apprendre un mod\u00e8le, en fonction de si nos donn\u00e9es sont labellis\u00e9es ou non. Il y a aussi plusieurs obstacles, plusieurs biais \u00e0 \u00e9viter. Dans de futurs articles, on reviendra compl\u00e9ter ces approches et voir comment, concr\u00e8tement, on cr\u00e9\u00e9 un mod\u00e8le, et on op\u00e8re \u00e0 travers ces diff\u00e9rents biais.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Quand on parle de cr\u00e9er une intelligence artificielle, plusieurs approches ont \u00e9t\u00e9 tent\u00e9es pour parvenir \u00e0 cr\u00e9er un algorithme \u00ab\u00a0intelligent\u00a0\u00bb. Cependant, si on regarde r\u00e9cemment, tous les mod\u00e8les que l&rsquo;on trouve sont d\u00e9riv\u00e9s d&rsquo;un paradigme principal : le Machine Learning (souvent abr\u00e9g\u00e9 en ML). Que ce soient les LLM, les r\u00e9seaux de neurones, ou m\u00eame des mod\u00e8les plus simples, tous suivent les principes du Machine Learning (ou l&rsquo;apprentissage automatique en bon fran\u00e7ais). Mais quels sont ces principes ? Comment fonctionne un mod\u00e8le de Machine Learning ? C&rsquo;est ce que cet article veut mettre en avant. Petit point sur le vocabulaire Avant de rentrer dans le sujet, je souhaite simplement mettre au clair certains concepts. Une machine qui apprend ? Avant d&rsquo;aborder ce qu&rsquo;est un algorithme de Machine Learning, et ses particularit\u00e9s, voici un bref rappel de ce qu&rsquo;on attend g\u00e9n\u00e9ralement d&rsquo;un algorithme de Machine Learning. On veut que ce programme, en lui fournissant des donn\u00e9es en entr\u00e9es, qu&rsquo;e l&rsquo;algorithme qu&rsquo;il nous pr\u00e9dise une valeur, la cible de mani\u00e8re correcte. Et donc on veut que notre mod\u00e8le g\u00e9n\u00e9ralise des r\u00e8gles applicables \u00e0 toutes les donn\u00e9es qu&rsquo;il est susceptible de rencontrer pour pr\u00e9dire correctement la cible. Tous les probl\u00e8mes de ML sont des variations de ce probl\u00e8me. Ce qui changera souvent est ce que d\u00e9signent la valeur et le format de celle-ci (nombre, texte, image, etc.) Un algorithme de Machine Learning, c&rsquo;est quelque chose d&rsquo;un peu particulier dans le monde des algorithmes. En effet, quand on parle d&rsquo;algorithme, la comparaison la plus commune pour expliquer ce que c&rsquo;est, c&rsquo;est la recette de cuisine. On a des ingr\u00e9dients, qui repr\u00e9sentent nos entr\u00e9es de l&rsquo;algorithme et des \u00e9tapes \u00e0 suivre qui repr\u00e9sente les r\u00e8gles de notre algorithme. Avec ces deux \u00e9l\u00e9ments, on arrive \u00e0 constituer notre plat final, qui repr\u00e9sente le r\u00e9sultat de l&rsquo;algorithme, et qui est ce qu&rsquo;on cherche \u00e0 automatiser dans le cas d&rsquo;un programme informatique. Et bien un programme d&rsquo;apprentissage automatique fonctionne \u00e0 rebours d&rsquo;un programme classique, \u00e0 lui on va donner des donn\u00e9es en entr\u00e9es, \u00e9ventuellement les r\u00e9sultats qu&rsquo;on attend de lui, et il va se d\u00e9brouiller pour savoir quelles r\u00e8gles permettent de transformer les donn\u00e9es en sortie, ou dans le cas o\u00f9 on n&rsquo;a pas de donn\u00e9es d&rsquo;essayer de trouver des points communs entre les donn\u00e9es. Ce m\u00e9canisme de trouver des r\u00e8gles en fonction des entr\u00e9es, c&rsquo;est ce qu&rsquo;on appelle l&rsquo;apprentissage, ou l&rsquo;entra\u00eenement et c&rsquo;est le point commun de chaque algorithme de Machine Learning. \u00c0 partir de l\u00e0, un des pr\u00e9requis de ce domaine va \u00eatre de constituer un jeu de donn\u00e9es qu&rsquo;on pourra passer \u00e0 l&rsquo;algorithme afin de g\u00e9n\u00e9rer ces r\u00e8gles et faire en sorte que le mod\u00e8le de Machine Learning qu&rsquo;on va cr\u00e9er sera suffisamment performant pour la tache que nous souhaitons r\u00e9aliser. Comment faire apprendre une machine ? Maintenant, qu&rsquo;on a vu le principe g\u00e9n\u00e9ral du Machine Learning, la question est quelles sont les strat\u00e9gies pour faire apprendre une machine. Il en existe plusieurs, et je vais en pr\u00e9senter 3 ici parmi les plus communes : Il existe d&rsquo;autres types d&rsquo;apprentissages, mais voici ceux que je trouve les plus marquants et les plus simples \u00e0 retenir. Quels sont les principaux obstacles ? Maintenant qu&rsquo;on a vu les principaux m\u00e9canismes du ML, de mani\u00e8re assez g\u00e9n\u00e9rique, on va voir quels sont les principaux obstacles qu&rsquo;on rencontre quand on fait du Machine Learning. Si je dois r\u00e9sumer la majorit\u00e9 des obstacles qu&rsquo;on rencontre en un mot, ce serait le mot \u00ab\u00a0biais\u00ab\u00a0. Les algorithmes de ML peuvent tomber dans des biais qui peuvent \u00eatre li\u00e9s \u00e0 divers facteurs. Mauvaise mesure du score du mod\u00e8le Un premier biais que l&rsquo;on peut avoir, arrive quand on mesure les performances de son mod\u00e8le. Pour s&rsquo;assurer que le mod\u00e8le ait bien g\u00e9n\u00e9ralis\u00e9 les r\u00e8gles qu&rsquo;il devait apprendre, on va mesurer le score du mod\u00e8le sur des donn\u00e9es qu&rsquo;il n&rsquo;a pas encore vues, des donn\u00e9es de test. Le risque de mesurer la performance sur les donn\u00e9es que le mod\u00e8le a vues en entra\u00eenement est que le mod\u00e8le a m\u00e9moris\u00e9 les donn\u00e9es et donc qu&rsquo;il n&rsquo;arrive pas \u00e0 g\u00e9n\u00e9raliser. C&rsquo;est pour \u00e7a que le jeu de donn\u00e9es est s\u00e9par\u00e9 en donn\u00e9es d&rsquo;entra\u00eenement et de test (avec g\u00e9n\u00e9ralement 70-80% des donn\u00e9es pour l&rsquo;entrainement, et 20-30% pour le jeu de test). Ce probl\u00e8me est li\u00e9 \u00e0 la m\u00e9thode que l&rsquo;on utilise pour mesurer la performance du mod\u00e8le. Sur-apprentissage et sous-apprentissage Le sur-apprentissage et le sous-apprentissage sont des probl\u00e8mes li\u00e9s \u00e0 la compatibilit\u00e9 entre l&rsquo;algorithme de ML choisi et le jeu de donn\u00e9es. Le sur-apprentissage ou overfitting est un probl\u00e8me o\u00f9 le mod\u00e8le n&rsquo;arrive pas \u00e0 g\u00e9n\u00e9raliser et m\u00e9morise les donn\u00e9es. L&rsquo;indicateur principal du sur-apprentissage est que le score du mod\u00e8le mesur\u00e9 sur les donn\u00e9es d&rsquo;entra\u00eenement est largement sup\u00e9rieur au score mesur\u00e9 sur les donn\u00e9es de test. Cela signifie que le mod\u00e8le est trop complexe pour le probl\u00e8me qu&rsquo;il faut r\u00e9soudre et qu&rsquo;il faut le simplifier. Cela peut \u00eatre aussi la cons\u00e9quence d&rsquo;un jeu de donn\u00e9es trop petit. Le sous-apprentissage ou underfitting, en revanche est un probl\u00e8me o\u00f9 le mod\u00e8le n&rsquo;arrive pas \u00e0 capter et \u00e0 s&rsquo;adapter \u00e0 la complexit\u00e9 du jeu de donn\u00e9es. Un indicateur qui permet de d\u00e9tecter cela est que le score du mod\u00e8le mesur\u00e9 sur les donn\u00e9es d&rsquo;entra\u00eenement et de test est tr\u00e8s faible. Il faut donc adapter l&rsquo;algorithme pour qu&rsquo;il capte mieux la complexit\u00e9 des donn\u00e9es. Cela peut aussi \u00eatre une cons\u00e9quence d&rsquo;un jeu des donn\u00e9es trop petit, comme pour l&rsquo;overfitting. Biais li\u00e9s aux donn\u00e9es Un autre aspect pour lequel il faut faire attention, la composition du jeu de donn\u00e9es. Il y a tout un tas de biais li\u00e9s \u00e0 la repr\u00e9sentativit\u00e9 des diff\u00e9rents types de donn\u00e9es dans le jeu initial. Par exemple, quand on fait un mod\u00e8le de reconnaissance faciale, il faut que l&rsquo;algorithme reconnaisse tous les types de visages, peu importe l\u2019ethnicit\u00e9 de la personne, si la personne porte des lunettes, la couleur des cheveux, etc&#8230; Et pour \u00e7a, il faut que le jeu d&rsquo;entra\u00eenement de cet algorithme contienne des images de personnes avec des caract\u00e9ristiques vari\u00e9es et qu&rsquo;aucune population<\/p>\n","protected":false},"author":4,"featured_media":752,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[55,7,37,56,57,58],"class_list":["post-735","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-generalites","tag-fondamentaux","tag-ia","tag-machine-learning","tag-overfitting","tag-underfitting","tag-vocabulaire"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\ud83e\uddf1Retour aux fondamentaux: Le Machine Learning\ud83e\udd16 -<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/beta.reboot-conseil.com\/index.php\/2024\/01\/25\/retour-aux-fondamentaux-le-machine-learning\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\ud83e\uddf1Retour aux fondamentaux: Le Machine Learning\ud83e\udd16 -\" \/>\n<meta property=\"og:description\" content=\"Quand on parle de cr\u00e9er une intelligence artificielle, plusieurs approches ont \u00e9t\u00e9 tent\u00e9es pour parvenir \u00e0 cr\u00e9er un algorithme \u00ab\u00a0intelligent\u00a0\u00bb. Cependant, si on regarde r\u00e9cemment, tous les mod\u00e8les que l&rsquo;on trouve sont d\u00e9riv\u00e9s d&rsquo;un paradigme principal : le Machine Learning (souvent abr\u00e9g\u00e9 en ML). Que ce soient les LLM, les r\u00e9seaux de neurones, ou m\u00eame des mod\u00e8les plus simples, tous suivent les principes du Machine Learning (ou l&rsquo;apprentissage automatique en bon fran\u00e7ais). Mais quels sont ces principes ? Comment fonctionne un mod\u00e8le de Machine Learning ? C&rsquo;est ce que cet article veut mettre en avant. Petit point sur le vocabulaire Avant de rentrer dans le sujet, je souhaite simplement mettre au clair certains concepts. Une machine qui apprend ? Avant d&rsquo;aborder ce qu&rsquo;est un algorithme de Machine Learning, et ses particularit\u00e9s, voici un bref rappel de ce qu&rsquo;on attend g\u00e9n\u00e9ralement d&rsquo;un algorithme de Machine Learning. On veut que ce programme, en lui fournissant des donn\u00e9es en entr\u00e9es, qu&rsquo;e l&rsquo;algorithme qu&rsquo;il nous pr\u00e9dise une valeur, la cible de mani\u00e8re correcte. Et donc on veut que notre mod\u00e8le g\u00e9n\u00e9ralise des r\u00e8gles applicables \u00e0 toutes les donn\u00e9es qu&rsquo;il est susceptible de rencontrer pour pr\u00e9dire correctement la cible. Tous les probl\u00e8mes de ML sont des variations de ce probl\u00e8me. Ce qui changera souvent est ce que d\u00e9signent la valeur et le format de celle-ci (nombre, texte, image, etc.) Un algorithme de Machine Learning, c&rsquo;est quelque chose d&rsquo;un peu particulier dans le monde des algorithmes. En effet, quand on parle d&rsquo;algorithme, la comparaison la plus commune pour expliquer ce que c&rsquo;est, c&rsquo;est la recette de cuisine. On a des ingr\u00e9dients, qui repr\u00e9sentent nos entr\u00e9es de l&rsquo;algorithme et des \u00e9tapes \u00e0 suivre qui repr\u00e9sente les r\u00e8gles de notre algorithme. Avec ces deux \u00e9l\u00e9ments, on arrive \u00e0 constituer notre plat final, qui repr\u00e9sente le r\u00e9sultat de l&rsquo;algorithme, et qui est ce qu&rsquo;on cherche \u00e0 automatiser dans le cas d&rsquo;un programme informatique. Et bien un programme d&rsquo;apprentissage automatique fonctionne \u00e0 rebours d&rsquo;un programme classique, \u00e0 lui on va donner des donn\u00e9es en entr\u00e9es, \u00e9ventuellement les r\u00e9sultats qu&rsquo;on attend de lui, et il va se d\u00e9brouiller pour savoir quelles r\u00e8gles permettent de transformer les donn\u00e9es en sortie, ou dans le cas o\u00f9 on n&rsquo;a pas de donn\u00e9es d&rsquo;essayer de trouver des points communs entre les donn\u00e9es. Ce m\u00e9canisme de trouver des r\u00e8gles en fonction des entr\u00e9es, c&rsquo;est ce qu&rsquo;on appelle l&rsquo;apprentissage, ou l&rsquo;entra\u00eenement et c&rsquo;est le point commun de chaque algorithme de Machine Learning. \u00c0 partir de l\u00e0, un des pr\u00e9requis de ce domaine va \u00eatre de constituer un jeu de donn\u00e9es qu&rsquo;on pourra passer \u00e0 l&rsquo;algorithme afin de g\u00e9n\u00e9rer ces r\u00e8gles et faire en sorte que le mod\u00e8le de Machine Learning qu&rsquo;on va cr\u00e9er sera suffisamment performant pour la tache que nous souhaitons r\u00e9aliser. Comment faire apprendre une machine ? Maintenant, qu&rsquo;on a vu le principe g\u00e9n\u00e9ral du Machine Learning, la question est quelles sont les strat\u00e9gies pour faire apprendre une machine. Il en existe plusieurs, et je vais en pr\u00e9senter 3 ici parmi les plus communes : Il existe d&rsquo;autres types d&rsquo;apprentissages, mais voici ceux que je trouve les plus marquants et les plus simples \u00e0 retenir. Quels sont les principaux obstacles ? Maintenant qu&rsquo;on a vu les principaux m\u00e9canismes du ML, de mani\u00e8re assez g\u00e9n\u00e9rique, on va voir quels sont les principaux obstacles qu&rsquo;on rencontre quand on fait du Machine Learning. Si je dois r\u00e9sumer la majorit\u00e9 des obstacles qu&rsquo;on rencontre en un mot, ce serait le mot \u00ab\u00a0biais\u00ab\u00a0. Les algorithmes de ML peuvent tomber dans des biais qui peuvent \u00eatre li\u00e9s \u00e0 divers facteurs. Mauvaise mesure du score du mod\u00e8le Un premier biais que l&rsquo;on peut avoir, arrive quand on mesure les performances de son mod\u00e8le. Pour s&rsquo;assurer que le mod\u00e8le ait bien g\u00e9n\u00e9ralis\u00e9 les r\u00e8gles qu&rsquo;il devait apprendre, on va mesurer le score du mod\u00e8le sur des donn\u00e9es qu&rsquo;il n&rsquo;a pas encore vues, des donn\u00e9es de test. Le risque de mesurer la performance sur les donn\u00e9es que le mod\u00e8le a vues en entra\u00eenement est que le mod\u00e8le a m\u00e9moris\u00e9 les donn\u00e9es et donc qu&rsquo;il n&rsquo;arrive pas \u00e0 g\u00e9n\u00e9raliser. C&rsquo;est pour \u00e7a que le jeu de donn\u00e9es est s\u00e9par\u00e9 en donn\u00e9es d&rsquo;entra\u00eenement et de test (avec g\u00e9n\u00e9ralement 70-80% des donn\u00e9es pour l&rsquo;entrainement, et 20-30% pour le jeu de test). Ce probl\u00e8me est li\u00e9 \u00e0 la m\u00e9thode que l&rsquo;on utilise pour mesurer la performance du mod\u00e8le. Sur-apprentissage et sous-apprentissage Le sur-apprentissage et le sous-apprentissage sont des probl\u00e8mes li\u00e9s \u00e0 la compatibilit\u00e9 entre l&rsquo;algorithme de ML choisi et le jeu de donn\u00e9es. Le sur-apprentissage ou overfitting est un probl\u00e8me o\u00f9 le mod\u00e8le n&rsquo;arrive pas \u00e0 g\u00e9n\u00e9raliser et m\u00e9morise les donn\u00e9es. L&rsquo;indicateur principal du sur-apprentissage est que le score du mod\u00e8le mesur\u00e9 sur les donn\u00e9es d&rsquo;entra\u00eenement est largement sup\u00e9rieur au score mesur\u00e9 sur les donn\u00e9es de test. Cela signifie que le mod\u00e8le est trop complexe pour le probl\u00e8me qu&rsquo;il faut r\u00e9soudre et qu&rsquo;il faut le simplifier. Cela peut \u00eatre aussi la cons\u00e9quence d&rsquo;un jeu de donn\u00e9es trop petit. Le sous-apprentissage ou underfitting, en revanche est un probl\u00e8me o\u00f9 le mod\u00e8le n&rsquo;arrive pas \u00e0 capter et \u00e0 s&rsquo;adapter \u00e0 la complexit\u00e9 du jeu de donn\u00e9es. Un indicateur qui permet de d\u00e9tecter cela est que le score du mod\u00e8le mesur\u00e9 sur les donn\u00e9es d&rsquo;entra\u00eenement et de test est tr\u00e8s faible. Il faut donc adapter l&rsquo;algorithme pour qu&rsquo;il capte mieux la complexit\u00e9 des donn\u00e9es. Cela peut aussi \u00eatre une cons\u00e9quence d&rsquo;un jeu des donn\u00e9es trop petit, comme pour l&rsquo;overfitting. Biais li\u00e9s aux donn\u00e9es Un autre aspect pour lequel il faut faire attention, la composition du jeu de donn\u00e9es. Il y a tout un tas de biais li\u00e9s \u00e0 la repr\u00e9sentativit\u00e9 des diff\u00e9rents types de donn\u00e9es dans le jeu initial. Par exemple, quand on fait un mod\u00e8le de reconnaissance faciale, il faut que l&rsquo;algorithme reconnaisse tous les types de visages, peu importe l\u2019ethnicit\u00e9 de la personne, si la personne porte des lunettes, la couleur des cheveux, etc&#8230; Et pour \u00e7a, il faut que le jeu d&rsquo;entra\u00eenement de cet algorithme contienne des images de personnes avec des caract\u00e9ristiques vari\u00e9es et qu&rsquo;aucune population\" \/>\n<meta property=\"og:url\" content=\"https:\/\/beta.reboot-conseil.com\/index.php\/2024\/01\/25\/retour-aux-fondamentaux-le-machine-learning\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-01-25T11:52:33+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-02-09T14:24:33+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2024\/01\/generated_00.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Yohann Jolain\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Yohann Jolain\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/beta.reboot-conseil.com\/index.php\/2024\/01\/25\/retour-aux-fondamentaux-le-machine-learning\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/beta.reboot-conseil.com\/index.php\/2024\/01\/25\/retour-aux-fondamentaux-le-machine-learning\/\"},\"author\":{\"name\":\"Yohann Jolain\",\"@id\":\"https:\/\/beta.reboot-conseil.com\/#\/schema\/person\/bacb74c31f0df7384807193ebe0a205d\"},\"headline\":\"\ud83e\uddf1Retour aux fondamentaux: Le Machine Learning\ud83e\udd16\",\"datePublished\":\"2024-01-25T11:52:33+00:00\",\"dateModified\":\"2024-02-09T14:24:33+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/beta.reboot-conseil.com\/index.php\/2024\/01\/25\/retour-aux-fondamentaux-le-machine-learning\/\"},\"wordCount\":1689,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/beta.reboot-conseil.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/beta.reboot-conseil.com\/index.php\/2024\/01\/25\/retour-aux-fondamentaux-le-machine-learning\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2024\/01\/generated_00.jpg\",\"keywords\":[\"Fondamentaux\",\"IA\",\"Machine Learning\",\"Overfitting\",\"Underfitting\",\"Vocabulaire\"],\"articleSection\":[\"G\u00e9n\u00e9ralit\u00e9s\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/beta.reboot-conseil.com\/index.php\/2024\/01\/25\/retour-aux-fondamentaux-le-machine-learning\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/beta.reboot-conseil.com\/index.php\/2024\/01\/25\/retour-aux-fondamentaux-le-machine-learning\/\",\"url\":\"https:\/\/beta.reboot-conseil.com\/index.php\/2024\/01\/25\/retour-aux-fondamentaux-le-machine-learning\/\",\"name\":\"\ud83e\uddf1Retour aux fondamentaux: Le Machine Learning\ud83e\udd16 -\",\"isPartOf\":{\"@id\":\"https:\/\/beta.reboot-conseil.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/beta.reboot-conseil.com\/index.php\/2024\/01\/25\/retour-aux-fondamentaux-le-machine-learning\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/beta.reboot-conseil.com\/index.php\/2024\/01\/25\/retour-aux-fondamentaux-le-machine-learning\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2024\/01\/generated_00.jpg\",\"datePublished\":\"2024-01-25T11:52:33+00:00\",\"dateModified\":\"2024-02-09T14:24:33+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/beta.reboot-conseil.com\/index.php\/2024\/01\/25\/retour-aux-fondamentaux-le-machine-learning\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/beta.reboot-conseil.com\/index.php\/2024\/01\/25\/retour-aux-fondamentaux-le-machine-learning\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/beta.reboot-conseil.com\/index.php\/2024\/01\/25\/retour-aux-fondamentaux-le-machine-learning\/#primaryimage\",\"url\":\"https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2024\/01\/generated_00.jpg\",\"contentUrl\":\"https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2024\/01\/generated_00.jpg\",\"width\":1024,\"height\":1024},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/beta.reboot-conseil.com\/index.php\/2024\/01\/25\/retour-aux-fondamentaux-le-machine-learning\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/beta.reboot-conseil.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\ud83e\uddf1Retour aux fondamentaux: Le Machine Learning\ud83e\udd16\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/beta.reboot-conseil.com\/#website\",\"url\":\"https:\/\/beta.reboot-conseil.com\/\",\"name\":\"AI Squad\",\"description\":\"Dans le doute, Reboot\",\"publisher\":{\"@id\":\"https:\/\/beta.reboot-conseil.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/beta.reboot-conseil.com\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/beta.reboot-conseil.com\/#organization\",\"name\":\"AI Squad By Reboot Conseil\",\"url\":\"https:\/\/beta.reboot-conseil.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/beta.reboot-conseil.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2023\/09\/cropped-cropped-Logo-IA-Squad-by-Reboot-Conseil-3.png\",\"contentUrl\":\"https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2023\/09\/cropped-cropped-Logo-IA-Squad-by-Reboot-Conseil-3.png\",\"width\":500,\"height\":218,\"caption\":\"AI Squad By Reboot Conseil\"},\"image\":{\"@id\":\"https:\/\/beta.reboot-conseil.com\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/beta.reboot-conseil.com\/#\/schema\/person\/bacb74c31f0df7384807193ebe0a205d\",\"name\":\"Yohann Jolain\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/beta.reboot-conseil.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/771bceb60c3835e74bae64ff0a958295632caea61088783f3e9a9e648705c500?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/771bceb60c3835e74bae64ff0a958295632caea61088783f3e9a9e648705c500?s=96&d=mm&r=g\",\"caption\":\"Yohann Jolain\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\ud83e\uddf1Retour aux fondamentaux: Le Machine Learning\ud83e\udd16 -","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/beta.reboot-conseil.com\/index.php\/2024\/01\/25\/retour-aux-fondamentaux-le-machine-learning\/","og_locale":"fr_FR","og_type":"article","og_title":"\ud83e\uddf1Retour aux fondamentaux: Le Machine Learning\ud83e\udd16 -","og_description":"Quand on parle de cr\u00e9er une intelligence artificielle, plusieurs approches ont \u00e9t\u00e9 tent\u00e9es pour parvenir \u00e0 cr\u00e9er un algorithme \u00ab\u00a0intelligent\u00a0\u00bb. Cependant, si on regarde r\u00e9cemment, tous les mod\u00e8les que l&rsquo;on trouve sont d\u00e9riv\u00e9s d&rsquo;un paradigme principal : le Machine Learning (souvent abr\u00e9g\u00e9 en ML). Que ce soient les LLM, les r\u00e9seaux de neurones, ou m\u00eame des mod\u00e8les plus simples, tous suivent les principes du Machine Learning (ou l&rsquo;apprentissage automatique en bon fran\u00e7ais). Mais quels sont ces principes ? Comment fonctionne un mod\u00e8le de Machine Learning ? C&rsquo;est ce que cet article veut mettre en avant. Petit point sur le vocabulaire Avant de rentrer dans le sujet, je souhaite simplement mettre au clair certains concepts. Une machine qui apprend ? Avant d&rsquo;aborder ce qu&rsquo;est un algorithme de Machine Learning, et ses particularit\u00e9s, voici un bref rappel de ce qu&rsquo;on attend g\u00e9n\u00e9ralement d&rsquo;un algorithme de Machine Learning. On veut que ce programme, en lui fournissant des donn\u00e9es en entr\u00e9es, qu&rsquo;e l&rsquo;algorithme qu&rsquo;il nous pr\u00e9dise une valeur, la cible de mani\u00e8re correcte. Et donc on veut que notre mod\u00e8le g\u00e9n\u00e9ralise des r\u00e8gles applicables \u00e0 toutes les donn\u00e9es qu&rsquo;il est susceptible de rencontrer pour pr\u00e9dire correctement la cible. Tous les probl\u00e8mes de ML sont des variations de ce probl\u00e8me. Ce qui changera souvent est ce que d\u00e9signent la valeur et le format de celle-ci (nombre, texte, image, etc.) Un algorithme de Machine Learning, c&rsquo;est quelque chose d&rsquo;un peu particulier dans le monde des algorithmes. En effet, quand on parle d&rsquo;algorithme, la comparaison la plus commune pour expliquer ce que c&rsquo;est, c&rsquo;est la recette de cuisine. On a des ingr\u00e9dients, qui repr\u00e9sentent nos entr\u00e9es de l&rsquo;algorithme et des \u00e9tapes \u00e0 suivre qui repr\u00e9sente les r\u00e8gles de notre algorithme. Avec ces deux \u00e9l\u00e9ments, on arrive \u00e0 constituer notre plat final, qui repr\u00e9sente le r\u00e9sultat de l&rsquo;algorithme, et qui est ce qu&rsquo;on cherche \u00e0 automatiser dans le cas d&rsquo;un programme informatique. Et bien un programme d&rsquo;apprentissage automatique fonctionne \u00e0 rebours d&rsquo;un programme classique, \u00e0 lui on va donner des donn\u00e9es en entr\u00e9es, \u00e9ventuellement les r\u00e9sultats qu&rsquo;on attend de lui, et il va se d\u00e9brouiller pour savoir quelles r\u00e8gles permettent de transformer les donn\u00e9es en sortie, ou dans le cas o\u00f9 on n&rsquo;a pas de donn\u00e9es d&rsquo;essayer de trouver des points communs entre les donn\u00e9es. Ce m\u00e9canisme de trouver des r\u00e8gles en fonction des entr\u00e9es, c&rsquo;est ce qu&rsquo;on appelle l&rsquo;apprentissage, ou l&rsquo;entra\u00eenement et c&rsquo;est le point commun de chaque algorithme de Machine Learning. \u00c0 partir de l\u00e0, un des pr\u00e9requis de ce domaine va \u00eatre de constituer un jeu de donn\u00e9es qu&rsquo;on pourra passer \u00e0 l&rsquo;algorithme afin de g\u00e9n\u00e9rer ces r\u00e8gles et faire en sorte que le mod\u00e8le de Machine Learning qu&rsquo;on va cr\u00e9er sera suffisamment performant pour la tache que nous souhaitons r\u00e9aliser. Comment faire apprendre une machine ? Maintenant, qu&rsquo;on a vu le principe g\u00e9n\u00e9ral du Machine Learning, la question est quelles sont les strat\u00e9gies pour faire apprendre une machine. Il en existe plusieurs, et je vais en pr\u00e9senter 3 ici parmi les plus communes : Il existe d&rsquo;autres types d&rsquo;apprentissages, mais voici ceux que je trouve les plus marquants et les plus simples \u00e0 retenir. Quels sont les principaux obstacles ? Maintenant qu&rsquo;on a vu les principaux m\u00e9canismes du ML, de mani\u00e8re assez g\u00e9n\u00e9rique, on va voir quels sont les principaux obstacles qu&rsquo;on rencontre quand on fait du Machine Learning. Si je dois r\u00e9sumer la majorit\u00e9 des obstacles qu&rsquo;on rencontre en un mot, ce serait le mot \u00ab\u00a0biais\u00ab\u00a0. Les algorithmes de ML peuvent tomber dans des biais qui peuvent \u00eatre li\u00e9s \u00e0 divers facteurs. Mauvaise mesure du score du mod\u00e8le Un premier biais que l&rsquo;on peut avoir, arrive quand on mesure les performances de son mod\u00e8le. Pour s&rsquo;assurer que le mod\u00e8le ait bien g\u00e9n\u00e9ralis\u00e9 les r\u00e8gles qu&rsquo;il devait apprendre, on va mesurer le score du mod\u00e8le sur des donn\u00e9es qu&rsquo;il n&rsquo;a pas encore vues, des donn\u00e9es de test. Le risque de mesurer la performance sur les donn\u00e9es que le mod\u00e8le a vues en entra\u00eenement est que le mod\u00e8le a m\u00e9moris\u00e9 les donn\u00e9es et donc qu&rsquo;il n&rsquo;arrive pas \u00e0 g\u00e9n\u00e9raliser. C&rsquo;est pour \u00e7a que le jeu de donn\u00e9es est s\u00e9par\u00e9 en donn\u00e9es d&rsquo;entra\u00eenement et de test (avec g\u00e9n\u00e9ralement 70-80% des donn\u00e9es pour l&rsquo;entrainement, et 20-30% pour le jeu de test). Ce probl\u00e8me est li\u00e9 \u00e0 la m\u00e9thode que l&rsquo;on utilise pour mesurer la performance du mod\u00e8le. Sur-apprentissage et sous-apprentissage Le sur-apprentissage et le sous-apprentissage sont des probl\u00e8mes li\u00e9s \u00e0 la compatibilit\u00e9 entre l&rsquo;algorithme de ML choisi et le jeu de donn\u00e9es. Le sur-apprentissage ou overfitting est un probl\u00e8me o\u00f9 le mod\u00e8le n&rsquo;arrive pas \u00e0 g\u00e9n\u00e9raliser et m\u00e9morise les donn\u00e9es. L&rsquo;indicateur principal du sur-apprentissage est que le score du mod\u00e8le mesur\u00e9 sur les donn\u00e9es d&rsquo;entra\u00eenement est largement sup\u00e9rieur au score mesur\u00e9 sur les donn\u00e9es de test. Cela signifie que le mod\u00e8le est trop complexe pour le probl\u00e8me qu&rsquo;il faut r\u00e9soudre et qu&rsquo;il faut le simplifier. Cela peut \u00eatre aussi la cons\u00e9quence d&rsquo;un jeu de donn\u00e9es trop petit. Le sous-apprentissage ou underfitting, en revanche est un probl\u00e8me o\u00f9 le mod\u00e8le n&rsquo;arrive pas \u00e0 capter et \u00e0 s&rsquo;adapter \u00e0 la complexit\u00e9 du jeu de donn\u00e9es. Un indicateur qui permet de d\u00e9tecter cela est que le score du mod\u00e8le mesur\u00e9 sur les donn\u00e9es d&rsquo;entra\u00eenement et de test est tr\u00e8s faible. Il faut donc adapter l&rsquo;algorithme pour qu&rsquo;il capte mieux la complexit\u00e9 des donn\u00e9es. Cela peut aussi \u00eatre une cons\u00e9quence d&rsquo;un jeu des donn\u00e9es trop petit, comme pour l&rsquo;overfitting. Biais li\u00e9s aux donn\u00e9es Un autre aspect pour lequel il faut faire attention, la composition du jeu de donn\u00e9es. Il y a tout un tas de biais li\u00e9s \u00e0 la repr\u00e9sentativit\u00e9 des diff\u00e9rents types de donn\u00e9es dans le jeu initial. Par exemple, quand on fait un mod\u00e8le de reconnaissance faciale, il faut que l&rsquo;algorithme reconnaisse tous les types de visages, peu importe l\u2019ethnicit\u00e9 de la personne, si la personne porte des lunettes, la couleur des cheveux, etc&#8230; Et pour \u00e7a, il faut que le jeu d&rsquo;entra\u00eenement de cet algorithme contienne des images de personnes avec des caract\u00e9ristiques vari\u00e9es et qu&rsquo;aucune population","og_url":"https:\/\/beta.reboot-conseil.com\/index.php\/2024\/01\/25\/retour-aux-fondamentaux-le-machine-learning\/","article_published_time":"2024-01-25T11:52:33+00:00","article_modified_time":"2024-02-09T14:24:33+00:00","og_image":[{"width":1024,"height":1024,"url":"https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2024\/01\/generated_00.jpg","type":"image\/jpeg"}],"author":"Yohann Jolain","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"Yohann Jolain","Dur\u00e9e de lecture estim\u00e9e":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/beta.reboot-conseil.com\/index.php\/2024\/01\/25\/retour-aux-fondamentaux-le-machine-learning\/#article","isPartOf":{"@id":"https:\/\/beta.reboot-conseil.com\/index.php\/2024\/01\/25\/retour-aux-fondamentaux-le-machine-learning\/"},"author":{"name":"Yohann Jolain","@id":"https:\/\/beta.reboot-conseil.com\/#\/schema\/person\/bacb74c31f0df7384807193ebe0a205d"},"headline":"\ud83e\uddf1Retour aux fondamentaux: Le Machine Learning\ud83e\udd16","datePublished":"2024-01-25T11:52:33+00:00","dateModified":"2024-02-09T14:24:33+00:00","mainEntityOfPage":{"@id":"https:\/\/beta.reboot-conseil.com\/index.php\/2024\/01\/25\/retour-aux-fondamentaux-le-machine-learning\/"},"wordCount":1689,"commentCount":0,"publisher":{"@id":"https:\/\/beta.reboot-conseil.com\/#organization"},"image":{"@id":"https:\/\/beta.reboot-conseil.com\/index.php\/2024\/01\/25\/retour-aux-fondamentaux-le-machine-learning\/#primaryimage"},"thumbnailUrl":"https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2024\/01\/generated_00.jpg","keywords":["Fondamentaux","IA","Machine Learning","Overfitting","Underfitting","Vocabulaire"],"articleSection":["G\u00e9n\u00e9ralit\u00e9s"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/beta.reboot-conseil.com\/index.php\/2024\/01\/25\/retour-aux-fondamentaux-le-machine-learning\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/beta.reboot-conseil.com\/index.php\/2024\/01\/25\/retour-aux-fondamentaux-le-machine-learning\/","url":"https:\/\/beta.reboot-conseil.com\/index.php\/2024\/01\/25\/retour-aux-fondamentaux-le-machine-learning\/","name":"\ud83e\uddf1Retour aux fondamentaux: Le Machine Learning\ud83e\udd16 -","isPartOf":{"@id":"https:\/\/beta.reboot-conseil.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/beta.reboot-conseil.com\/index.php\/2024\/01\/25\/retour-aux-fondamentaux-le-machine-learning\/#primaryimage"},"image":{"@id":"https:\/\/beta.reboot-conseil.com\/index.php\/2024\/01\/25\/retour-aux-fondamentaux-le-machine-learning\/#primaryimage"},"thumbnailUrl":"https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2024\/01\/generated_00.jpg","datePublished":"2024-01-25T11:52:33+00:00","dateModified":"2024-02-09T14:24:33+00:00","breadcrumb":{"@id":"https:\/\/beta.reboot-conseil.com\/index.php\/2024\/01\/25\/retour-aux-fondamentaux-le-machine-learning\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/beta.reboot-conseil.com\/index.php\/2024\/01\/25\/retour-aux-fondamentaux-le-machine-learning\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/beta.reboot-conseil.com\/index.php\/2024\/01\/25\/retour-aux-fondamentaux-le-machine-learning\/#primaryimage","url":"https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2024\/01\/generated_00.jpg","contentUrl":"https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2024\/01\/generated_00.jpg","width":1024,"height":1024},{"@type":"BreadcrumbList","@id":"https:\/\/beta.reboot-conseil.com\/index.php\/2024\/01\/25\/retour-aux-fondamentaux-le-machine-learning\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/beta.reboot-conseil.com\/"},{"@type":"ListItem","position":2,"name":"\ud83e\uddf1Retour aux fondamentaux: Le Machine Learning\ud83e\udd16"}]},{"@type":"WebSite","@id":"https:\/\/beta.reboot-conseil.com\/#website","url":"https:\/\/beta.reboot-conseil.com\/","name":"AI Squad","description":"Dans le doute, Reboot","publisher":{"@id":"https:\/\/beta.reboot-conseil.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/beta.reboot-conseil.com\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/beta.reboot-conseil.com\/#organization","name":"AI Squad By Reboot Conseil","url":"https:\/\/beta.reboot-conseil.com\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/beta.reboot-conseil.com\/#\/schema\/logo\/image\/","url":"https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2023\/09\/cropped-cropped-Logo-IA-Squad-by-Reboot-Conseil-3.png","contentUrl":"https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2023\/09\/cropped-cropped-Logo-IA-Squad-by-Reboot-Conseil-3.png","width":500,"height":218,"caption":"AI Squad By Reboot Conseil"},"image":{"@id":"https:\/\/beta.reboot-conseil.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/beta.reboot-conseil.com\/#\/schema\/person\/bacb74c31f0df7384807193ebe0a205d","name":"Yohann Jolain","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/beta.reboot-conseil.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/771bceb60c3835e74bae64ff0a958295632caea61088783f3e9a9e648705c500?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/771bceb60c3835e74bae64ff0a958295632caea61088783f3e9a9e648705c500?s=96&d=mm&r=g","caption":"Yohann Jolain"}}]}},"_links":{"self":[{"href":"https:\/\/beta.reboot-conseil.com\/index.php\/wp-json\/wp\/v2\/posts\/735","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/beta.reboot-conseil.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/beta.reboot-conseil.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/beta.reboot-conseil.com\/index.php\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/beta.reboot-conseil.com\/index.php\/wp-json\/wp\/v2\/comments?post=735"}],"version-history":[{"count":11,"href":"https:\/\/beta.reboot-conseil.com\/index.php\/wp-json\/wp\/v2\/posts\/735\/revisions"}],"predecessor-version":[{"id":754,"href":"https:\/\/beta.reboot-conseil.com\/index.php\/wp-json\/wp\/v2\/posts\/735\/revisions\/754"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/beta.reboot-conseil.com\/index.php\/wp-json\/wp\/v2\/media\/752"}],"wp:attachment":[{"href":"https:\/\/beta.reboot-conseil.com\/index.php\/wp-json\/wp\/v2\/media?parent=735"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/beta.reboot-conseil.com\/index.php\/wp-json\/wp\/v2\/categories?post=735"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/beta.reboot-conseil.com\/index.php\/wp-json\/wp\/v2\/tags?post=735"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}