---
# System prepended metadata

title: 3 - Apprentissage supervisé
tags: [ia, ' data']

---

---
title: 3 - Apprentissage supervisé
tags: ia, data
robots: noindex, nofollow
author: Julien Noyer
---

# Apprentissage supervisé : former une machine intelligente

![](https://i.imgur.com/wnOHKUL.jpg)

Les étapes que nous venons de suivre pour permettre à notre machine de reconnaitre des chiffres manuscrits n'ont pas à proprement parlé permit à la machine d'apprendre, nous avons simplement gavé une base de données et créer des algorithmes pour y accéder, mais il reste du chemin avant que notre machine soit capable d'apprendre d'elle-même.

---

<br><br><br>

# Apprendre pour prévoir

Le tableau de données ci-dessous va nous permettre de comprendre la méthode permettant à la machine de faire des prédictions : quelles sont les individus qui représentent le plus grand risque de non-sovabilité. Nous commençons en comparant les salaires et le niveau de diligence, chaque individu est représenté sur la ligne des salaires par la couleur correspondant à son niveau de diligence.

![](https://i.imgur.com/P3AE0rp.png)

La machine constate une chose simple : il y à plus de points rouges à gauche qu'à droite. De façon stricte elle coupe la droite en deux au point de rupture qui lui semble le mieux et défini la formule suivante :

```bash
Salaire > 132 000 = E(15%)
```

Cette classification dite "[_linéaire_](https://fr.wikipedia.org/wiki/Classifieur_lin%C3%A9aire)" est arbitraire dans la mesure ou avec seulement deux variables à comparer, la découpe est faite à l'endroit où ça semble le mieux. 

---

<br><br><br>

# Augmenter le niveau de connaissance

En regroupant l'âge, le salaire et le niveau de diligence nous passons sur une visualisation différente de nos données ce qui nous permet de placer les points sur un plan en deux dimensions.

![](https://i.imgur.com/n1ksnOk.png)

Une fois encore la machine retrouve un point de rupture, mais peut-être cette fois-ci plus justement grâce à la nouvelle donnée à analyser :

```bash
4 000 Age + Salaire > 340 000 = E(5%)
``` 

---

<br><br><br>

# Voir en hyperplan

Partant du constat que plus il y a de données à analyser, plus le niveau d'erreur baisse, nous pouvons facilement imaginer qu'une analyse avec en plus les données de scolarité nous donnera encore une fois un meilleur résultat. La machine passe donc en trois dimensions pour réaliser la découpe suivante appelée [hyperplan](https://fr.wikipedia.org/wiki/Hyperplan).

![](https://i.imgur.com/odLibsu.png)

Le résultat est sans appel, tous les points rouges ce retrouve au-dessus du point de rupture défini par la machine avec un niveau d'erreur nul :

```bash
11 900 Salaire + 3 250 Age + Salaire > 499 000 E(0%)
```

---

<br><br><br>

# Des hyperplans pour aider la décision

![](https://i.imgur.com/N5I4DBB.png)

Nous venons de démontrer avec des données fictives qu'une machine, si on lui donne assez de données à analyser, est capable de définir des calcules lui permettant de donner une appréciation sur la solvabilité d'un individu, mais induit qu'ils doivent correspondre à l'un de ces trois cas :

- Salaire > 132 000 = **E(15%)**
- 4 000 Age + Salaire > 340 000 = **E(5%)**
- 11 900 Salaire + 3 250 Age + Salaire > 499 000 = **E(0%)**

Cette fois encore, la machine bat de loin le cerveau humain dans sa capacité à visualiser des informations, car il serait impensable d'imaginer faire à la main les différents tableaux ci-dessus, quoique... Et ce n'est pas tout, si la démonstration que nous venons de faire sur deux critères est possible alors il l'est également pour plus.

---

<br><br><br>

# Créer des hyperplans

Les images du projet [**MNIST**](https://fr.wikipedia.org/wiki/Base_de_données_MNIST) peuvent également nous permettre de définir des hyperplans. Nous avons néanmoins un problème, car un hyperplan est réalisé grâce à des données au minimum en trois dimensions, mais les images sont en noir et blanc. Nous allons donc réaliser un schéma pour représenter la valeur du noir et le positionnement en x et y des pixels dans l'image afin de concevoir un plan en deux dimensions.

![](https://i.imgur.com/i3Fv2HM.png)

Sur le schéma ci-dessus, les points rouges représentent le noir 255 et les points verts le noir 0, nous l'affichons à plat sur le visuel ce qui représente **une projection en 2 dimensions** de notre schéma sur une feuille.

---

<br><br><br>

# Donner du volume aux informations

Pour mettre en volume nos données il faut imaginer les projeter sur une surface courbe à la manière d'un vidéo-projecteur cinématographique. La machine utilise un algorithme qui va lui permettre de **projeter notre schéma en deux dimensions sur un plan en trois dimensions**.

![](https://i.imgur.com/PUoFrQD.png)

La formule mathématique utilisée pour la [projection](https://en.wikipedia.org/wiki/Projection_(mathematics)) permettant de passer d'un plan en deux dimensions à un plan en trois dimensions est la suivante :

```bash
(a1, a2) => (a1, a2, a2/1 + a2/2)
```

---

<br><br><br>

# Définir l'hyperplan dans un volume

En observant les données ainsi représentées, la machine utilise l'algorithme qui lui permet à présentent de définir un hyperplan à partir de la modélisation des données en trois dimensions.

![](https://i.imgur.com/4E9V0bu.png)

Une fois projetées, les données prennent un autre sens, une autre forme dans laquelle la machine est capable d'identifier les caractéristiques de la lettre manuscrite qu'on lui demande d'enregistrer.

---

<br><br><br>

# Regrouper les données grâce à l'hyperplan

Ce que l'homme pouvait définir à l'oeil nu la machine en est à présent capable. Il est à noter que cette simple opération humaine nécessite déjà une somme de travail pharamineuse !

![](https://i.imgur.com/GtivwOK.png)

Une fois cet hyperplan enregistré la machine passe à l'image suivante et ainsi de suite pour les 60 000 autres images. A la fin du processus la machine a en-magasiné toutes les données en créant dix hyperplans qui lui permettront de reconnaître les chiffres manuscrits avec un taux d'erreur à seulement **1.9%**.

---

<br><br><br>

# Des hyperplans aux réseaux neurones

![](https://i.imgur.com/ALKcNWQ.png)

La capacité d'une machine à créer des hyperplans grâce aux données qu'on lui aura fourni pour son entrainement peut lui permettre de mettre en place lui-même des critères d'évaluation nécessaire pour trouver une solution.

- Analyse par **Regroupement** : **E(3.8%)**
- Analyse par **Hyperplan** : **E(1.9%)**


---

<br><br><br>

# Ressources

![](https://i.imgur.com/WMir0gH.jpg)

Index des liens vers les sujets traités dans ce document :

- **Classifieur linéaire** https://fr.wikipedia.org/wiki/Classifieur_lin%C3%A9aire
- **Hyperplan** https://fr.wikipedia.org/wiki/Hyperplan
- **MNIST** https://fr.wikipedia.org/wiki/Base_de_données_MNIST
- **Projection** https://en.wikipedia.org/wiki/Projection_(mathematics)