Uploaded by Armand Delaville

L’apprentissage automatique, ou comment les ordinateurs apprennent à partir des données

advertisement
28/06/2023 17:17
L’apprentissage automatique, ou comment les ordinateurs apprennent à partir des données
Abonnez-vous gratuitement à Decideo !
Saisissez ici un mot-clef, un nom de société, un critère d
RECHERCHE AVANCÉE
Abonnement gratuit
BASE DE CONNAISSANCES
DOSSIERS THÉMATIQUES
A DÉCOUVRIR
9,377
FORUMS
L’apprentissage automatique, ou comment
les ordinateurs apprennent à partir des
données
Rédigé par Simon Keith, Actinvision le 26 Janvier 2016
Ce billet s’inscrit dans une série d’articles de vulgarisation sur la data science.
Les liens vers les autres histoires seront ajoutés ici au fur et à mesure de leur
publication.
Data Science et apprentissage automatique
Simon Keith, Actinvision
La Data Science est un vaste champ d’étude interdisciplinaire dont le but fondamental est
d’extraire de la connaissance à partir des données. On y emploie principalement des
techniques et des théories issues des mathématiques appliquées et de l’informatique. La Data
Science étend ces techniques au contexte de l’entreprise par la création de systèmes capables
de valoriser cette connaissance des données ; par exemple en construisant des outils d’aide à
la décision, ou encore en créant de nouveaux modèles d’affaire.
L’apprentissage automatique, ou machine learning en anglais, est le moteur de la Data Science.
En fait c’est avant tout un champ d’étude de l’intelligence artificielle. La discipline est d’ailleurs
https://www.decideo.fr/L-apprentissage-automatique-ou-comment-les-ordinateurs-apprennent-a-partir-des-donnees_a8338.html
1/10
28/06/2023 17:17
L’apprentissage automatique, ou comment les ordinateurs apprennent à partir des données
relativement ancienne puisqu’elle voit ses origines dans les années 1950. Si le terme est
aujourd'hui un Buzz Word, c’est parce que les récents progrès technologiques liés au Big Data
accélèrent le développement d’outils permettant l’industrialisation de la Data Science.
Nous discuterons de l’histoire de l’apprentissage automatique dans un prochain billet de blog,
mais notons déjà que de nombreux spécialistes attribuent en grande partie la paternité de la
discipline à Arthur Samuel. En 1956, cet ingénieur en informatique travaillant chez IBM se lança
comme défi d’apprendre au IBM 701, premier ordinateur commercial de la société, à le battre
au jeu de dames.
Arthur Samuel et l’ordinateur IBM 701
Bien que les règles du jeu soient relativement simples, il n’existe pas moins de 500 milliards de
milliards de positions possibles (5 x 10 puissance 20). Impossible donc de programmer
explicitement l’ordinateur en lui disant quoi faire dans chaque situation. L’idée de génie de
Samuel fut de faire jouer l’ordinateur contre lui-même un très grand nombre de fois, et
d’utiliser le résultat de ces parties (victoire ou défaite) pour évaluer la probabilité de gagner en
jouant un coup donné.
En 1962, le programme battait le champion du Connecticut. C’était une nouvelle d’une
importance majeure : pour la première fois, un ordinateur, une simple machine électronique,
était capable de challenger la supériorité intellectuelle de l’être humain. Évidemment, pour le
public non averti de l’époque, on n'était pas loin de la paranoïa.
Un changement de paradigme
Nous reviendrons sur l’impact de l’apprentissage automatique sur notre société. Mais avant
tout, essayons de comprendre de quoi il s’agit. Arthur Samuel propose la définition suivante :
“champ d'étude qui donne aux ordinateurs la capacité d'apprendre sans être explicitement
programmés”. Cette définition est résolument orientée vers le concept d’intelligence artificielle,
cadre dans lequel le machine learning s’est développé. Si l’on prend un peu de recul et que l’on
se place dans le contexte de ce qu’est la data science aujourd’hui, j’y ajouterais une dimension
plus axée sur les données : c’est également un changement de paradigme dans la façon dont
nous essayons de modéliser des phénomènes, une alternative à la méthode scientifique.
Pour comprendre cette idée, faisons l’analogie avec Google. Pour développer leur moteur de
recherche les ingénieurs de Google ne se sont pas basés sur un modèle qui aurait été construit
grâce à une étude empirique du comportement des internautes. En effet, ils n’ont pas essayé
de comprendre par l’expérience pourquoi un utilisateur clique sur un lien, mais ont plutôt
analysé la structure du web ainsi qu’une grande quantité de données de navigation pour
trouver, à partir d’une liste de mots clés, la page web la plus pertinente. On n’essaye pas de
https://www.decideo.fr/L-apprentissage-automatique-ou-comment-les-ordinateurs-apprennent-a-partir-des-donnees_a8338.html
2/10
28/06/2023 17:17
L’apprentissage automatique, ou comment les ordinateurs apprennent à partir des données
comprendre le lien de causalité entre le fait de chercher une information (les mots clés) et de
sélectionner une page web, on se contente de mettre en évidence la corrélation entre ces deux
éléments. Ainsi lorsque je rencontre cette liste de mots clés, je sais qu’il y a telle probabilité que
l’utilisateur préfère cette page web : je vais donc l’afficher en telle position sur la page des
résultats. L’utilisateur est satisfait, et peu importe si l’on ne sait pas pourquoi il a préféré telle
page à une autre.
En résumé, on s’éloigne d’une méthode scientifique éprouvée (observation d’un
comportement, formulation d’hypothèses, tests empiriques et généralisation d’un modèle).
Avec l’apprentissage automatique on renonce à expliquer le pourquoi : le résultat n’est plus
une équation bien définie dont on connaît toutes les variables, comme celles que l’on retrouve
dans les manuels de physique. L’avantage est de se débarrasser de modèles figés pour une
approche plus évolutive qui s’adapte aux données. En revanche, on perd la capacité d’expliquer
la relation de causalité entre un comportement et les variables qui l’expliquent. En effet, mettre
en évidence une corrélation entre plusieurs variables n’implique pas forcément un lien de
causalité.
Pour en savoir plus sur ce sujet, je vous oriente vers cet excellent article de Chris Anderson.
Mais concrètement, comment ça marche ?
Il existe de nombreux types de problèmes en machine learning : classification, régression,
détection d’anomalies, moteurs de recommandation (cf. Amazon, Netflix), etc. Pour le moment,
nous allons nous intéresser à deux catégories : l’apprentissage supervisé et l’apprentissage non
supervisé. Pour faire court :
- Apprentissage supervisé → on a des observations qui produisent un résultat connu (une
valeur numérique ou un classement dans une catégorie). On veut pouvoir prédire le résultat de
futures observations. Dans un cadre business on parle souvent d’analyse prédictive.
- Apprentissage non supervisé → on a des observations et on veut pouvoir les segmenter de
manière pertinente en un certain nombre de catégories bien distinctes.
L’apprentissage supervisé
En apprentissage supervisé, on dispose d’un ensemble d’observations : les exemples. Ces
observations se présentent sous la forme d’un jeu de données contenant un certain nombre de
variables explicatives, et le plus souvent une seule variable expliquée, ou résultat. On veut
pouvoir prédire ce résultat pour de futures observations.
La détection du churn a été un cas d’usage récurrent ces dernières années. Dans cet exemple
on a une variable expliquée binaire qui va simplement nous dire si un client est toujours chez
nous ou s’il est parti chez la concurrence. Parallèlement pour chaque client on va recueillir tout
un tas de mesures susceptibles d’expliquer ce churn : ce sont nos variables explicatives. Ces
variables vont par exemple provenir du mining de texte sur les réseaux sociaux, de données de
consommation, d’enquêtes de satisfaction client, ou encore de l’analyse des données de
navigation. A partir d’une base de clients dont on connaît le comportement (on sait s’ils sont
restés ou partis à la fin d’une certaine période), on va modéliser la relation entre le churn et
nos variables explicatives. Plus précisément, c’est un algorithme qui, en se basant sur un
certain nombre de paramètres et sur cette base d’exemple, va construire une fonction capable
de prédire le résultat. Voilà pour l’idée générale derrière l’apprentissage supervisé.
Régression vs classification supervisée
https://www.decideo.fr/L-apprentissage-automatique-ou-comment-les-ordinateurs-apprennent-a-partir-des-donnees_a8338.html
3/10
28/06/2023 17:17
L’apprentissage automatique, ou comment les ordinateurs apprennent à partir des données
Lorsque la variable expliquée est une valeur dans un ensemble continu de réels, on parle alors
de régression. Par exemple, on peut vouloir prédire le revenu de clients et de prospects en
fonction de données comme leur catégorie socio-professionnelle, leur métier, leur adresse,
leur âge, ou encore leur sexe. On pourra recueillir nos observations en faisant une enquête sur
un panel de clients. Ensuite, on utilisera une partie de ces observations pour entraîner un
modèle capable de calculer ce revenu. Le reste du panel servira à mesurer la précision de
l’algorithme en comparant valeur réelle et valeur prédite. Enfin, on pourra estimer le revenu
des clients et prospects qui ne sont pas dans le panel.
Autre exemple, la Figure 1 représente deux modèles simples et faciles à visualiser exprimant
une consommation électrique par habitant en fonction de la température moyenne. Le modèle
est représenté par les courbes, les observations par les points.
Figure 1 : courbes de régression (consommation électrique selon la température)
En opposition aux problèmes de régression, lorsque la variable expliquée est une valeur dans
un ensemble fini on parle d’un problème de classification supervisée. Cela revient à assigner un
label à chaque observation. C’est le cas de l’exemple du churn où l’on cherche à classer les
clients dans deux classes : ceux qui restent et ceux qui s’en vont.
Pour illustrer la classification supervisée nous allons prendre un exemple plus simple mais
facile à visualiser. Imaginons que nous souhaitons implémenter un mécanisme de
reconnaissance des pièces de monnaie pour une machine à café. Celle-ci est capable de
mesurer le poids et le diamètre des pièces. Lorsqu’une pièce est insérée dans la machine on
souhaite créditer l’utilisateur du montant correspondant, sans se tromper. On trouve sur
Wikipédia la masse et les dimensions des pièces de la monnaie européenne. Si on aspire ces
données, que l’on génère un certain nombre de pièces pour chaque valeur, et que l’on y ajoute
un peu de bruit pour simuler (grossièrement) l’usure, on obtient le nuage de points ci-dessous
(Figure 2). En fait on peut imaginer que l’on récupère un gros sac de pièces, pour ensuite les
classer par valeur et les mesurer.
https://www.decideo.fr/L-apprentissage-automatique-ou-comment-les-ordinateurs-apprennent-a-partir-des-donnees_a8338.html
4/10
28/06/2023 17:17
L’apprentissage automatique, ou comment les ordinateurs apprennent à partir des données
Figure 2 : jeu de données (50 pièces par valeur)
On s’aperçoit tout de suite que, si certains groupes de pièces sont facilement reconnaissables
(1 centime, 20 centimes), d’autres peuvent facilement être confondus en cas de présence
d’usure et si on se base uniquement sur la masse et le diamètre (par exemple, les pièces de 1
euro et de 50 centimes). Le travail de l’algorithme d’apprentissage sera de séparer ces groupes
en faisant le moins d’erreurs possible. La quantité et la qualité de données, les variables
utilisées (ici masse et diamètre), ou encore le choix de l’algorithme et le réglage de ses
paramètres sont autant de facteurs qui vont jouer dans la précision du modèle.
Pour simplifier encore un peu la visualisation, nous allons nous concentrer sur les 4 types de
pièces ayant la plus haute valeur. Les pièces de 20 centimes et de deux euros sont relativement
facile à distinguer, en revanche celles de 50 centimes et de 1 euro se ressemblent beaucoup.
Nous allons tester deux algorithmes et observer comment ils se comportent. Dans les deux
cas, la démarche est la suivante : dans un premier temps nous fournissons une partie des
données (soit les pièces) à l’algorithme, sur la base desquelles il va apprendre un modèle.
Ensuite nous prenons les pièces restantes et demandons au modèle d’essayer de les
reconnaître. Ainsi le test se fait avec des données qui n’ont pas été observées pendant la phase
d’apprentissage.
Le premier algorithme fait partie de la famille des SVM (Support Vector Machine, Figure 3). Les
formes représentent les données réelles (ou données observées), et les zones de couleur
marquent les limitent du classifieur. Ainsi toute nouvelle pièce qui tomberait dans la zone
rouge serait considérée comme une pièce de 20 centimes. Notons que certaines formes sont
entourées de blanc : ce sont des erreurs de classification. On remarque donc que ce modèle a
du mal a faire la différence entre certaines pièces de 50 centimes et de 1 euro.
Figure 3: SVM (noyau radial)
Le classifieur de la Figure 4 se base sur l’algorithme k-NN (k-Nearest Neighbors). Cet algorithme
utilise une autre approche qui semble ici plus performante ( les lecteurs les plus avertis
remarqueront qu’en réalité nous sommes dans une situation d’overfitting). On voit qu’il a su
isoler les pièces difficiles à identifier. Cependant il pourrait toujours se tromper face à de
nouvelles pièces, qui par exemple présenteraient une forme d’usure inhabituelle. Recueillir
davantage de données, ajouter d’autres mesures (comme l’épaisseur de la pièce), ou encore
modifier les paramètres de l’algorithme permettrait de construire un modèle plus robuste.
https://www.decideo.fr/L-apprentissage-automatique-ou-comment-les-ordinateurs-apprennent-a-partir-des-donnees_a8338.html
5/10
28/06/2023 17:17
L’apprentissage automatique, ou comment les ordinateurs apprennent à partir des données
Figure 4 : k-NN
L’apprentissage non supervisé
La différence majeure quand on parle d’apprentissage non supervisé, c’est que l’on ne dispose
plus d’exemples. Il n’est donc plus possible d’évaluer la performance de l’algorithme en
comparant le résultat avec des valeurs observées. Les problèmes d’apprentissage non
supervisé les plus populaires sont les analyses de clustering.
En cluster analysis, ou classification non supervisée, on essaye de séparer les données en k
groupes, ou classes. Pour faire ce classement on va optimiser deux choses :
maximiser l’homogénéité des données au sein des groupes, c’est à dire faire en sorte que les
observations contenues dans un même groupe se ressemblent le plus possible ;
maximiser l’hétérogénéité entre les groupes, c’est à dire faire en sorte que des observations
appartenant à des groupes distincts soient les plus différentes possible.
Imaginons que nous gérons une grande surface. Grâce à notre programme de fidélité, nous
récoltons des données sur les habitudes de consommation de nos clients. Nous avons classé
les produits de nos rayons en différentes catégories et nous sommes en mesure de calculer
deux indicateurs :
le taux de fidélité aux marques, qui nous permet de savoir si un client achète régulièrement les
produits des mêmes marques ou si au contraire il n’est pas regardant sur ce critère ;
la sensibilité au prix, qui nous permet de savoir si un client préfère choisir les plus petits prix ou
si au contraire il n’hésite pas à payer plus cher pour certains produits.
Notre programme de fidélité compte 400 clients actifs. Nous souhaitons les classer en
plusieurs groupes afin d’adapter notre stratégie marketing. La Figure 5 nous permet de
visualiser le comportement d’achat de nos clients selon ces deux axes d’analyse. Plus l’axe des
ordonnées tend vers 100, plus le client est loyal à ses marques favorites. Plus l’axes des
abscisses tend vers 100, plus le client est attentif au prix des produits.
https://www.decideo.fr/L-apprentissage-automatique-ou-comment-les-ordinateurs-apprennent-a-partir-des-donnees_a8338.html
6/10
28/06/2023 17:17
L’apprentissage automatique, ou comment les ordinateurs apprennent à partir des données
Figure 5 : sensibilité au prix et fidélité aux marques
Il semble que la concentration des clients soit plus dense à certains endroits de ce graphique.
Notamment, on voit un cluster se dessiner en bas à droite, ainsi qu’un ou deux autres dans la
partie supérieure. On remarque aussi que certains clients semblent avoir un comportement
assez différent du reste de la masse, puisqu’ils sont relativement isolés.
Nous allons analyser ces données en deux temps. Commençons par essayer de séparer les
individus qui ont un comportement isolé, les outliers. Cela nous permettra de déterminer plus
facilement le nombre de groupes que nous voulons constituer. Pour cela, nous utilisons
l'algorithme LOF qui se base sur la densité locale des observations. Nous affichons le résultat
de cette première classification sur la Figure 6 (les outliers sont en rouge). Nous y ajoutons
également le gradient de densité : le relief qui se dessine permet de visualiser où se
concentrent les données.
Figure 6 : densité des observations et détection des outliers
Voilà, nous y voyons déjà plus clair. Le gradient de densité nous permet de constater qu’il serait
pertinent de séparer les données en trois classes. Nous allons assigner ces classes aux
données restantes (hors outliers) en utilisant l'algorithme des K-Means. Celui-ci cherche à créer
k clusters (ici k = 3) en regroupant les données de chaque cluster autour d’un point central. Le
résultat est le suivant (Figure 7).
https://www.decideo.fr/L-apprentissage-automatique-ou-comment-les-ordinateurs-apprennent-a-partir-des-donnees_a8338.html
7/10
28/06/2023 17:17
L’apprentissage automatique, ou comment les ordinateurs apprennent à partir des données
Figure 7 : K-Means clustering
On peut maintenant interpréter ces classes en les confrontant à nos indicateurs. La classe -1
représente les outliers : ces clients ont tous un comportement assez singulier, ils ne rentrent
dans aucune “case”. En revanche la classe 3 correspond à un comportement assez clair : ces
clients sont très fidèles à certaines marques et sont prêts à payer le prix de la qualité. Par
opposition, les individus de la classe 1 sont beaucoup plus attentifs au prix, tandis que la
marque n’est pas pour eux un critère d’achat. Enfin, le groupe 2 correspond probablement à
des clients fidèles à certaines marques “petits prix”, peut être même à la marque de
distributeur de notre grande surface.
Ici nous avons utilisé un outil de visualisation pour déterminer le nombre de clusters. Lorsque
le jeu de données comporte beaucoup de variables, il est bien plus difficile de visualiser
l’information. On peut alors utiliser des outils mathématiques pour trouver le nombre de
classes optimal, mais c’est souvent l’analyse des données combinées à la connaissance du
contexte métier qui permet de faire les choix les plus pertinents.
A suivre…
J’espère que ces exemples vous ont permis de voir plus clair sur ce qu’est l’apprentissage
automatique. Dans un prochain article nous nous intéresserons à l’histoire de ce champs
d’étude, que nous agrémenterons de nombreux cas d’usages réels.
AUTRES ARTICLES
Selon une étude de Progress, 64 % des entreprises françaises souffrent de biais de données
Podcast: Mehdi Chouiten, Datategy annonce une nouvelle plateforme de data science
Podcast: Ramzi Larbi, fondateur de VA2CS
Atos QLM, le simulateur quantique d’Atos, fait son entrée au Japon
Plus de gouvernance, de cloud et de graphes, mais moins de Hadoop : mes prévisions pour
2020
Tweet
Partager
https://www.decideo.fr/L-apprentissage-automatique-ou-comment-les-ordinateurs-apprennent-a-partir-des-donnees_a8338.html
8/10
28/06/2023 17:17
L’apprentissage automatique, ou comment les ordinateurs apprennent à partir des données
Commentaires
1.Posté par Vallaud Thierry le 04/02/2016 00:00
Merci Simon
Puisque l'on est dans une démarche didactique plus sur le data mining que le machine learning que
l'on appelle aujourd'hui data science le sujet est un peu plus large et peu aussi être très fun. Tous les
mooc qui m'ont plus....donc certains très amusant !!
http://bigdatauniversity.com/
http://cs109.github.io/2015/
http://work.caltech.edu/telecourse.html
http://www.lecepe.fr/
https://lagunita.stanford.edu/courses/Home/Databases/Engineering/about
https://openclassrooms.com/courses/comprendre-le-big-data-a-travers-les-films-de-cinema
https://www.class-central.com/subject/data-science
https://www.coursera.org/course/matrix
https://www.coursera.org/course/textanalytics Niveau 2
https://www.coursera.org/learn/machine-learning/
https://www.coursera.org/specializations/executive-data-science
https://www.coursetalk.com/providers/coursera/courses/data-analysis-and-statistical-inference
https://www.coursetalk.com/providers/coursera/courses/maps-and-the-geospatial-revolution
https://www.coursetalk.com/providers/edx/courses/6002x-introduction-to-computational-thinkingand-data-science-4 Niveau 1
https://www.edx.org/course/analytics-edge-mitx-15-071x-0
https://www.edx.org/course/data-science-machine-learning-essentials-microsoft-dat203x-0
https://www.edx.org/course/networks-crowds-markets-cornellx-info2040x#%21
https://www.france-universite-numeriquemooc.fr/courses/MinesTelecom/04006S03/session03/about
Bon mooc
Thierry
http://thierry-vallaud.com
2.Posté par tarik le 01/07/2018 11:33
:( :( :(
Nouveau commentaire :
Nom * :
Adresse email (non publiée) * :
Site web :
http://
Commentaire * :
Me notifier l'arrivée de nouveaux commentaires
https://www.decideo.fr/L-apprentissage-automatique-ou-comment-les-ordinateurs-apprennent-a-partir-des-donnees_a8338.html
9/10
28/06/2023 17:17
L’apprentissage automatique, ou comment les ordinateurs apprennent à partir des données
Proposer
Vous pouvez commenter ou apporter un complément d’information à tous les articles de ce site. Les
commentaires sont libres et ouverts à tous. Néanmoins, nous nous réservons le droit de supprimer,
sans explication ni préavis, tout commentaire qui ne serait pas conforme à nos règles internes de
fonctionnement, c'est-à-dire tout commentaire diffamatoire ou sans rapport avec le sujet de l’article.
Par ailleurs, les commentaires anonymes sont systématiquement supprimés s’ils sont trop négatifs ou
trop positifs. Ayez des opinions, partagez les avec les autres, mais assumez les ! Merci d’avance. Merci
de noter également que les commentaires ne sont pas automatiquement envoyés aux rédacteurs de
chaque article. Si vous souhaitez poser une question au rédacteur d'un article, contactez-le
directement, n'utilisez pas les commentaires.
DANS LA MÊME RUBRIQUE :
Databricks rachète MosaicML - 26/06/2023
Au-delà de Chat GPT : Quelle valeur business de l'intelligence artificielle générative ? 19/06/2023
Neo4j annonce de nouvelles intégrations avec des fonctionnalités d'IA générative dans Google
Cloud Vertex AI - 19/06/2023
France 2030 : Emmanuel Macron annonce un effort sans précédent de la France en Intelligence
Artificielle - 17/06/2023
Kalray annonce un nouveau processeur DPU (Data Processing Unit) - 15/06/2023
1
2
3
4
5
» ... 141
Toute reproduction interdite.
Copyright © Decideo OÜ
Contact
Toute reproduction ou représentation intégrale ou partielle, par quelque procédé que ce soit, des pages publiées sur ce site, faite sans l'autorisation de l'éditeur est illicite et constitue une contrefaçon.
https://www.decideo.fr/L-apprentissage-automatique-ou-comment-les-ordinateurs-apprennent-a-partir-des-donnees_a8338.html
10/10
Download