INTRODUCTION À L’APPRENTISSAGE MACHINE
L’intelligence artificielle est, d’après S. Russel et P. Norvig, l’étude d’agents intelligents capables de percevoir des informations sur leur environnement et d’effectuer des actions en conséquence (Russell et Norvig, 2020). Cette définition n’est qu’un exemple, car elle s’appuie sur la notion d’intelligence, elle-même sujette à de nombreuses nuances philosophiques. Afin de se distancier de la philosophique et de la sémantique, l’intelligence artificielle sera ici définie comme l’utilisation de la neurobiologie, de la logique, des mathématiques et de l’informatique pour faire résoudre à des machines des problèmes à forte complexité algorithmique actuellement uniquement réalisable par des êtres biologiques aux capacités cognitives avancées (humains, certains autres animaux). L’apprentissage et la capacité d’adaptation sont des concepts clé de la notion d’intelligence, ainsi, l’apprentissage machine est une notion majeure de l’intelligence artificielle.
L’apprentissage machine peut se résumer comme la capacité, pour un système informatisé, à améliorer ses résultats et adapter son comportement en fonction de ses expériences passées. Ainsi, les algorithmes d’apprentissage machine permettent de résoudre des problèmes qui peuvent sembler simples pour un être humain mais qui sont en réalité difficiles, voir impossibles, à réaliser via des algorithmes classiques. On peut citer, par exemple, la capacité à reconnaître un objet à partir d’une image ou à identifier une phrase dans un enregistrement audio. La reconnaissance de l’activité d’une personne en fonction de données extraites de son environnement (image, son, position de la personne, mouvement des objets de l’environnement, etc.) fait partie de ces problèmes complexes nécessitant l’utilisation des techniques d’apprentissage machine pour être résolus.
Pour cela, il est nécessaire d’acquérir un ensemble conséquent de données associées à des activités et de les utiliser à titre d’exemples pour faire apprendre l’algorithme. On parle alors de la récolte d’un jeu de données. Dans celui-ci, chaque instance est associée à une classe à l’aide d’une étiquette. Ces couples instance de données/étiquette vont être fournis en entrée de la phase d’apprentissage de l’algorithme, appelée entraînement. Une fois l’apprentissage effectué, un modèle propre à la résolution du problème pour lequel il a été entraîné est généré. Il suffit alors de fournir de nouvelles données non-étiquetées pour que le modèle déduise, grâce à son expérience, la classe à laquelle appartiennent ces données.
Cette méthode d’apprentissage est désignée sous le terme d’apprentissage supervisé (Russell et Norvig, 2020). Elle nécessite une intervention humaine importante pour étiqueter les données. C’est cette méthode qui est utilisée pour la contribution de ce mémoire. Cependant, d’autres méthodes existent. L’apprentissage non-supervisé implique pour l’algorithme de créer lui-même des classes permettant de distinguer les données, dont le nombre peut lui être communiqué à l’avance ou non selon les techniques. Cette méthode a l’avantage d’être beaucoup moins chronophage pour l’acquisition des jeux de données, mais les performances peuvent être moins qualitatives. L’apprentissage par renfoncement, quant à lui, peut être illustré par la méthode de la carotte et du bâton (Sutton et Barto, 2018). L’algorithme est amené à recevoir une récompense lors d’une classification correcte, et optionnellement une punition en cas d’échec. La maximisation des récompenses entraîne alors naturellement l’algorithme à améliorer ses performances.
De nombreuses techniques existent pour effectuer de l’apprentissage machine. Elles se différencient de diverses manières et possèdent toutes leurs propres avantages et inconvénients. Plusieurs grandes catégories d’algorithmes seront présentées dans cette section, illustrées par quelques algorithmes de référence. Un résumé de leurs caractéristiques phares et de leurs avantages et inconvénients permettra de les mettre en contraste les unes par rapport aux autres. Par la suite, certains des algorithmes issus de ces catégories seront testés pour résoudre la problématique de la reconnaissance d’activité. Ensuite, leurs performances pour la résolution de ce problème seront évaluées et discutées.
ARBRES DE DÉCISION ET K PLUS PROCHES VOISINS
ARBRES DE DÉCISION
Un arbre de décision est une série de questions permettant de discriminer des données selon leurs caractéristiques dans différentes classes. Le schéma permettant de visualiser cette méthode ressemble à un arbre, d’où le nom d’arbre de décision. La métaphore est filée pour décrire ses caractéristiques. On appelle ainsi “branche” un cheminement partant de la première question, la “racine”, jusqu’à la dernière question. Après celle-çi, une “feuille” est présente pour attribuer une classe aux données.
APPRENTISSAGE D’ENSEMBLES
Afin d’améliorer les performances des arbres de décisions pour la prédiction, il existe plusieurs techniques visant à les utiliser en groupe de diverses manières. Ces techniques sont celles de l’apprentissage d’ensembles. Deux concepts clés permettent de catégoriser ces techniques. Le premier est le dopage (boosting en anglais) (Russell et Norvig, 2020). Il consiste à entraîner plusieurs arbres de décision sur différents sousensembles du jeu de données en mettant, au fur et à mesure, l’emphase sur les cas mal classés par les classeurs précédents. Cela permet aux arbres de compenser leurs faiblesses mutuelles. Le second concept consiste également à entraîner plusieurs arbres sur différents sous-ensembles du jeu de données, mais avec remise : c’est le “bagging”, pour bootstrap aggregating (Russell et Norvig, 2020). La différence repose essentiellement sur le fait que le dopage va utiliser des arbres peu performants individuellement et peu complexes sur des échantillons qui leur sont propres, et va chercher à créer une synergie particulière entre ces arbres. Le bagging regroupe plutôt des arbres très spécifiques, proches du sur-apprentissage, mais sur des échantillons dont les instances peuvent être ré utilisées aléatoirement pour l’apprentissage d’autres arbres. Ainsi, on se repose essentiellement sur l’idée qu’un grand nombre d’arbres spécifiques va, collectivement, se moyenner de manière à limiter le sur-apprentissage.
LE DOPAGE ET ADABOOST
Le dopage fait apprendre plusieurs arbres séquentiellement dans le but d’améliorer itérativement les performances sur les cas difficiles. Par exemple, considérons trois arbres A1, A2 et A3. L’arbre A1 a des difficultés à classer certains cas. Ils seront donc inclus dans l’échantillon utilisé pour l’entraînement de l’arbre A2. Cependant, certains cas ne font alors pas consensus entre A1 et A2. L’arbre A3 va alors être entraîné avec ces éléments. Après entraînement, un échantillon de test à classer va être soumis aux trois arbres et un vote majoritaire est effectué. On retient alors la classe majoritairement prédite par les arbres individuels. Ainsi, cette technique repose sur la synergie entre des arbres simples compensant leurs faiblesses mutuelles.
L’algorithme AdaBoost (Freund et Schapire, 1997), pour adaptative boosting (dopage adaptatif), utilise ce principe avec un système de pondération des instances du jeu de données d’entraînement. Initialement, chaque instance possède le même poids. On entraîne un premier arbre et on regarde ses résultats. Un poids est attribué à cet arbre selon ses performances : s’il a une précision supérieure à 50%, son poids sera positif. Sinon, il sera négatif. Ainsi, il suffit de combiner le poids avec les résultats du classeur pour qu’il soit utile en tout temps : un classeur avec 30% de précision qu’on inverse à cause de son poids permet au final d’avoir une prédiction d’une précision de 70% . Ensuite, on met à jour les poids des instances du jeu de données. Un cas mal classé par un arbre de décision de poids positif voit son poids augmenter. Un deuxième arbre est alors entraîné, mais la nouvelle distribution des poids fait qu’il sera plus enclin à apprendre à partir des cas difficiles, ici ceux mal classés par le premier arbre. En répétant le processus autant que souhaité, on obtient un ensemble d’arbres très simples et peu performants individuellement, mais beaucoup plus précis collectivement. Lors de la prédiction, le poids de chaque arbre est pris en compte lors du vote. Ainsi, les arbres les plus performants influent plus fortement sur la décision du groupe et compensent les arbres les plus faibles.
CHAPITRE I – INTRODUCTION |