Stratégie et Conseil en IA appliquée | InnoArchiTech
Articles de cette série
-
Aperçu, objectifs, types d’apprentissage et algorithmes
-
Sélection, préparation et modélisation des données
-
Évaluation, validation, complexité et amélioration des modèles
-
> Analyse des performances des modèles et des erreurs
-
Apprentissage non supervisé, domaines connexes et apprentissage automatique en pratique
Introduction
Bienvenue! Il s’agit du premier article d’une série en cinq parties sur l’apprentissage automatique.
L’apprentissage automatique est un sujet très brûlant pour de nombreuses raisons clés, et parce qu’il offre la possibilité d’obtenir automatiquement des informations approfondies, de reconnaître des modèles inconnus et de créer des modèles prédictifs très performants à partir de données, le tout sans nécessiter d’instructions de programmation explicites.
Malgré la popularité du sujet, le véritable but et les détails de l’apprentissage automatique ne sont pas bien compris, sauf par des gens très techniques et / ou des scientifiques des données.
Cette série se veut un guide complet et approfondi de l’apprentissage automatique et devrait être utile à tous, des dirigeants d’entreprise aux praticiens de l’apprentissage automatique. Il couvre pratiquement tous les aspects de l’apprentissage automatique (et de nombreux domaines connexes) à un niveau élevé et devrait servir d’introduction ou de référence suffisante à la terminologie, aux concepts, aux outils, aux considérations et aux techniques du domaine.
Cette compréhension de haut niveau est essentielle si jamais elle est impliquée dans un processus de prise de décision entourant l’utilisation de l’apprentissage automatique, la façon dont il peut aider à atteindre les objectifs commerciaux et de projet, les techniques d’apprentissage automatique à utiliser, les pièges potentiels et la façon d’interpréter les résultats.
Notez que la plupart des sujets abordés dans cette série sont également directement applicables à des domaines tels que l’analyse prédictive, l’exploration de données, l’apprentissage statistique, l’intelligence artificielle, etc.
Définition de l’apprentissage automatique
La définition formelle souvent citée et largement acceptée de l’apprentissage automatique telle qu’énoncée par le pionnier sur le terrain Tom M. Mitchell est la suivante:
Un programme informatique est censé apprendre de l’expérience E en ce qui concerne certaines classes de tâches T et mesurer les performances P si ses performances aux tâches en T, telles que mesurées par P, s’améliorent avec l’expérience E
Ce qui suit est ma façon moins formelle de décrire l’apprentissage automatique.
L’apprentissage automatique est un sous-domaine de l’informatique, mais est souvent également appelé analyse prédictive ou modélisation prédictive. Son objectif et son utilisation sont de construire de nouveaux algorithmes et / ou d’exploiter les algorithmes existants pour apprendre des données, afin de construire des modèles généralisables qui donnent des prédictions précises, ou de trouver des modèles, en particulier avec de nouvelles données similaires inédites.
Aperçu du processus d’apprentissage automatique
Imaginez un ensemble de données sous forme de tableau, où les lignes sont chaque observation (aka mesure, point de données, etc.), et les colonnes de chaque observation représentent les caractéristiques de cette observation et leurs valeurs.
Au début d’un projet d’apprentissage automatique, un ensemble de données est généralement divisé en deux ou trois sous-ensembles. Les sous-ensembles minimaux sont les ensembles de données de formation et de test, et souvent un troisième ensemble de données de validation optionnel est également créé.
Une fois que ces sous-ensembles de données sont créés à partir de l’ensemble de données principal, un modèle prédictif ou un classificateur est formé à l’aide des données d’apprentissage, puis la précision prédictive du modèle est déterminée à l’aide des données de test.
Comme mentionné, l’apprentissage automatique s’appuie sur des algorithmes pour modéliser et trouver automatiquement des modèles dans les données, généralement dans le but de prédire une sortie ou une réponse cible. Ces algorithmes sont fortement basés sur les statistiques et l’optimisation mathématique.
L’optimisation est le processus de recherche de la valeur la plus petite ou la plus grande (minima ou maxima) d’une fonction, souvent appelée fonction de perte ou de coût dans le cas de la minimisation. L’un des algorithmes d’optimisation les plus populaires utilisés dans l’apprentissage automatique est appelé descente de gradient, et un autre est connu sous le nom d’équation normale.
En un mot, l’apprentissage automatique consiste à apprendre automatiquement un modèle prédictif ou classificateur très précis, ou à trouver des modèles inconnus dans les données, en tirant parti des algorithmes d’apprentissage et des techniques d’optimisation.
Types d’apprentissage
Les principales catégories d’apprentissage automatique sont l’apprentissage supervisé, non supervisé et semi-supervisé. Nous allons nous concentrer sur les deux premiers dans cet article.
Dans l’apprentissage supervisé, les données contiennent la variable de réponse (étiquette) en cours de modélisation, et le but étant que vous souhaitiez prédire la valeur ou la classe des données invisibles. L’apprentissage non supervisé consiste à apprendre à partir d’un ensemble de données qui n’a pas d’étiquette ou de variable de réponse, et consiste donc davantage à trouver des modèles qu’à prédire.
Comme je suis un grand fan de la NFL et des Bears de Chicago, mon équipe vous aidera à illustrer ce type d’apprentissage! Supposons que vous ayez une tonne de données et de statistiques des Bears de Chicago datant du moment où l’équipe est devenue membre agréé de la NFL (1920) jusqu’à aujourd’hui (2016).
Imaginez que chaque ligne des données est essentiellement un instantané (ou une observation) des statistiques pertinentes pour chaque match depuis 1920. Les colonnes dans ce cas, et les données contenues dans chacune, représentent les caractéristiques (valeurs) des données, et peuvent inclure des données telles que la date du match, l’adversaire du match, les victoires de la saison, les défaites de la saison, la position de division de fin de saison, la place d’après-saison (O / N), les statistiques d’après-saison, et peut-être des statistiques spécifiques aux trois phases du jeu: attaque, défense et équipes spéciales.
Dans le cas supervisé, votre objectif peut être d’utiliser ces données pour prédire si les Ours vont gagner ou perdre contre une certaine équipe pendant un match donné, et sur un terrain donné (à domicile ou à l’extérieur). Gardez à l’esprit que tout peut arriver dans le football en termes de blessures avant et pendant le match, de conditions météorologiques, de mauvais appels d’arbitres, etc., alors prenez cela simplement comme un exemple d’application d’un apprentissage supervisé avec une réponse oui ou non (prédiction), par opposition à la détermination de la probabilité ou de la probabilité que « Da Bears » remporte la victoire.
Comme vous disposez de données historiques de victoires et de défaites (la réponse) contre certaines équipes sur certains terrains de football, vous pouvez tirer parti de l’apprentissage supervisé pour créer un modèle permettant de faire cette prédiction.
Supposons maintenant que votre objectif soit de trouver des modèles dans les données historiques et d’apprendre quelque chose que vous ne connaissez pas déjà, ou de regrouper l’équipe de certaines manières tout au long de l’histoire. Pour ce faire, vous exécutez un algorithme d’apprentissage automatique non supervisé qui regroupe (regroupe) automatiquement les données, puis analyse les résultats du regroupement.
Avec un peu d’analyse, on peut constater que ces clusters générés automatiquement regroupent apparemment l’équipe dans les exemples de catégories suivants au fil du temps:
-
Une défense solide, une attaque en cours d’exécution faible, une attaque en passe forte, des équipes spéciales faibles, une place en séries éliminatoires
-
Une défense solide, une attaque en cours d’exécution forte, une attaque en passe faible, des équipes spéciales moyennes, une place en séries éliminatoires
-
Une défense faible, une attaque globale forte, des équipes spéciales fortes, a raté les séries éliminatoires
-
et ainsi de suite
Une un exemple d’analyse de grappes non supervisée serait de trouver une raison potentielle pour laquelle ils ont raté les séries éliminatoires dans le troisième groupe ci-dessus. Peut-être à cause de la faible défense? Les Ours ont toujours été une équipe défensive solide, et certains disent que la défense gagne des championnats. Il suffit de dire…
Dans les deux cas, chacune des classifications ci-dessus peut se rapporter à un certain laps de temps, auquel on s’attendrait. Peut-être que l’équipe a été caractérisée par l’un de ces groupes plus d’une fois au cours de son histoire, et pour des périodes de temps différentes.
Pour caractériser l’équipe de cette manière sans techniques d’apprentissage automatique, il faudrait parcourir toutes les données et statistiques historiques, trouver manuellement les modèles et attribuer les classifications (clusters) pour chaque année en tenant compte de toutes les données, et compiler les informations. Ce ne serait certainement pas une tâche rapide et facile.
Alternativement, vous pouvez écrire un programme explicitement codé pour parcourir les données, et cela doit savoir quelles statistiques d’équipe prendre en compte, quels seuils prendre en compte pour chaque statistique, etc. Il faudrait beaucoup de temps pour écrire le code, et différents programmes devraient être écrits pour chaque problème nécessitant une réponse.
Ou you vous pouvez utiliser un algorithme d’apprentissage automatique pour faire tout cela automatiquement pour vous en quelques secondes.
Objectifs et résultats de l’apprentissage automatique
Les algorithmes d’apprentissage automatique sont principalement utilisés pour les types de résultats suivants :
-
Clustering (Non supervisé)
-
Classification à deux classes et à plusieurs classes (supervisée)
-
Régression : Univariée, multivariée, etc. (Supervisé)
-
Détection d’anomalies (non supervisée et supervisée)
-
Systèmes de recommandation (alias moteur de recommandation)
Les algorithmes spécifiques utilisés pour chaque type de sortie sont discutés dans la section suivante, mais d’abord, donnons un aperçu général de chacune des sorties ci-dessus, ou types de problèmes.
Comme discuté, le clustering est une technique non supervisée pour découvrir la composition et la structure d’un ensemble de données donné. Il s’agit d’un processus de regroupement de données en clusters pour voir quels regroupements émergent, le cas échéant. Chaque cluster est caractérisé par un ensemble contenu de points de données et un centroïde de cluster. Le centroïde du cluster est essentiellement la moyenne (moyenne) de tous les points de données que le cluster contient, pour toutes les entités.
Les problèmes de classification impliquent de placer un point de données (ou observation) dans une classe ou une catégorie prédéfinie. Parfois, les problèmes de classification attribuent simplement une classe à une observation, et dans d’autres cas, le but est d’estimer les probabilités qu’une observation appartienne à chacune des classes données.
Un excellent exemple de classification à deux classes consiste à attribuer la classe de Spam ou Ham à un e-mail entrant, où ham signifie simplement « pas de spam ». La classification multi-classes signifie simplement plus de deux classes possibles. Ainsi, dans l’exemple du spam, peut-être qu’une troisième classe serait « Inconnue ».
La régression est juste un mot de fantaisie pour dire qu’un modèle attribuera une valeur continue (réponse) à une observation de données, par opposition à une classe discrète. Un bon exemple de cela serait de prédire le cours de clôture de la moyenne industrielle du Dow Jones un jour donné. Cette valeur pourrait être n’importe quel nombre, et serait donc un candidat parfait pour la régression.
Notez que parfois le mot régression est utilisé dans le nom d’un algorithme qui est effectivement utilisé pour des problèmes de classification, ou pour prédire une réponse catégorielle discrète (par exemple, spam ou ham). Un bon exemple est la régression logistique, qui prédit des probabilités d’une valeur discrète donnée.
Un autre type de problème est la détection d’anomalies. Bien que nous aimerions penser que les données sont bien comportées et sensées, malheureusement, ce n’est souvent pas le cas. Parfois, des points de données erronés sont dus à des dysfonctionnements ou à des erreurs de mesure, ou parfois à une fraude. D’autres fois, il se peut que des mesures anormales indiquent une pièce matérielle ou électronique défaillante.
Parfois, les anomalies sont révélatrices d’un problème réel et ne sont pas faciles à expliquer, comme un défaut de fabrication, et dans ce cas, la détection des anomalies fournit une mesure du contrôle de la qualité, ainsi qu’un aperçu de si les mesures prises pour réduire les défauts ont fonctionné ou non. Dans les deux cas, il y a des moments où il est avantageux de trouver ces valeurs anormales, et certains algorithmes d’apprentissage automatique peuvent être utilisés pour le faire.
Le dernier type de problème est traité avec un système de recommandation, ou aussi appelé moteur de recommandation. Les systèmes de recommandation sont un type de système de filtrage de l’information, et sont destinés à faire des recommandations dans de nombreuses applications, y compris les films, la musique, les livres, les restaurants, les articles, les produits, etc. Les deux approches les plus courantes sont le filtrage basé sur le contenu et le filtrage collaboratif.
Deux excellents exemples de moteurs de recommandation populaires sont ceux proposés par Netflix et Amazon. Netflix fait des recommandations afin de fidéliser les téléspectateurs et de leur fournir de nombreux contenus à regarder. En d’autres termes, pour garder les gens en utilisant Netflix. Ils le font avec leurs recommandations « Parce que vous avez regardé … », « Meilleurs choix pour Alex » et « Suggestions pour vous ».
Amazon fait une chose similaire afin d’augmenter les ventes grâce à la vente incitative, de maintenir les ventes grâce à l’engagement des utilisateurs, etc. Ils le font par le biais de leurs recommandations « Les Clients Qui Ont Acheté Cet Article Ont Également Acheté », « Recommandations pour Vous, Alex », « Liées aux Articles que Vous avez Consultés » et « Plus d’Articles à Considérer ».
Algorithmes d’apprentissage automatique
Nous avons maintenant couvert les types de problèmes d’apprentissage automatique et les sorties souhaitées. Nous allons maintenant donner un aperçu de haut niveau des algorithmes d’apprentissage automatique pertinents.
Voici une liste d’algorithmes, supervisés et non supervisés, qui sont très populaires et méritent d’être connus à un niveau élevé. Notez que certains de ces algorithmes seront discutés plus en profondeur plus tard dans cette série.
Régression supervisée
-
Régression linéaire simple et multiple
-
Régression de l’arbre de décision ou de la forêt
-
Réseaux de neurones artificiels
-
Régression ordinale
-
Régression de poisson
-
Méthodes du plus proche voisin (par ex.(k-NN ou k-Voisins les plus proches)
Supervisé à deux classes &Classification multi-classes
-
Régression logistique et régression multinomiale
-
Réseaux de neurones artificiels
-
Arbre de décision, forêt et jungles
-
SVM (machine vectorielle de support)
-
Méthodes Perceptron
-
Classificateurs bayésiens (par exemple, Bayes naïves)
-
Méthodes voisines les plus proches (par exemple Un par rapport à tous les multiclasses
Non supervisé
-
K- signifie le clustering
-
Clustering hiérarchique
Détection d’anomalies
-
Machine vectorielle de support (une classe)
-
PCA (Principle component analysis)
Notez qu’une technique souvent utilisée pour améliorer les performances du modèle consiste à combiner les résultats de plusieurs modèles. Cette approche tire parti de ce qu’on appelle des méthodes d’ensemble, et les forêts aléatoires en sont un excellent exemple (discuté plus loin).
Si rien d’autre, c’est une bonne idée de vous familiariser au moins avec les noms de ces algorithmes populaires, et d’avoir une idée de base du type de problème d’apprentissage automatique et de sortie pour lesquels ils peuvent être bien adaptés.
Résumé
L’apprentissage automatique, l’analyse prédictive et d’autres sujets connexes sont des domaines très passionnants et puissants.
Bien que ces sujets puissent être très techniques, bon nombre des concepts impliqués sont relativement simples à comprendre à un niveau élevé. Dans de nombreux cas, une simple compréhension est tout ce qui est nécessaire pour avoir des discussions basées sur des problèmes d’apprentissage automatique, des projets, des techniques, etc.
La deuxième partie de cette série fournira une introduction aux performances des modèles, couvrira le processus d’apprentissage automatique et discutera en détail de la sélection des modèles et des compromis associés.
Restez à l’écoute!
À propos de l’auteur
Alex est le fondateur d’InnoArchiTech et de l’InnoArchiTech Institute, ainsi que l’auteur de AI for People and Business publié par O’Reilly Media.