# 2: Ce que vous devez savoir sur les algorithmes d'apprentissage automatique et pourquoi vous devriez vous en soucier

Il s'agit de la partie 2 du didacticiel en 6 parties, Le guide PM étape par étape pour créer des produits basés sur l'apprentissage automatique.

Nous avons précédemment discuté du type d'impact commercial que ML peut avoir. Maintenant, passons en revue tous les termes techniques que vous devez connaître pour travailler efficacement avec une équipe de science des données et les aider à générer le plus grand impact pour votre entreprise (ou du moins comme si vous savez de quoi ils parlent).

Algorithmes, modèles et données

Au niveau conceptuel, nous construisons une machine qui, étant donné un certain ensemble d'entrées, produira une certaine sortie souhaitée en trouvant des modèles dans les données et en tirant des leçons.

Un cas très courant est qu'une machine commence par regarder un ensemble donné d'entrées et un ensemble de sorties qui correspondent à ces entrées. Il identifie les modèles entre eux et crée un ensemble de règles complexes qu'il peut ensuite appliquer à de nouvelles entrées qu'il n'a pas vues auparavant et produire la sortie souhaitée. Par exemple, étant donné la superficie, l'adresse et le nombre de pièces (l'entrée), nous cherchons à prédire le prix de vente d'une maison (la sortie). Disons que nous avons des données sur la superficie, l'adresse et le nombre de pièces de 10 000 maisons, ainsi que leur prix de vente. La machine «s'entraînera» sur les données - c.-à-d. Identifier les modèles qui déterminent comment la superficie, l'adresse et le nombre de pièces affectent le prix d'une maison, de sorte que si nous lui donnons ces 3 entrées pour une maison qu'elle n'a jamais vue auparavant, elle peut prédire le prix de cette maison.

Le rôle du data scientist est de trouver la machine optimale à utiliser compte tenu des entrées et des sorties attendues. Elle a plusieurs modèles - appelés algorithmes - pour les machines. Les machines qu'elle produit à partir de ces modèles pour résoudre un problème spécifique sont appelées modèles. Les modèles ont différentes options et paramètres qu'elle peut modifier pour produire différents modèles à partir du même modèle. Elle peut utiliser différents modèles et / ou modifier les paramètres du même modèle pour générer de nombreux modèles qu'elle peut tester pour voir celui qui donne les meilleurs résultats.

Notez que la sortie du modèle est correcte / utile pour la prise de décision à un certain degré de probabilité. Les modèles ne sont pas corrects à 100%, mais sont plutôt des «meilleures suppositions» étant donné la quantité de données que le modèle a vues. Plus le modèle a de données, plus il est susceptible de fournir des résultats utiles.

L'ensemble des entrées et sorties connues que le scientifique des données utilise pour «former» la machine - c'est-à-dire laisser le modèle identifier les modèles dans les données et créer des règles - est «l'ensemble d'apprentissage». Ces données sont utilisées avec un ou plusieurs «modèles» pour créer un ou plusieurs modèles qui, selon les scientifiques, pourraient fonctionner pour résoudre le problème. N'oubliez pas que même si elle n'a utilisé qu'un seul «modèle» (algorithme), elle peut modifier certaines options pour générer plusieurs modèles à partir du même modèle, avec des paramètres différents, de sorte qu'elle se retrouve probablement avec plusieurs modèles.

Après avoir eu quelques-uns de ces modèles «formés», elle doit vérifier dans quelle mesure ils fonctionnent et lequel fonctionne le mieux. Elle le fait en utilisant un nouvel ensemble de données appelé «ensemble de validation». Elle exécute les modèles sur les entrées de l'ensemble de validation pour voir lequel donne les résultats les plus proches des sorties de l'ensemble de validation. Dans notre exemple - quel modèle prédira un prix de la maison le plus proche du prix réel pour lequel la maison a été vendue. Elle a besoin d'un nouvel ensemble de données à ce stade, car les modèles ont été créés en fonction de leurs performances avec l'ensemble d'entraînement, ils sont donc biaisés pour bien fonctionner sur cet ensemble et ne donneront pas une vraie lecture.

Une fois qu'elle a validé le modèle le plus performant et choisi le gagnant, notre data scientist doit déterminer les performances réelles de ce modèle, c'est-à-dire la qualité du meilleur modèle qu'elle pourrait produire pour résoudre le problème. Encore une fois, elle a besoin d'un nouvel ensemble de données car le modèle fonctionne clairement bien sur les ensembles de formation et de validation - c'est ainsi qu'il a été choisi! L'ensemble de données final est appelé «ensemble de test». Dans notre exemple, elle vérifiera à quel point les prix des logements prévus pour les entrées de l'ensemble de tests sont proches des prix réels des ensembles de tests. Nous discuterons plus loin de la mesure des performances.

Types «d'apprentissage»

Le type d'algorithme que vous pouvez appliquer pour résoudre un problème d'apprentissage automatique dépend beaucoup des données dont vous disposez. Une classification clé des algorithmes d'apprentissage est basée sur les données requises pour construire des modèles qui les utilisent: si les données doivent inclure à la fois des entrées et des sorties ou seulement des entrées, combien de points de données sont nécessaires et quand les données sont collectées. Il comprend 4 catégories principales: apprentissage supervisé, apprentissage non supervisé, apprentissage semi-supervisé et apprentissage par renforcement.

Enseignement supervisé

Le cas que nous avons discuté en détail dans la section précédente décrit ce que nous appelons «l'apprentissage supervisé». Il s'agit d'un type d'apprentissage dans lequel un algorithme a besoin de voir de nombreux exemples de données étiquetées - des données qui sont composées à la fois d'entrées et de sorties correspondantes, pour fonctionner. La partie «étiquetée» fait référence au marquage des entrées avec le résultat que le modèle essaie de prédire, dans notre exemple de prix des maisons.

Les algorithmes d'apprentissage supervisé voient les données étiquetées (alias «données de vérité terrain»), en tirent des enseignements et font des prédictions basées sur ces exemples. Ils nécessitent beaucoup de données étiquetées à l'avance: alors que le nombre dépend du cas d'utilisation, des centaines de points de données sont le strict minimum pour accéder à tout ce qui est utile à distance.

Deux problèmes classiques résolus par l'apprentissage supervisé sont:

  • Régression. La déduction de la valeur d'une variable inconnue sur la base d'autres éléments de données qu'il va de soi aurait un effet sur cette variable. Deux utilisations courantes sont les prédictions ponctuelles - par exemple, notre exemple précédent de prédiction de la valeur d'une maison en fonction de variables telles que l'emplacement et la superficie en pieds carrés, et la prévision de valeurs futures - par exemple, la prévision des valeurs d'une maison dans un an à partir de la valeur historique et actuelle de la maison Les données. La régression est une méthode statistique qui détermine la relation entre les variables indépendantes (les données dont vous disposez déjà) et la variable dépendante dont vous cherchez à prédire la valeur).
  • Classification. Identifier à quelle catégorie une entité appartient à partir d'un ensemble donné de catégories. Cela pourrait être une classification binaire - par exemple, déterminer si un article deviendra viral (oui / non), et une catégorisation multi-étiquettes - par exemple, étiqueter les photos des produits avec la catégorie appropriée à laquelle le produit appartient (sur des centaines de catégories éventuellement).

