Qu’est ce qu’un algorithme de Machine Learning ?

Que se cache-t-il derrière le machine learning ? Ce sous-domaine de l'intelligence artificielle est omniprésent dans notre quotidien. Décryptez les algorithmes de machine learning et découvrez comment apprennent les machines.
Sommaire

Définition du machine learning

L’une des premières définitions du machine learning tel que nous le connaissons aujourd’hui remonte à 1959, lorsque Arthur Samuel, l’un des pionniers américains de l’IA et du Machine Learning, a déclaré que :

Le machine learning est le domaine d’étude qui donne aux ordinateurs la capacité d’apprendre sans être explicitement programmés.

Mais que signifie avoir un programme qui n’est pas « explicitement programmé » ? Il est évident qu’il y a du code (beaucoup de code) impliqué dans le machine learning. Alors, quelle est la différence entre la programmation classique et la programmation du machine learning ?

Imaginons qu’un(e) développeur(se) classique et un(e) ingénieur(e) en machine learning décident de construire un programme simple : un programme qui dessine une pomme rouge.

Le ou la développeur(se) donnerait au programme des instructions précises sur la façon de dessiner une pomme : dessiner un cercle, colorier l’intérieur en rouge, dessiner une petite feuille verte au sommet du cercle…

L’ingénieur(e) en machine learning, quant à lui, fournirait plutôt au programme des données : des images de pommes rouges. Avec suffisamment d’exemples, le modèle apprendrait alors à quoi ressemble une pomme : la forme, la couleur, tous les petits détails. Avec suffisamment de données, il serait même capable de dessiner une nouvelle pomme.

Vous pouvez essayer vous-même ! Pouvez-vous nous dire ce que sera le prochain objet dans l’image ci-dessous ?

algorithme de machine learning

 

Si vous avez deviné qu’un cercle bleu vient ensuite, félicitations, vous êtes aussi doué(e) qu’un modèle de machine learning !

Comment avez-vous fait cela ? Et bien, votre cerveau a examiné les données (les objets qui précèdent le point d’interrogation). Il a ensuite absorbé les caractéristiques des objets (la forme et la couleur), et il a découvert un motif dans la séquence de ces formes. Enfin, votre cerveau a supposé un algorithme pour prédire la forme suivante.

Dans cet article, nous allons justement explorer cet algorithme : les règles, la logique, et les calculs derrière les décisions d’un modèle de machine learning.

 

Des algorithmes qui prédisent tout

Les modèles de machine learning font des prédictions basées sur des données. Les algorithmes de machine learning sont la manière dont les modèles produisent ces sorties. Ce sont les étapes de calcul effectuées par le modèle pour trouver les relations entre les données, en examinant les motifs trouvés entre les points de données.

Les algorithmes de machine learning peuvent être divisés en deux catégories :

  • Régression : des algorithmes qui aident à prédire une valeur exacte (par exemple, quel sera le cours des actions d’Apple demain)
  • Classification : des algorithmes qui aident à prédire une catégorie (par exemple, si le cours de l’action d’Apple sera plus élevé ou plus bas qu’aujourd’hui)

Le choix de votre algorithme dépendra du type de problème que vous essayez de résoudre, des ressources dont vous disposez, et de la taille et complexité des données avec lesquelles vous travaillez.

 

Régression – « Donne-moi un nombre »

Les algorithmes de régression permettent de prédire une valeur en examinant comment cette valeur dépend d’autres données. L’algorithme a donc pour but de faire une prédiction de la variable cible ou de la variable à expliquer (y), grâce à des variables dites explicatives ou prédictives (x).

Avec un algorithme de régression, on pourrait par exemple prédire la température de l’air, le salaire des employés, le cours de certaines actions, le nombre de « likes » sur un post Instagram, etc.

Prenons l’exemple de l’algorithme de régression linéaire, qui tente de prédire la variable cible comme une combinaison linéaire des variables explicatives.

Admettons que nous voulons prédire la taille de quelqu’un, en connaissant sa pointure de chaussure. Nous collectons des données qui, lorsqu’elles sont représentées sur un graphique, ressemblent à ceci :

algorithme machine learningLa formule au cœur de l’algorithme de régression linéaire est très simple, vous l’avez très probablement déjà rencontrée à l’école.

y = a * x + b

Ou dans notre cas :

Taille = a * Pointure + b

Cela signifie que la taille est directement et proportionnellement liée à la pointure de chaussure d’une personne, autrement dit linéairement liée.

Avec ces informations, le modèle de machine learning trouve les meilleurs a et b à partir de la formule ci-dessus pour tracer la droite de régression qui s’ajuste le mieux à toutes les données collectées :

Le modèle de machine learning apprend les a et les b qui déterminent cette droite en essayant de nombreuses possibilités et en vérifiant à chaque fois à quelle distance est la ligne pour tous les points de données. Le modèle s’arrête lorsqu’il trouve les coefficients a et b pour lesquels la distance entre la droite de régression et chaque point est la plus faible.

