---
title: 1 - Apprentissage automatique
tags: ia, data
robots: noindex, nofollow
author: Julien Noyer
---
# Apprentissage automatique : notions et méthodologie de base

Dès les années 1950 les informaticiens mettaient en place des principes d'*apprentissage automatique* mais les technologies de l'époque ne permettaient pas des résultats impressionnants : les envies de l'humain dépassaient les capacités de la machine à cette époque. Faire des recherches dans le domaine de l'intelligence artificielle au début de l'informatique demandait aux chercheurs de faire preuve d'une patience infinie pour être prêt à attendre des semaines ou des mois pour additionner des nombres binaires sur l'[**IBM 701**](https://fr.wikipedia.org/wiki/IBM_701) qui n'effectuait _que_ 16 000 calcules par seconde. Une formule un à l'époque ! L'*apprentissage automatique* - ou "*Machine Learning*" regroupe les méthodes qui concerne la conception, l'analyse, le développement et l'implémentation de processus qui permettent à une machine de faire évoluer son propre algorithme. Des capacités spécifiques déclinées en cinq critères sont nécessaires pour réussir à développer une *machine apprenante* :
- **Classification :** capacité à organiger des données
- **Régression :** capacité à établir une relation linéaire entre des données
- **Regroupement :** capacité de créer des ensembles de données cohérentes
- **Modèles génératifs :** capacité de créer des critères de regroupement
- **Apprentissage par renforcement :** capacité apprendre par expérience
---
<br><br><br>
# La classification : organiser des données
La **classification** est une des premières problématiques abordées dans l'étude de l'*apprentissage automatique* : comment faire pour reconnaitre un chat d'un chien.

Ces deux animaux ont été proposés par Microsoft en 2007 pour réaliser des [CAPCHA](https://fr.wikipedia.org/wiki/CAPTCHA) pour que les êtres humains puissent être identifiés, car l'intelligence artificielle n'en était pas capable à l'époque. C'est aujourd'hui possible, mais pour rendre efficace à grande ampleur la classification visuelle pour les IA il est nécessaire de travailler sur l'identification des millions d'objets possibles et les critères de reconnaissances de ces objets qu'il faudra enseigner aux AI.
---
<br><br><br>
# La régression : établir des relations entre les données
La _régression_ consiste à prévoir un calcule permettant de prévoir un résultat en envoyant des données dans une machine qui les analyse et les places sur un plan à deux dimensions afin de repérer une suite logique entre les données.

Pour la création d'une maison par exemple, **différents critères** rentrent en jeu, en analysant tous les critères des toutes les maisons d'un quartier, il est possible de définir la **moyenne de prix d'une nouvelle maison** qui suit ces mêmes critères.
---
<br><br><br>
# Le regroupement : créer des ensembles de données
Le *regroupement* permet à un système de réaliser des ensembles de données, elles sont envoyées dans la machine qui en effectue l'analyse pour les regrouper de façon logique, selon des critères qu'elle définie en fonction des données quelle reçoit.

Il est à noter dans cette démarche que le regroupement opéré est complètement défini par la machine et non par celui qui lui envoie les données.
---
<br><br><br>
# Les modèles génératifs : créer des critères de regroupement
Les *modèles génératifs* sont très en vogue aujourd'hui, ils permettent de générer des données à partir de données similaires.

Le [Least Squares Generative Adversarial Networks](https://arxiv.org/abs/1611.04076) à réaliser l'expérience en donnant à traiter des millions d'images de chambres à son IA pour qu'elle puisse créer des images de chambre d'elle-même, le résultat est assez psychédélique, mais de prochains modèles permettront surement d'aller beaucoup plus loin.
---
<br><br><br>
# L'apprentissage par renforcement : apprendre par expérience
L'*apprentissage par renforcement* permet de réaliser des machines capables d'apprendre d'elles-mêmes : en leur indiquant la marche à suivre l'algorithme et en quelque sorte capable de se tester lui-même afin de contourner ses failles.

[AlphaGo](https://deepmind.com/research/alphago/) de [Deep Mind](https://deepmind.com) en est un parfait exemple dans la mesure ou les programmeurs ont donné les règles du Go à la machine qui a joué contre elle-même jusqu'à réussir à battre le meilleur jour au monde.
---
<br><br><br>
# Ressources

Index des liens vers les sujets traités dans ce document :
- **IBM 701** https://fr.wikipedia.org/wiki/IBM_701
- **CAPCHA** https://fr.wikipedia.org/wiki/CAPTCHA
- **Least Squares Generative Adversarial Networks** https://arxiv.org/abs/1611.04076
- **AlphaGo** https://deepmind.com/research/alphago/
- **Deep Mind** https://deepmind.com