Apprentissage non supervisé

Dans un apprentissage non supervisé, l'algorithme essaie d'identifier des modèles dans les données sans avoir à étiqueter l'ensemble de données avec le résultat souhaité. Les données sont «non étiquetées» - elles sont simplement «est», sans aucune étiquette significative attachée à elle. Quelques problèmes classiques résolus par des méthodes d'apprentissage non supervisées sont:

  • Regroupement. Compte tenu d'un certain critère de similitude, recherchez les éléments les plus similaires les uns aux autres. Un domaine où le regroupement est utilisé est le texte - considérez les résultats de recherche qui renvoient de nombreux documents très similaires. Le clustering peut être utilisé pour les regrouper et permettre à l'utilisateur d'identifier plus facilement les documents les plus distincts.
  • Association. Classez les objets dans des compartiments en fonction d'une relation, de sorte que la présence d'un objet dans un compartiment prédit la présence d'un autre. Par exemple, le problème de recommandation "personnes qui ont acheté ... ont également acheté ...": si l'analyse d'un grand nombre de paniers révèle que la présence du produit X dans un panier est susceptible d'indiquer que le produit Y sera également dans le panier, vous pouvez recommander immédiatement le produit Y à tous ceux qui ont mis le produit X dans leur panier.
  • Détection d'une anomalie. Identifier les modèles inattendus dans les données qui doivent être signalés et traités. Les applications standard sont la détection des fraudes et la surveillance de l'intégrité des systèmes complexes. (Remarque: Il existe des techniques de détection d'anomalies supervisées, mais l'utilisation de techniques non supervisées est courante car, par définition, il est assez difficile d'obtenir des données étiquetées pour les anomalies, et c'est une condition préalable à l'utilisation de techniques supervisées.)

Apprentissage semi-supervisé

Il s'agit d'un hybride entre apprentissage supervisé et non supervisé, où l'algorithme nécessite certaines données de formation, mais beaucoup moins que dans le cas de l'apprentissage supervisé (éventuellement un ordre de grandeur en moins). Les algorithmes pourraient être des extensions des méthodes utilisées dans l'apprentissage supervisé et non supervisé - classification, régression, clustering, détection d'anomalies, etc.

Apprentissage par renforcement

Ici, l'algorithme commence avec un ensemble limité de données et apprend à mesure qu'il obtient plus de commentaires sur ses prédictions au fil du temps.

Comme vous pouvez le voir, en plus du type de problème que vous essayez de résoudre, la quantité de données dont vous disposez aura un impact sur les types de méthodes d'apprentissage que vous pouvez utiliser. Cela s'applique également dans l'autre sens - la méthode d'apprentissage que vous devez utiliser peut vous obliger à obtenir plus de données que vous n'en avez afin de résoudre efficacement votre problème. Nous en discuterons plus tard.

Autres «mots à la mode» courants à connaître

Il y a quelques autres termes que vous rencontrerez souvent lorsque vous travaillez plus dans l'espace. Il est important de comprendre leur relation (ou leur absence) avec les catégories dont nous avons discuté.

L'apprentissage profond est orthogonal aux définitions ci-dessus. C'est simplement l'application d'un type spécifique de système pour résoudre les problèmes d'apprentissage - la solution peut être supervisée, non supervisée, etc.

Un réseau de neurones artificiels (ANN) est un système d'apprentissage qui tente de simuler le fonctionnement de notre cerveau - à travers un réseau de «neurones» organisés en couches. Un réseau de neurones a au minimum une couche d'entrée - l'ensemble des neurones à travers lesquels les données sont ingérées dans le réseau, une couche de sortie - les neurones à travers lesquels les résultats sont communiqués, et une ou plusieurs couches intermédiaires, appelées «couches cachées» , qui sont les couches qui effectuent le travail de calcul. L'apprentissage profond est simplement l'utilisation de réseaux de neurones avec plus d'une couche cachée pour accomplir une tâche d'apprentissage. Si jamais vous utilisez de tels réseaux - félicitations, vous pouvez aussi légitimement lancer le mot à la mode!

Les méthodes d'ensemble ou l'apprentissage d'ensemble sont l'utilisation de plusieurs modèles pour obtenir un résultat meilleur que ce que chaque modèle pourrait atteindre individuellement. Les modèles pourraient être basés sur différents algorithmes ou sur le même algorithme avec des paramètres différents. L'idée est qu'au lieu d'avoir un modèle qui prend des entrées et génère des sorties - disons une prédiction d'une certaine sorte, vous avez un ensemble de modèles qui génèrent chacun une prédiction, et un processus pour peser les différents résultats et décider ce que la sortie de la groupe combiné devrait être. Les méthodes d'ensemble sont fréquemment utilisées dans l'apprentissage supervisé (elles sont très utiles dans les problèmes de prédiction) mais peuvent également s'appliquer dans l'apprentissage non supervisé. Votre équipe de science des données testera probablement ces méthodes et les appliquera le cas échéant.

Le traitement du langage naturel (PNL) est le domaine de l'informatique traitant de la compréhension du langage par les machines. Tous les types de PNL n'utilisent pas l'apprentissage automatique. Par exemple, si nous générons un «nuage de tags» - une représentation visuelle du nombre de fois qu'un mot apparaît dans un texte - il n'y a pas d'apprentissage impliqué. Une analyse et une compréhension plus sophistiquées de la langue et du texte nécessitent souvent un ML. Quelques exemples:

  • Génération de mots clés. Comprendre le sujet d'un corps de texte et créer automatiquement des mots-clés pour celui-ci
  • Désambiguïsation de la langue. Déterminer le sens pertinent à partir de multiples interprétations possibles d'un mot ou d'une phrase (c'est une excellente explication avec des exemples)
  • Analyse des sentiments. Comprendre où se situe sur une échelle de négatif à positif le sentiment exprimé dans un texte
  • Extraction d'entités nommées. Identifier les entreprises, les personnes, les lieux, les marques, etc. dans un texte; cela est particulièrement difficile lorsque les noms ne sont pas distinctifs (par exemple, la société «Microsoft» est plus facile à identifier que la société «Target», qui est également un mot en anglais)

La PNL n'est pas seulement utilisée pour les applications linguistiques de ML telles que les chatbots. Il est également largement utilisé pour préparer et prétraiter les données avant de pouvoir être une entrée utile dans de nombreux modèles ML. Plus sur cela plus tard.

Veuillez noter: Les définitions ci-dessus sont censées transmettre les idées principales et être pratiques; pour une définition scientifique détaillée, veuillez vous référer à d'autres sources.

Comment le problème affecte la solution (et quelques autres concepts clés du ML)

L'objectif stratégique que vous essayez d'atteindre avec ML dictera de nombreuses décisions en aval. Il est important de comprendre certains concepts de base du ML et leur impact sur vos objectifs commerciaux afin de vous assurer que votre équipe de science des données peut produire la bonne solution pour votre entreprise.

Sélection d'algorithme

Un petit changement dans la définition du problème pourrait signifier qu'un algorithme complètement différent est nécessaire pour le résoudre, ou au minimum un modèle différent sera construit avec différentes entrées de données. Un site de rencontres cherchant à identifier les types de photos qui fonctionnent bien pour les utilisateurs peut utiliser des techniques d'apprentissage non supervisées comme le clustering pour identifier des thèmes communs qui fonctionnent, alors que si le problème est de recommander des dates potentielles à une personne spécifique, le site peut utiliser un apprentissage supervisé basé sur des entrées. spécifiques à chaque utilisateur, comme les photos qu'ils ont déjà consultées.

Sélection de fonctionnalité

Les modèles ML identifient les modèles dans les données. Les données que vous introduisez dans les modèles sont organisées en fonctionnalités (également appelées variables ou attributs): il s'agit de données pertinentes et largement indépendantes qui décrivent certains aspects du phénomène que vous essayez de prédire ou d'identifier.

Prenons l'exemple précédent d'une entreprise qui cherche à prioriser la sensibilisation des demandeurs de prêt. Si nous définissons le problème comme «prioriser les clients en fonction de leur probabilité de conversion», nous inclurons des fonctionnalités telles que le taux de réponse des clients similaires aux différents types de contacts de l'entreprise. Si nous définissons le problème comme «prioriser les clients les plus susceptibles de rembourser leurs prêts», nous pourrions ne pas inclure ces fonctionnalités car elles ne sont pas pertinentes pour évaluer la probabilité de paiement du client.

Sélection de la fonction objective

La fonction objectif est l'objectif que vous optimisez ou le résultat que le modèle tente de prédire. Par exemple, si vous essayez de suggérer des produits qui pourraient intéresser un utilisateur, la sortie d'un modèle pourrait être la probabilité qu'un utilisateur clique sur le produit s'il l'a vu. Il peut également s'agir de la probabilité que l'utilisateur achète le produit. Le choix de la fonction objectif dépend principalement de votre objectif commercial - dans cet exemple, êtes-vous plus intéressé par l'engagement des utilisateurs, auquel cas votre fonction objectif peut être des clics ou du temps de séjour, ou des revenus directs, auquel cas votre fonction objectif sera achats? L'autre considération clé est la disponibilité des données: pour que l'algorithme apprenne, vous devrez lui fournir de nombreux points de données qui sont «étiquetés» comme positifs (les produits qu'un utilisateur a vus et cliqué dessus) ou négatifs (les produits qu'un utilisateur a vus et n'a pas cliqué sur). Vous aurez probablement un ordre de grandeur de plus de points de données sur les produits sur lesquels vous avez cliqué (ou non) par rapport aux produits achetés.

Explicabilité et interprétabilité

La sortie des modèles ML est souvent un nombre - une probabilité, une prédiction de la probabilité que quelque chose se produise ou soit vrai. Dans l'exemple de recommandations de produits, les produits sur le site peuvent se voir attribuer une probabilité qu'un utilisateur individuel clique dessus, et les produits avec la probabilité la plus élevée seront montrés à l'utilisateur. Mais comment savez-vous que cela fonctionne? Dans ce cas, il est relativement facile de vérifier que l'algorithme fonctionne - vous pouvez probablement exécuter un court test et voir. Mais que se passe-t-il si les entités que vous classez sont des employés potentiels et que votre modèle teste leur probabilité d'être de bons candidats pour une entreprise? Un utilisateur (par exemple, un responsable du recrutement) va-t-il vous croire sur parole ou devra-t-il comprendre pourquoi l'algorithme classe la personne A avant la personne B?

Dans de nombreux cas, vous aurez quelques explications à faire. Cependant, de nombreux algorithmes ML sont une boîte noire: vous entrez de nombreuses fonctionnalités et obtenez un modèle difficile à impossible à expliquer. Les motifs que la machine trouve dans les données sont souvent si compliqués qu'un humain ne pourra pas les saisir même s'ils étaient faciles à mettre en mots.

Dans les sections suivantes, nous verrons que la nécessité d'explicabilité - dans quelle mesure l'utilisateur final doit être en mesure de comprendre comment le résultat a été obtenu, et d'interprétabilité - dans quelle mesure l'utilisateur doit tirer certaines conclusions sur la base des résultats, est une considération critique dans votre approche de la modélisation, de la sélection des fonctionnalités et de la présentation des résultats.

Pièges de modélisation et de mesure du rendement Les PM doivent faire attention

Vos scientifiques des données traiteront de certains problèmes courants liés au traitement et à la modélisation des données, mais afin d'avoir des conversations productives avec eux, il est utile que les PM comprennent quelques pièges courants. Ce n'est pas une liste exhaustive, mais comprend certains des problèmes les plus courants qui se posent.

Sur-ajustement

Un modèle est dit «surajusté» lorsqu'il suit les données de si près qu'il finit par décrire trop de bruit plutôt que la véritable relation sous-jacente au sein des données (voir l'illustration). D'une manière générale, si la précision du modèle sur les données avec lesquelles vous le formez (les données dont le modèle «apprend») est nettement meilleure que sa précision sur les données avec lesquelles vous le validez et le testez, vous pouvez avoir un cas de sur-ajustement .

Illustration de sur-ajustement

Précision, rappel et compromis entre eux

Il y a deux termes qui prêtent à confusion la première fois que vous les entendez, mais ils sont importants à bien comprendre car ils ont des implications commerciales claires.

La précision de la classification (et d'autres techniques de ML couramment utilisées telles que la récupération de documents), est souvent mesurée par deux mesures clés: la précision et le rappel. La précision mesure la part des prédictions positives vraies sur toutes les prédictions positives générées par l'algorithme, c'est-à-dire le% de prédictions positives qui sont correctes. Si la précision est de X%, X% des prédictions positives de l'algorithme sont de vrais positifs et (100-X)% sont de faux positifs. En d'autres termes, plus la précision est élevée, moins vous aurez de faux positifs.

Le rappel est la part des prédictions positives parmi tous les vrais positifs dans les données - c'est-à-dire quel% des vrais positifs dans les données votre algorithme a réussi à identifier comme positifs. Si le rappel est de X%, X% des vrais positifs dans les données ont été identifiés par l'algorithme comme positifs, tandis que (100-X)% ont été identifiés comme (faux) négatifs. En d'autres termes, plus le rappel est élevé, moins vous aurez de faux négatifs.

Il y a toujours un compromis entre précision et rappel. Si vous ne voulez pas de faux positifs - c'est-à-dire que vous avez besoin d'une plus grande précision, l'algorithme aura plus de faux négatifs, c'est-à-dire un rappel plus faible, car il «préférerait» étiqueter quelque chose comme négatif plutôt que de l'étiqueter à tort comme positif, et vice versa. Ce compromis est une décision commerciale. Prenons l'exemple de la demande de prêt: préférez-vous faire preuve de prudence et n'accepter que les candidats que vous méritez très certainement d'être acceptés, augmentant ainsi les chances de rejeter de bons clients (précision plus élevée, rappel inférieur = moins de faux positifs, plus de faux négatifs) , ou accepter plus de demandeurs de prêts qui devraient être rejetés mais ne risquent pas de manquer de bons clients (rappel plus élevé mais précision moindre = moins de faux négatifs, plus de faux positifs)? Bien que vous puissiez dire de manière simplifiée qu'il s'agit d'un problème d'optimisation, il y a souvent des facteurs à considérer qui ne sont pas facilement quantifiables tels que le sentiment des clients (par exemple, les clients injustement rejetés seront en colère et vocaux), le risque de marque (par exemple, votre réputation en tant que souscripteur dépend d'un faible taux de défaut de paiement), obligations légales, etc., ce qui en fait une décision commerciale et non pas une science des données.

La métrique de précision du modèle souvent trompeur

La précision du modèle à elle seule n'est une bonne mesure pour aucun modèle. Imaginez une maladie avec un taux d'incidence de 0,1% dans la population. Un modèle qui dit qu'aucun patient n'a la maladie quelle que soit l'entrée est précis à 99,9%, mais complètement inutile. Il est important de toujours considérer la précision et le rappel et de les équilibrer en fonction des besoins de l'entreprise. La précision est une bonne mesure lorsque la distribution des résultats possibles est assez uniforme et que l'importance des faux positifs et des faux négatifs est également à peu près égale, ce qui est rarement le cas.

Mesures moyennes et données d'entraînement déséquilibrées

Lorsque vous traitez plusieurs segments qu'un modèle doit traiter, vous devez examiner séparément les mesures de performance pour chaque segment (ou au moins les plus importantes). Prenons par exemple un modèle de classification qui classe les photos dans l'une des catégories par type d'animal sur la photo. Les nombres globaux de précision / rappel du modèle peuvent ne pas refléter une situation où certaines catégories ont une grande précision, tandis que d'autres ont une très faible précision. Cela se produit généralement lorsque vous avez un déséquilibre dans vos données d'entraînement - disons que vous avez 1 000 photos étiquetées de chats et de chiens et seulement 10 photos d'ours. Votre précision globale peut être très élevée car la plupart des photos de chats et de chiens seront classées correctement, tandis que tous les ours sont mal identifiés car le modèle ne dispose que de peu ou pas de données qui leur sont associées. Si ces catégories moins fréquentes sont importantes pour votre entreprise, vous aurez peut-être besoin d'un effort concerté pour obtenir des données de formation afin que votre modèle fonctionne bien dans tous les domaines.

Ok - c'était assez long, mais j'espère que vous avez maintenant une bonne compréhension de toutes les bases techniques. Ensuite, nous allons passer par le processus détaillé, étape par étape, de développement d'un modèle de l'idéation au lancement en production.

Si vous avez trouvé cet article intéressant, pourriez-vous s'il vous plaît cliquer sur le cœur vert ci-dessous pour me le faire savoir, ou le partager avec quelqu'un d'autre qui pourrait le trouver utile? Cela ferait totalement ma journée!