L’apprentissage machine ou apprentissage automatique est un domaine particulier de l’intelligence artificielle qui applique un processus informatique d’extraction de résultats que l’utilisateur cherche à analyser en fonction d’un objectif. Les méthodes utilisées peuvent être extrêmement diverses, mais concernent essentiellement des techniques issues de processus d’analyse statistique, ou de mise en œuvre de réseaux de neurones artificiels, simulés par un processus informatique [5].

Ces techniques sont profondément différentes des approches informatiques traditionnelles. En effet dans ces dernières, le résultat des algorithmes est déterminé par le résultat de calculs dont on connait les tenants et les aboutissants. Dans les processus d’apprentissage automatique, le résultat dépend d’un apprentissage lui-même dépendant de données dont on extrait le comportement particulier pour le généraliser à une classe de problèmes : par exemple, la reconnaissance de “chats” sur une image dépend d’une base de connaissance tirée de multiples photos de cet animal.

Le caractère à la fois relativement “nouveau” et inédit de ces techniques permet de comprendre que celles-ci sont en perpétuelles évolutions, et que les résultats qu’elles permettent d’obtenir sont eux même en révolution permanente. Les algorithmes que nous évoquerons sont les “briques de bases” telles qu’elles sont actuellement conçues. Mais elles sont en perpétuelle évolution du fait qu’on invente en permanence à la fois de nouvelles variations autour des “briques de bases” constituant le squelette des applications possibles, mais aussi de nouvelles organisations possibles de ces “briques de bases”. D’où des mutations perpétuelles qui constituent en même temps l’infinie richesse, mais aussi la difficulté du secteur.

L’apprentissage machine peut par exemple permettre à un ordinateur de mieux reconnaitre des objets hautement déformables, d’analyser les émotions révélées par un visage photographié ou filmé, d’analyser les mouvements, d’améliorer le positionnement automatique d’une caméra, etc.

L’apprentissage machine fait référence au développement et à l’implémentation de méthodes qui permettent à une machine d’évoluer grâce à un processus d’apprentissage et ainsi de remplir des tâches qu’il est difficile ou impossible de remplir par des moyens algorithmiques plus classiques. Elle vise à doter les machines de capacités habituellement attribuées à l’intelligence humaine.

Selon Arthur Samuel, 1959 : c’est donner la capacité aux machines d’apprendre sans les programmer explicitement.

Selon Tom Mitchell, 1997 : Un programme qui apprend est un programme qui tire profit d’une expérience E, par rapport à une famille de tâches T, pour une mesure d’efficacité P si son efficacité dans l’accomplissement des tâches de T, augmente après l’expérience E [6].

Historique

Pendant les années 90s et le début des années 2000, le développement de l’apprentissage machine s’est focalisé sur les algorithmes de machines à vecteurs supports et ceux d’agrégation de modèles. Pendant une relative mise en veilleuse du développement de la recherche sur les réseaux de neurones, leur utilisation est restée présente de même qu’une veille attendant le développement de la puissance de calcul et celle des grandes bases de données, notamment d’images.

Le renouveau de la recherche dans ce domaine est dû à Geoffrey Hinton, Yoshua Bengio et Yan le Cun qui a tenu à jour un célèbre site dédié à la reconnaissance des caractères manuscrits de la base MNIST. La liste des publications listées sur ce site témoigne de la lente progression de la qualité de reconnaissance, un taux d’erreur de 12% avec un simple perceptron à 1 couche jusqu’à moins de 0,3% en 2012 par l’introduction et l’amélioration incrémentale d’une couche de neurones spécifique appelée Convolutional Neural Network (CNN).

Types d’apprentissages machine

L’apprentissage machine permet à une machine d’évoluer par un processus systématique et d’effectuer des tâches pour lesquelles elle n’est pas explicitement programmée en apprenant avec des données. Ce procédé regroupe trois grandes méthodes d’apprentissage :

  • Apprentissage supervisé ;
  • Apprentissage non supervisé ;
  • Apprentissage par renforcement.

Apprentissage supervisé

Il s’agit d’un apprentissage à partir d’exemples dans lesquels le résultat attendu est fourni avec les données d’entrée qui sont étiquetées avec les sorties souhaitées. Le système a une entrée et une sortie.

Le but de cette méthode est que l’algorithme puisse « apprendre » en comparant sa sortie réelle avec les sorties « enseignées » pour minimiser les erreurs de la fonction de coût. L’apprentissage supervisé utilise donc des modèles pour prédire les classes sur des données non étiquetées supplémentaires.

C’est la méthode la plus usitée à l’heure actuelle, elle permet de réaliser notamment un moteur de prédiction. La machine apprend « seule » par l’entraînement.

L’idée majeure de l’apprentissage est de trouver des relations de dépendance et de causalité entre plusieurs facteurs. On nourrit l’algorithme d’exemples dont les résultats sont connus par l’humain nourricier. Il note les différences entre prévisions et résultats corrects, puis affine ses prédictions par statistiques et probabilité jusqu’à ce qu’elles soient optimisées.

Les techniques telles que le SVM (Support Vector Machine) ou machine à vecteurs de support, le KNN (k-Nearest Neighbors) ou méthode des k plus proches voisins, les réseaux de neurones et l’apprentissage profond avec ses résultats spectaculaires appartiennent tous à la méthode d’apprentissage supervisé.

Les méthodes de l’apprentissage supervisé parmi les plus répandues seront présentées de façon plus ou moins succincte dans les paragraphes suivants. Ces paragraphes seront donc consacrés aux techniques algorithmiques : arbres binaires de décision et à celles plus directement issues de la théorie
de l’apprentissage machine : réseau de neurones et perceptron, support vaste marge (SVM) [5].