Machine learning is the current buzz-phrase meant to encompass the computer algorithms used to make decisions, predictions, or classifications based on data.Machine learning is the current buzz-phrase meant to encompass the computer algorithms used to make decisions, predictions, or classifications based on data.Machine learning is the current buzz-phrase meant to encompass the computer algorithms used to make decisions, predictions, or classifications based on data.Machine learning is the current buzz-phrase meant to encompass the computer algorithms used to make decisions, predictions, or classifications based on data.L'apprentissage automatique est l'expression à la mode actuelle destinée à englober les algorithmes informatiques utilisés pour prendre des décisions, des prédictions ou des classifications basées sur des données.
Quand j'ai rejoint JMP en 2014, je venais de terminer un doctorat en statistiques dans une école avec une longue histoire d'excellence dans les expérimentations agricoles et la modélisation mixte. C'était le monde auquel j'étais habitué : de petites expériences conçues pour maximiser les informations reçues grâce à une planification judicieuse, presque toujours une caractéristique de conception d'expérience qui nécessitait des techniques de modèles mixtes pour être analysées (la plus simple étant une conception en parcelles divisées), et l'objectif de déterminer quel(s) traitement(s) donne(nt) les meilleurs résultats. Cela était vrai, que le scientifique avec qui je travaillais appartienne à la science animale, à l'entomologie, à la science alimentaire ou à l'éducation.
Peu de temps après son arrivée chez JMP, le buzz autour du Big Data a atteint son apogée . Quelques années plus tard, l'essor de l'apprentissage automatique s'est produit. Il n'est pas surprenant que l'essor du Machine Learning soit inférieur à celui du Big Data. Qu'étaient censés faire les gens avec toutes les données qu'ils avaient collectées ? Analysez-le à l'aide des outils de la boîte à outils Machine Learning, bien sûr.
Mon éducation formelle ne m'avait pas particulièrement préparé à l'une ou l'autre de ces choses, mais au début de ma carrière en tant que développeur statisticien, ces sujets étaient ce dont j'avais besoin pour me mettre au courant et rapidement ! J'ai donc fait ce que chaque étudiant fait de nos jours lorsqu'il fait ses premiers pas dans un nouveau sujet : j'ai visité Wikipédia .
" Apprentissage automatique est un interdisciplinaire domaine qui utilise des techniques statistiques pour donner systèmes informatiques la capacité "d'apprendre" (par exemple, d'améliorer progressivement les performances sur une tâche spécifique) à partir de données , sans être explicitement programmé.
C'était un peu étourdissant. Comment est-il possible pour un système informatique « d'apprendre » quoi que ce soit sans être explicitement programmé ? Nous n'avons pas atteint Skynet , pourtant, que je suis au courant! Il est temps de continuer à creuser. Encyclopédie Britannica dit, " Apprentissage automatique , en intelligence artificielle (discipline relevant de l'informatique), discipline concernée par la mise en œuvre de logiciels informatiques capables d'apprendre de manière autonome.
Maintenant, j'ai perdu ma connexion aux statistiques dans la définition, mais au moins, il est plus évident que nous sommes intéressés par la mise en œuvre d'un logiciel capable d'apprendre de manière autonome. Le "sans être explicitement programmé" fait référence au fait qu'une fois les données transmises à l'algorithme, l'algorithme fait le reste sans autre instruction de notre part.
Sur la base de ces définitions et de ma perception de l'usage courant de l'expression, j'en suis venu à penser que l'apprentissage automatique est l'expression à la mode actuelle destinée à englober les algorithmes informatiques utilisés pour prendre des décisions, des prédictions ou des classifications basées sur des données.
Apprentissage supervisé ou non supervisé
Il en va de même JMP faire de l'apprentissage automatique ? Absolument! Et nous l'avons, techniquement, dès la toute première version ! Étions-nous si en avance sur notre temps en 1989 ? J'aimerais le penser. Mais examinons plus en détail les algorithmes auxquels les gens pensent lorsqu'ils parlent d'apprentissage automatique.
En règle générale, les algorithmes d'apprentissage automatique sont classés en différents types - apprentissage supervisé et non supervisé. Avec l'apprentissage supervisé, les algorithmes fonctionnent à la fois avec les prédicteurs (les colonnes X) et une réponse (la colonne Y). Les données d'apprentissage utilisées « supervisent » l'algorithme en lui indiquant quelle devrait être la réponse pour les valeurs données des variables prédictives. Avec l'apprentissage non supervisé, seuls les prédicteurs sont utilisés par les algorithmes, et tous les modèles sont déterminés uniquement par eux. Il n'y a pas de "vérité" fournie - et en fait, nous ne connaissons peut-être pas la "vérité".
Quels algorithmes de machine learning dans JMP appartiennent à quelles catégories ?
Supervisé
|
Non surveillé
|
Arbres de décision *
|
Regroupement
|
Les réseaux de neurones *
|
Cartes auto-organisées
|
Forêt d'amorçage *
|
Analyse des associations
|
Régression
|
Décomposition en valeurs singulières
|
K voisins les plus proches *
|
|
Naïf Bayes *
|
|
* Certaines fonctionnalités de ces plates-formes sont JMPPro seul.
Beaucoup de gens sont surpris de voir la régression sur la liste, et ce n'est certainement pas parmi ce que l'on appelle communément l'apprentissage automatique, mais c'est la forme la plus simple d'apprentissage supervisé. Et Fit Y by X était dans JMP 1 ! Le clustering a été ajouté dans JMP 3, et les options d'apprentissage automatique ont continué à venir par la suite.
Pour ceux d'entre vous qui connaissent un ou plusieurs de ces algorithmes, vous remarquerez peut-être une similitude entre eux. De nombreux modèles produisent une précision prédictive étonnante, mais si vous essayiez d'expliquer ce que signifient les coefficients ou les seuils, vous auriez probablement du mal à le faire. Je peux suivre un arbre de décision à travers ses points de coupure pour arriver à une prédiction, mais il n'y a aucune signification inhérente à l'endroit où se trouvent ces points de coupure. Je n'ai aucune idée de ce que signifient les estimations de paramètres dans un modèle de réseau neuronal dans le "monde réel", mais les réseaux neuronaux font partie des modèles d'apprentissage automatique les plus performants.
En revanche, un modèle de régression fournit des estimations de paramètres qui ont une signification inhérente pour les utilisateurs. Si un coefficient est positif, nous savons que l'augmentation de la valeur de ce prédicteur d'une unité augmentera la réponse de la valeur du coefficient. Cela rejoint ce que le Dr Galit Shmueli appelle « Expliquer ou prévoir ? » L'un des meilleurs compromis dans ce compromis réside dans la personnalité de régression généralisée de la plate-forme Fit Model. Comme mon collègue Clay Barker l'a expliqué, l'utilisation du Lasso ou d'Elastic Net améliore les performances prédictives, mais le modèle peut encore être expliqué.
Mais le manque d'interprétabilité est-il important ? Peut-être peut-être pas. Si le cas d'utilisation est strictement axé sur la réalisation des prédictions les plus précises d'événements futurs, un modèle interprétable n'est pas nécessaire. En revanche, si les parties prenantes veulent des moyens plus concrets pour « améliorer leur score », un modèle explicable peut être préféré. La clé de tout modèle est de pouvoir mettre la sortie en action.
Les humains sont toujours nécessaires
Cela amène mon dernier point. Même avec toutes les choses étonnantes que les algorithmes informatiques peuvent faire, un analyste humain est toujours nécessaire pour traiter les questions de niveau supérieur.
- Quelles données doivent être incluses ou exclues de l'analyse ? Certains algorithmes ont la capacité de choisir des variables importantes, mais si une variable n'a pas été donnée à l'ordinateur au départ, elle ne sera pas choisie même si elle pourrait être hautement prédictive !
- Où est l'intérêt des rendements décroissants ? Si un modèle est trop complexe pour être exécuté dans le temps nécessaire, il ne sera pas utile. Peut-être qu'un modèle moins complexe donne des résultats presque aussi bons et peut être exécuté rapidement. Un exemple bien connu en est le gagnant du prix Netflix. Le modèle gagnant a mieux fonctionné que presque tout le monde s'y attendait, mais la quantité de données requises et le traitement ont rendu impossible l'exécution dans l'environnement en temps réel dont Netflix avait besoin pour suggérer ce que les utilisateurs devraient regarder ensuite.
- Existe-t-il des biais inhérents au modèle ? De toute évidence, un algorithme informatique n'aura pas les biais que les humains ont, mais il est possible qu'un algorithme aboutisse à un modèle fortement corrélé avec des caractéristiques biaisées. Dans les prêts hypothécaires, il existe des caractéristiques qu'il est illégal d'utiliser pour prendre des décisions de prêt. Cependant, il existe plusieurs facteurs juridiques qui peuvent être étroitement liés aux facteurs illégaux. Un algorithme peut générer un modèle qui rejette presque parfaitement une ethnie particulière même sans que l'ethnicité ne fasse directement partie des données. Ce modèle aurait probablement des conséquences juridiques.
- Quand le modèle doit-il être mis à jour ? Étant donné que le but de la modélisation est de produire une sorte de sortie sur laquelle nous pouvons agir, une fois cette action entreprise, le modèle devra être mis à jour. Cette mise à jour est nécessaire car les changements qui sont mis en œuvre affecteront les futures entrées dans le modèle. Si nous continuons à utiliser l'ancien modèle, nous risquons d'extrapoler au-delà des limites des données d'origine. Le moment auquel un modèle doit être mis à jour est une question à laquelle seuls les humains peuvent répondre.
Dans mon prochain message , je vais vous parler de deux de mes algorithmes d'apprentissage automatique préférés : K Nearest Neighbors et Naïve Bayes. Et nous allons jeter un œil à ces deux méthodes en action sur des données amusantes que j'ai moi-même recueillies.