Qu’est-ce-que le Machine Learning ? En tant que Data Scientist, je désire vous donner une réponse claire à cette question, en démystifiant au passage le concept d’Intelligence Artificielle. Voici donc une introduction au Machine Learning qui vous permettra de comprendre le fonctionnement de cette technologie ainsi que ses applications.
Pour accompagner cet article, je vous offre une copie de mon livre “Apprendre le machine learning en une semaine“.
Définition du Machine Learning
Le Machine Learning est un domaine d’étude de l’Intelligence Artificielle qui vise à donner aux machines la capacité d’apprendre. Cette technologie très puissante a permit le développement des voitures autonomes, de la reconnaissance vocale, et de tous les systèmes dits “intelligents” depuis les 10 dernières années.
Définition Historique
Le Machine Learning a été inventé par Arthur Samuel en 1959, après que celui-ci ait développé le premier programme de jeu de Dames doté d’une intelligence artificielle. Ce programme avait appris à jouer aux Dames tout seul, sans recevoir la moindre instruction de son développeur.
Suite à son invention, Arthur Samuel a formulé la première définition historique du Machine Learning :
Machine Learning ou Apprentissage Statistique ?
Aujourd’hui, nous avons une façon plus mathématique de définir le Machine Learning. En français, nous appelons ça Apprentissage Statistique (ou apprentissage automatique) car la majorité des algorithmes utilisés en Machine Learning sont en réalité des modèles statistiques développées à partir de données. Parmi ces modèles, on retrouve par exemple les arbres de décision, la régression linéaire, ainsi que les modèles Bayésien.
Ainsi, pour qu’une machine apprenne à reconnaître un visage sur une photo, nous lui fournissons des milliers de photos à étudier, et la machine développe ses propres règles statistiques permettant de différencier les visages.
Comment fonctionne le Machine Learning ?
Pour comprendre comment une machine peut apprendre à partir de données, il faut se pencher sur les 3 paradigmes d’apprentissage du Machine Learning :
- L’Apprentissage Supervisé (Supervised Learning)
- L’Apprentissage Non-Supervisé (Unsupervised Learning)
- L’Apprentissage par Renforcement (Reinforcement Learning)
Apprentissage Supervisé
L’Apprentissage Supervisé est utilisé pour développer des modèles prédictifs, c’est-à-dire des modèles capables de prédire une certaine valeur y en fonction de variables x_1, x_2, etc.
Pour développer de tels modèles, il faut en premier lieu fournir à la machine une grande quantité de données (x, y). On appelle cela un dataset (un jeu de données). Ensuite, on demande à la machine de développer une fonction d’approximation qui représente au mieux la relation x \rightarrow y présente dans nos données. Pour ça, on utilise un algorithme d’optimisation qui minimise les écarts entre la fonction et les données du dataset. Le nom “Apprentissage Supervisé” vient donc du fait que l’on supervise (tel un professeur) l’apprentissage de la machine en lui fournissant des exemples de question/réponse (x / y) à étudier.
Les applications de l’Apprentissage Supervisé sont nombreuses : On peut les diviser en 2 catégories de problèmes : les Régressions, et les Classifications.
Les problèmes de Régression
Les problèmes de Régression correspondent aux situations dans lesquelles la machine doit apprendre à prédire la valeur d’une variable quantitative (ce qu’on appelle une variable variable continue). Il peut par exemple s’agir du prix d’un appartement, de l’évolution du climat, de la taille d’un individu, etc. Visuellement, on cherche donc à développer un modèle ressemblant à celui présenté ci-dessous
Les problèmes de Classification
Les problèmes de Classification correspondent aux situations dans lesquelles la machine doit apprendre à prédire la valeur d’une variable qualitative (ce qu’on appelle une variable discrète). Autrement dit, la machine doit apprendre à classer ce les données dans des classes. il peut s’agir de classer des emails spam ou non spam, ou bien classer un patient dans une classe malade ou non malade, etc. Dans cette mesure, Les application de reconnaissances faciales ou reconnaissance vocales sont également des applications de classification. Visuellement, on peut ainsi représenter les données et leur classes par des couleurs, et le modèle permet de classer les points grâce à une frontière de décision
Apprentissage Non-Supervisé
Une autre méthode d’apprentissage pour développer des programmes de Machine Learning est l’apprentissage non–Supervisé (Unsupervised Learning). Cette méthode est utilisée quand notre Dataset ne contient pas d’exemples qui indiquent ce que l’on cherche. Voyons cela avec une analogie : Regardez ces 6 photos. Pouvez-vous les regrouper en 2 familles selon leur ressemblance ?
Bien sûr ! C’est même plutôt simple. Nul besoin de savoir s’il s’agit de cellules animales, de bactéries ou de protéines pour apprendre à classer ces images. Votre cerveau a en fait reconnu des structures communes dans les données que vous lui avez montrées. Dans l’apprentissage non-supervisé, on dispose ainsi de données caractérisées par des variables X sans variable cible y, et la machine apprend à reconnaître des structures dans ces données. Grâce à cela, on peut ainsi regrouper des donnés dans des clusters (c’est le Clustering), détecter des anomalies, ou encore réduire la dimension de données très riches en compilant les dimensions ensembles.
Apprentissage par Renforcement
Une dernière technique très populaire est l’apprentissage par renforcement qui consiste à laisser la machine apprendre à faire une tâche (par exemple piloter un mini drone) en la laissant pratiquer seule. Quand la machine réussit ce qu’elle entreprend, elle reçoit un bonus. Quand elle échoue, elle reçoit un malus.
On développe un programme qui force la machine à vouloir maximiser ses bonus, et la machine fait alors l’analyse de ses propres erreurs du passé afin de s’améliorer au fil du temps. C’est un petit peu comme quand nous apprenons à faire du vélo: au début nous n’y arrivons pas du tout, mais a force d’en faire, nous développons intrinsèquement notre équilibre de façon à éviter les erreurs du passé qui nous ont fait tomber !
Conclusion
Le Machine Learning est la nouvelle électricité, il va tout révolutionner. En 2019, le Machine Learning est déjà présent tout autour de nous. En fait, vous l’utilisez probablement des centaines de fois par jour sans même vous en rendre compte. Chaque fois que vous effectuez une recherche dans Google, c’est un modèle de Machine Learning qui a appris comment classer en première page les résultats les plus pertinents parmi des millions de pages web possibles. Quand vous postez une photo de vous sur Facebook, il y a un algorithme de Machine Learning qui parvient à vous identifier parce qu’il a appris à reconnaître des visages sur des photos.
Le machine Learning a déjà commencé à changer la face de notre monde. Il révolutionne l’industrie des transports avec la voiture autonome et fait fonctionner nos objets connectés : Iphone, reconnaissance vocale et vision par ordinateur. Il diagnostique le cancer mieux qu’une équipe de plusieurs docteurs et améliore la sécurité bancaire, la sécurité informatique, prend des décisions judiciaires plus justes… Même l’industrie agricole et le monde de l’art sont touchés par le machine Learning.
Si vous désirez vous former, notre site propose des formations reconnues.
Interesting read , I’m going to spend more time researching this subject
Thank you. Good luck in your coding 🙂
Great tuto thank you. Very helpful
Thank you very much
Très belle explication, fluide et facilement compréhensible. Merci de partager votre savoir
Merci beaucoup pour votre commentaire Eric. Je suis heureux de savoir que l’article a pu aider !
pourrais-je avoir le lien de téléchargement du livre??
Le lien est ci-dessus
Merci beaucoup j’apprécie cette formation et elle m’aide à bien comprendre le machine learning
s’il vous plait j’ai une question concernant la régression linéaire si par exemple je veux prédire un target mais qui n’est pas un vecteur c’est t a dire une matrice comment je peux faire la formulation de la dataset j’ai vu votre vidéo pour un target vecteur de 1 colone et m linges mais pour un autre cas ?
Bonjour, c’est très simple a faire ! Je vous conseille d’utiliser sklearn. Voici un exemple dans lequel on prédit 2 valeurs pour chaque prédiction (les données sont aléatoires, mais c’est juste pour montrer que c’est possible)
import numpy as np
from sklearn.linear_model import LinearRegression
X = np.random.randn(10, 4) # 4 variables X
y = np.random.randn(10, 2) # 2 variables y
model = LinearRegression().fit(X, y)
print(model.predict(X))
Merci beaucoup , mais reste en peu n’est pas cler pour la formulation Mathématiques
Moi par exemple j’ai : x_1 jusqu’à x_n i= 1 jusqu’a n et pour chaque x_i m valeurs c’est dire que chaque x_i peut prendre m valeurs moi je veux prédire les y correspondent à x_1 jusqu’à x_n mais pour m valeurs
je veux formuler le tableau du dataset mais je n’arrive pas également le modèle mathématiques (Régression linéaire simple)
Oui je vois la situation. Avez-vous regardé la vidéo sur la regression polynomiale ? Je pourrais faire une vidéo pour répondre a votre question plus en détails
Non j’ai pas vu un votre vidéo pour la régression polynomiale
Oui se sera mieux pour moi un vidéo contient les détails merci beaucoup
je pense que la modèle soit comme ça
f(x) = ax^n + bx^n-1 + …….. + c ?
x_1……..x_n sont des variables aléatoires
Merci pour ce premier cours qui constitue une bonne introduction parfaitement compréhensible.
Bonjour
pour la régression linéaire
concernant l’algorithme du Gradient
a = a – la dérive de la fonction coût par rapport à a multiplié par alpha
j’ai pris n = 2 par exemple
j’ai une question : le vecteur a est un vecteur colonne et la dérive de la fonction coût par rapport à a est un vecteur ligne comment je peux faire la soustraction ?
Bonjour,
Merci Guillaume pour cette belle introduction au Machine Learning.
merci beaucoup pour vos efforts, j’espère avoir une série sur les réseaux de neurones.
merci beaucoup,
serait il possible que tu nous fasses des videos sur tensorflow 2 s’il te plait
Bonjour, j’ai bien tout compris , vous avez vraiment une façon d’explication bien organisée. Merci pour tout l’effort que vous consacrer pour ce travail. Bon courage!!
salut Guillaume , c’est quand la date de sortie de la serie sur le deep learning