IA 101
Qu’est-ce que l’apprentissage automatique ?

L’apprentissage automatique est l’un des domaines technologiques à la croissance la plus rapide, mais malgré la fréquence à laquelle les mots « apprentissage automatique » sont utilisés, il peut être difficile de comprendre ce qu’est précisément l’apprentissage automatique.
L’apprentissage automatique ne fait pas référence à une seule chose, c’est un terme générique qui peut être appliqué à de nombreux concepts et techniques différents. Comprendre l’apprentissage automatique signifie être familiarisé avec différentes formes d’analyse de modèle, de variables et d’algorithmes. Examinons de plus près l’apprentissage automatique pour mieux comprendre ce qu’il englobe.
Qu’est-ce que l’apprentissage automatique ?
Alors que le terme apprentissage automatique peut être appliqué à de nombreuses choses différentes, en général, le terme fait référence à la capacité de permettre à un ordinateur d’effectuer des tâches sans recevoir d’instructions explicites ligne par ligne pour le faire. Un spécialiste de l’apprentissage automatique n’a pas besoin d’écrire toutes les étapes nécessaires pour résoudre le problème, car l’ordinateur est capable d’« apprendre » en analysant les modèles dans les données et en généralisant ces modèles à de nouvelles données.
Les systèmes d’apprentissage automatique ont trois parties de base :
- Entrées
- Algorithmes
- Sorties
Les entrées sont les données qui sont alimentées dans le système d’apprentissage automatique, et les données d’entrée peuvent être divisées en étiquettes et fonctionnalités. Les fonctionnalités sont les variables pertinentes, les variables qui seront analysées pour apprendre les modèles et tirer des conclusions. Pendant ce temps, les étiquettes sont des classes/descriptions attribuées aux instances individuelles de données.
Les fonctionnalités et les étiquettes peuvent être utilisées dans deux types de problèmes d’apprentissage automatique : l’apprentissage supervisé et l’apprentissage non supervisé.
Apprentissage non supervisé vs. apprentissage supervisé
Dans l’apprentissage supervisé, les données d’entrée sont accompagnées d’une vérité de base. Les problèmes d’apprentissage supervisé ont les valeurs de sortie correctes comme partie du jeu de données, donc les classes attendues sont connues à l’avance. Cela permet au data scientist de vérifier les performances de l’algorithme en testant les données sur un jeu de données de test et en voyant quel pourcentage d’éléments a été correctement classé.
En revanche, les problèmes d’apprentissage non supervisé n’ont pas d’étiquettes de vérité de base attachées à eux. Un algorithme d’apprentissage automatique formé pour effectuer des tâches d’apprentissage non supervisé doit être capable d’inférer les modèles pertinents dans les données par lui-même.
Les algorithmes d’apprentissage supervisé sont généralement utilisés pour les problèmes de classification, où l’on a un grand jeu de données rempli d’instances qui doivent être triées dans l’une des nombreuses classes différentes. Un autre type d’apprentissage supervisé est une tâche de régression, où la valeur de sortie de l’algorithme est continue par nature et non catégorique.
Pendant ce temps, les algorithmes d’apprentissage non supervisé sont utilisés pour des tâches telles que l’estimation de densité, le regroupement et l’apprentissage de représentation. Ces trois tâches nécessitent que le modèle d’apprentissage automatique infère la structure des données, il n’y a pas de classes prédéfinies attribuées au modèle.
Examinons brièvement certains des algorithmes les plus couramment utilisés dans l’apprentissage supervisé et non supervisé.
Types d’apprentissage supervisé
Les algorithmes d’apprentissage supervisé courants incluent :
- Naive Bayes
- Support Vector Machines
- Régression logistique
- Forêts aléatoires
- Réseaux de neurones artificiels
Les Support Vector Machines sont des algorithmes qui divisent un jeu de données en différentes classes. Les points de données sont regroupés en clusters en traçant des lignes qui séparent les classes les unes des autres. Les points trouvés d’un côté de la ligne appartiendront à une classe, tandis que les points de l’autre côté de la ligne appartiendront à une autre classe. Les Support Vector Machines visent à maximiser la distance entre la ligne et les points trouvés de chaque côté de la ligne, et plus la distance est grande, plus le classificateur est confiant que le point appartient à une classe et non à une autre.
La régression logistique est un algorithme utilisé dans les tâches de classification binaire lorsque les points de données doivent être classés comme appartenant à l’une des deux classes. La régression logistique fonctionne en étiquetant le point de données soit 1, soit 0. Si la valeur perçue du point de données est de 0,49 ou moins, il est classé comme 0, tandis que si elle est de 0,5 ou plus, il est classé comme 1.
Les algorithmes de Decision Tree fonctionnent en divisant les jeux de données en fragments de plus en plus petits. Les critères exacts utilisés pour diviser les données sont laissés à la discrétion de l’ingénieur en apprentissage automatique, mais l’objectif est de diviser finalement les données en points de données individuels, qui seront ensuite classés à l’aide d’une clé.
Un algorithme de forêt aléatoire est essentiellement de nombreux classificateurs de Decision Tree individuels liés ensemble pour former un classificateur plus puissant.
Le classificateur Naive Bayes calcule la probabilité qu’un point de données donné se soit produit en fonction de la probabilité d’un événement antérieur. Il est basé sur le théorème de Bayes et il place les points de données dans des classes en fonction de leur probabilité calculée. Lors de la mise en œuvre d’un classificateur Naive Bayes, on suppose que tous les prédicteurs ont la même influence sur le résultat de la classe.
Un réseau de neurones artificiel, ou perceptron multi-couches, sont des algorithmes d’apprentissage automatique inspirés de la structure et du fonctionnement du cerveau humain. Les réseaux de neurones artificiels tirent leur nom du fait qu’ils sont constitués de nombreux nœuds/neurones liés ensemble. Chaque neurone manipule les données avec une fonction mathématique. Dans les réseaux de neurones artificiels, il y a des couches d’entrée, des couches cachées et des couches de sortie.
La couche cachée du réseau de neurones est où les données sont réellement interprétées et analysées pour les modèles. En d’autres termes, c’est là que l’algorithme apprend. Plus de neurones liés ensemble font des réseaux plus complexes capables d’apprendre des modèles plus complexes.
Types d’apprentissage non supervisé
Les algorithmes d’apprentissage non supervisé incluent :
- Regroupement K-means
- Autoencodeurs
- Analyse en composantes principales
Le regroupement K-means est une technique de classification non supervisée, et il fonctionne en séparant les points de données en clusters ou groupes en fonction de leurs fonctionnalités. Le regroupement K-means analyse les fonctionnalités trouvées dans les points de données et distingue les modèles en eux qui font que les points de données trouvés dans une classe de cluster sont plus similaires les uns aux autres qu’ils ne le sont aux clusters contenant les autres points de données. Cela est réalisé en plaçant des centres de cluster possibles, ou des centroïdes, dans un graphique des données et en réaffectant la position du centroïde jusqu’à ce qu’une position soit trouvée qui minimise la distance entre le centroïde et les points qui appartiennent à la classe du centroïde. Le chercheur peut spécifier le nombre de clusters souhaités.
L’analyse en composantes principales est une technique qui réduit un grand nombre de fonctionnalités/variables à un espace de fonctionnalités plus petit/à moins de fonctionnalités. Les « composantes principales » des points de données sont sélectionnées pour être conservées, tandis que les autres fonctionnalités sont compressées en une représentation plus petite. La relation entre les parties de données d’origine est préservée, mais puisque la complexité des points de données est plus simple, les données sont plus faciles à quantifier et à décrire.
Les autoencodeurs sont des versions de réseaux de neurones qui peuvent être appliquées à des tâches d’apprentissage non supervisé. Les autoencodeurs sont capables de prendre des données non étiquetées, libres, et de les transformer en données que un réseau de neurones est capable d’utiliser, créant essentiellement leurs propres données d’entraînement étiquetées. L’objectif d’un autoencodeur est de convertir les données d’entrée et de les reconstruire aussi précisément que possible, donc il est dans l’intérêt du réseau de déterminer quels sont les fonctionnalités les plus importantes et de les extraire.












