Fondamentaux de l’IA
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èles, de variables et d’algorithmes. Essayons de jeter un coup d’œil plus précis sur 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é d’un ordinateur à 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 des modèles et tirer des conclusions. Pendant ce temps, les étiquettes sont des classes/descriptions données aux instances individuelles des 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, l’apprentissage non supervisé ne comporte pas d’étiquettes de vérité de base attachées à lui. Un algorithme d’apprentissage automatique formé pour effectuer des tâches d’apprentissage non supervisé doit être capable de déduire les modèles pertinents dans les données pour 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 classé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 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 la densité, le regroupement et l’apprentissage de la représentation. Ces trois tâches nécessitent que le modèle d’apprentissage automatique déduise la structure des données, il n’y a pas de classes prédéfinies données au modèle.
Essayons de jeter un bref coup d’œil sur certains des algorithmes les plus couramment utilisés dans l’apprentissage non supervisé et l’apprentissage supervisé.
Types d’apprentissage supervisé
Les algorithmes d’apprentissage supervisé courants incluent :
- Naive Bayes
- Machines à vecteurs de support
- Régression logistique
- Forêts aléatoires
- Réseaux de neurones artificiels
Les Machines à vecteurs de support 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 Machines à vecteurs de support 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 classe.
La régression logistique est un algorithme utilisé dans les tâches de classification binaires où 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 comme 1 ou 0. Si la valeur perçue du point de données est de 0,49 ou inférieure, il est classé comme 0, tandis que si elle est de 0,5 ou supérieure, il est classé comme 1.
Les algorithmes d’arbre de décision 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 d’arbre de décision 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 produise 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, est un algorithme d’apprentissage automatique inspiré de la structure et du fonctionnement du cerveau humain. Les réseaux de neurones artificiels tirent leur nom du fait qu’ils sont composés de nombreux nœuds/neurones liés ensemble. Chaque neurone manipule les données à l’aide d’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 forment 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
- Auto-encodeurs
- 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 donnée sont plus similaires les uns aux autres qu’ils ne le sont aux points de données trouvés dans les autres clusters. Cela est réalisé en plaçant les centres de cluster possibles, ou 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 de ce 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. Les « composantes principales » des points de données sont sélectionnées pour être préservées, tandis que les autres fonctionnalités sont compressées en une représentation plus petite. La relation entre les portions de données originales 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 auto-encodeurs sont des versions de réseaux de neurones qui peuvent être appliquées à des tâches d’apprentissage non supervisé. Les auto-encodeurs sont capables de prendre des données non étiquetées et libre-forme 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 auto-encodeur est de convertir les données d’entrée et de les reconstruire aussi précisément que possible, donc c’est dans l’intérêt du réseau de déterminer quels fonctionnalités sont les plus importantes et de les extraire.