Une fois que le modèle a connaissance de la relation entre la pointure de chaussure et la taille, lorsque nous lui donnons une nouvelle donnée, la pointure de chaussure d’un ami par exemple. Il utilise alors la formule qu’il a apprise pour prédire la taille de notre ami :

algorithme machine learning

 

 

Classification – « Donne-moi une catégorie »

Si les algorithmes de régression nous aident à prédire une valeur sur un spectre continu, les algorithmes de classification permettent d’attribuer des catégories distinctes à nos données.

Vous utiliseriez des algorithmes de classification si vous deviez prédire la capacité d’un client de banque à rembourser un prêt ou non, pour séparer les photos de chats de photos de chiens, pour décider si les taches sur une radio sont dangereuses ou non, ou pour distinguer les avis clients négatifs des avis positifs.

L’exemple d’algorithme de classification le plus connu est l’algorithme des K plus proches voisins (KNN). Voyons comment il pourrait nous aider à distinguer nos animaux de compagnie préférés.

Disons que nous avons collecté un tas d’informations sur les chiens et les chats, par exemple la taille de leurs pattes et la longueur de leurs oreilles. Nous obtenons le graphique suivant :

algorithme machine learning

 

Pour classer de nouveaux animaux, l’algorithme KNN évaluera la distance aux K voisins les plus proches et classera l’animal en fonction de la majorité de ses voisins. Par exemple :

 

 

 

 

Le machine learning est aussi simple que complexe

L’intuition derrière un algorithme de machine learning peut en réalité être assez simple. Avec des outils modernes, vous pourriez rapidement trouver des moyens d’améliorer votre travail grâce au machine learning : c’est ce que nous enseignons dans notre formation de 40 heures sur Python et le Machine Learning.

Même si la quantité de données augmente, une bonne partie des règles continue à s’appliquer.

Essayons de prédire la taille d’une personne, non seulement à partir de sa pointure de chaussure, mais aussi à partir de la taille de sa main, de son âge et de son poids ? Il va être difficile de tracer une droite sur un graphique dans ce cas là, d’abord parce que le graphique serait en 4D !

Mais pour un modèle de machine learning, prédire une valeur à partir d’une seule variable ou de cent variables fonctionnerait toujours de la même manière.

C’est d’ailleurs pourquoi les professionnel(le)s du machine learning doivent réfléchir à d’autres questions pour construire des modèles vraiment impactants :

Quel sera l’impact sur le business ?

L’IA et le machine learning sont au cœur de toutes les discussions, et ces mots sont parfois utilisés pour attirer des individus vers de nouveaux produits. Alors avant toute chose, il est important de réfléchir à l’impact que le machine learning pourrait avoir sur votre travail. Les algorithmes de machine learning consistent à créer une sortie en recherchant des motifs : si vous essayez d’appliquer le machine learning à n’importe quel ensemble de données ou problématique business qui n’est pas répétitif, vous risquez probablement d’être déçu(e) par les résultats.

Quel type de risque est acceptable ?

Il y a pratiquement toujours un certain niveau d’erreur ou de risque dans les prédictions des modèles de machine learning, et le compromis entre l’exactitude du modèle et les ressources nécessaires à son apprentissage est très important. Si vous essayez d’intégrer des recommandations de produits dans votre boutique en ligne, vous serez probablement satisfait(e) avec une précision de 70%. Si vous cherchez à prédire la bonne trajectoire d’un vaisseau pour le faire revenir sur terre, 70% n’est pas acceptable du tout !

Y a-t-il des biais dans nos données ?

C’est un sujet qui peut conduire à des problématiques invisibles mais non négligeables. Pour construire des modèles justes et éthiques, on ne peut pas se fier uniquement aux chiffres choisis par l’algorithme. Vous devez réfléchir à ce qu’impliquent les données à partir desquelles le modèle apprend. Un modèle pourrait catégoriser comme chats des chiens si on lui fournit plus de photos de chats que de photos de chiens. Ce même modèle pourrait donc finir par ne pas détecter de manière égale tous les types de visages humains, si les données sont biaisées en termes de couleurs de peau ou de genre.

 

 

La construction de modèles de machine learning doit être supervisée par des humains pour obtenir des résultats durables et responsables, des machine learning engineers par exemple. Certains métiers comme responsable de l’éthique de l’IA commencent également à faire leur apparition.

 

Formation Machine Learning et Python

 

Les internautes ont également consulté :
Apprendre à coder pour agir vite

Pour devenir les leaders et les visionnaires de demain, les employés doivent dorénavant apprendre à

Pour développe mes compétences
Formation développeur web
Formation data scientist
Formation data analyst
Les internautes ont également consulté :
Thibaud’s path from web marketer to web developer

Thibaud, aujourd’hui développeur chez Matera et ancien étudiant de la session d’automne 2017 à Montréal,

Suscribe to our newsletter

Receive a monthly newsletter with personalized tech tips.