Comme je l'évoquais hier, le Machine learning est une méthode particulière d'apprentissage informatique. Cette méthode est issue de travaux débutés dans les années 60 tentant de reproduire le principe de fonctionnement neuronal du cerveau.
Le modèle informatique du neurone est représenté par une fonction plus ou moins complexe de transformation de plusieurs données en entrée pour générer une donnée en sortie que l'on peut schématiser de la façon suivante:
-
- neurone.jpg (6.38 Kio) Vu 1233 fois
Par exemple, on pourrait à partir des données taille, poids et température d'une personne chercher à déterminer la probabilité qu'elle soit malade ou en bonne santé. Chacune des caractéristiques en entrée va etre affecté d'un certain poids. La température va par exemple avoir un poids plus important que la taille pour déterminer si quelqu'un est en bonne santé. Le résultat
à lui aussi un poids représentant la probabilité de la maladie dans mon exemple. Dans la réalité la réponse est binaire, il s'agit donc plutot d'un seuil a partir duquel la fonction va considérer la personne malade. Comme dans votre cerveau, chaque neurone ne sait donner qu'une réponse binaire.
On va bien dans cet exemple que le nombre d'informations en entrée est très insuffisant, et qu'une seule étape d'analyse ne sera pas suffisante non plus pour répondre par oui ou non a la question.
On va donc faire appel à un réseau de neurones
-
- reseau.jpg (15.33 Kio) Vu 1233 fois
A gauche input layer: les caractéristiques du patient
A droite output layer: les diagnostics
Entre les deux les couches intermédiaires (hidden layers)
On peut noter que les neurones d'une meme couche n'interagissent pas entre eux, ils n’interagissent qu'avec la couche précédente et suivante.
Le principe est donc d'analyser les données en plusieurs étapes (ou couches) successives dont chacune donne un niveau d'abstraction supplémentaire à l'analyse et sert de point de départ à l'étape suivante. A l'arrivée une réponse binaire pour chaque diagnostic de notre patient.
Alors comment avec un tel modèle la machine apprend t'elle?
Le principe est faire fonctionner l'analyse avec une grande variété de donnée en entrée (l'historique des patients d'un hopital pour rester sur mon exemple) et d'indiquer à chaque fois le résultat à obtenir (la maladie dont les différents patients souffraient). Le programme va alors ajuster les poids et probabilités de chaque étape par itération pour obtenir les meilleurs résultats possibles.
A l'issue, on pourra utiliser le système avec chaque nouvelle série de données (chaque nouveau patient) et le systeme déterminera automatiquement le bon diagnostic.
Dis comme ca parait simple (du moins j’espère :roll: ), mais on verra demain qu'il y a quand même pas mal de difficultés à faire cet exercice dans la réalité.