Algorithmes d'apprentissage supervisé
Introduction
Après avoir appris à récupérer les données, les présenter, les analyser et les nettoyer, nous pouvons nous lancer dans la création de modèles d’IA. Comme nous l’avons vu précédemment, parmi les problèmes à résoudre, en fonction des données fournies, nous aurons plusieurs types de modèles à disposition. Si les données contiennent des échantillons avec des caractéristiques (paramètres d’entrée) et les étiquettes (résultats attendus), nous serons dans le cadre d’un apprentissage supervisé. Nous pourrons alors donner à notre modèle une correction à chacune des étapes de son apprentissage pour qu’il puisse s’autocorriger et converger vers de meilleures performances.
Cependant, si les données ne contiennent que des caractéristiques sans étiquettes, alors nous serons dans le cadre d’un apprentissage non supervisé.
Dans ce chapitre, nous partirons d’ensembles de données connus pour créer des modèles d’apprentissage supervisé de régression et de classification.
Avant de créer les algorithmes, nous effectuerons la récupération des données, l’analyse et le nettoyage, puis pour chacun des algorithmes d’apprentissage automatique...
Algorithmes de régression
Les algorithmes que nous allons présenter sont des algorithmes de régression. Ils permettent de prédire des données numériques continues à partir d’échantillons de données de tout type. Un exemple de régression serait de prévoir l’espérance de vie d’une personne à partir de son année de naissance, de son indice de masse corporelle et de la présence ou non de pathologies cardiovasculaires.
Nous allons parcourir ici les algorithmes les plus connus et les plus usités en IA, sans nous imposer dans un premier temps une optimisation des hyperparamètres. Notre objectif est de comprendre simplement leur fonctionnement et les hyperparamètres à fixer.
1. Régression linéaire et multilinéaire
Nous allons découvrir comment résoudre des problèmes de régression linéaire et multilinéaire avec des exemples simples. Sur ce premier exemple, les données étant très concises et complètes, nous n’aurons pas besoin de mener une analyse des données très importante. Nous aurons l’occasion de mener plusieurs études, analyses et nettoyages de données plus complexes via d’autres algorithmes dans la suite de ce chapitre.
a. Régression linéaire
Pour rappel, un problème linéaire simple correspond à approximer, à partir de plusieurs observations y et autant de mesures x, deux coefficients a et b qui permettent de prévoir les prochaines observations à partir de nouvelles mesures. Mathématiquement, cela revient à approximer les coefficients a et b qui permettront de calculer ensuite y = ax + b (fonction affine).
Calcul du prix d’une course de taxi
Pour illustrer un tel problème dans un exemple de la vie quotidienne, nous pourrions essayer d’approximer le calcul du prix d’une course de taxi de jour ou de nuit en fonction du nombre de kilomètres à parcourir, tout en considérant un coût fixe de prise en charge de la course facturé au départ, quelle que soit la longueur du trajet. Cela reviendrait à prédire le coût de la course y = ax + b avec a le coût kilométrique et b le coût de prise en charge fixe de la course....
Algorithmes de classification
Nous savons mener à bien l’éducation et l’optimisation des algorithmes de régression. Un autre type d’apprentissage supervisé est la classification. Comme nous l’avons déjà abordé dans les chapitres précédents, la classification est une tâche qui a pour but de prédire une ou plusieurs classes (ou catégories) à partir des données d’un échantillon. La classification pourra être de deux sortes : soit binaire, ce qui signifie que la prédiction sera une classe parmi deux possibles, soit multiclasse, la prédiction ressortira une ou plusieurs classes correspondant aux données de l’échantillon fourni. Les prédictions seront le plus souvent des probabilités d’appartenance de l’échantillon, à partir de là nous pourrons définir des seuils pour décider si l’échantillon est réputé membre de la classe ou non.
Pour illustrer ce qu’est une telle tâche, imaginons que nous souhaitions prédire si un individu a un risque de développer une addiction aux écrans à partir de plusieurs données sur chaque individu. Prenons par exemple des données d’âge, de sexe, de durée d’exposition aux écrans ; l’individu a-t-il déjà développé une addiction autre ? L’individu pratique-t-il des activités sportives et l’individu est-il seul à vivre dans son foyer ? Un modèle d’apprentissage pourra prédire si le sujet est à risque ou non (cas d’une classification binaire).
Le premier algorithme que nous allons découvrir est la régression logistique.
1. La régression logistique (classification binaire)
Même si vous n’aurez pas omis la présence du mot « régression » dans la désignation de cet algorithme, il s’agit bien de développer ici un modèle de classification simple mais efficace. Sa spécificité est qu’il n’est capable de résoudre que des tâches de classification binaire. C’est le pendant de la régression linéaire pour la prévision de probabilités entre...
En résumé
Nous avons pu parcourir dans ce chapitre un large éventail d’algorithmes d’apprentissage supervisé capables de se construire un comportement à l’aide d’ensembles de données fournies contenant les résultats observés ou attendus. Que ce soit pour des tâches de régression permettant de prévoir des données continues ou des tâches de classification pour prévoir des catégories ou classes, le panel des modèles utilisables est large et ne se limite pas à ceux proposés dans cet ouvrage. Vous pourrez en utiliser d’autres directement avec Rubix ML, ou même étendre les objets de la librairie présentée pour implémenter les vôtres ou les adapter.
L’intelligence artificielle étant en constante amélioration, ne vous limitez pas et n’hésitez pas à vous lancer dans vos propres créations de modèles issus de résultats de recherches mathématiques prometteurs.
L’apprentissage supervisé est un domaine très large, mais ce n’est pas le seul procédé à notre disposition. Voyons à présent des exemples d’apprentissage non supervisé.