Machine learning -- Coder son réseau de neurones
Description du projet
Le but de ce projet est d'apprendre le fonctionnement d'un réseau de neurones et de l'appliquer dans un cas simple.
Sur base d'un modèle mathématique simplifié du processus d'apprentissage de votre cerveau, on implémentera un réseau de neurones sans utiliser de software existant.
On entraînera ensuite le réseau à distinguer des bons vins de mauvais vins, basé sur leurs caractéristiques chimiques. On tentera ainsi de reproduire une classification de goût faite par des humains. Les données sont disponibles au format CSV dans la database UCI de machine learning
De manière générale, les grandes lignes du projet seront :
- la lecture des données sous format CSV;
- l'implémentation d'une classe NeuralNetwork avec toutes les méthodes et membres nécessaires à l'apprentissage du réseau;
- l'implémentation complète d'un réseau de neurones et d'une configuration pour lire le Wine Quality dataset;
- l'entraînement du réseau de neurones à classifier les vins, et produire deux représentations graphiques de la performance du réseau.
Grandes lignes du projet et difficultés potentielles
On devra implémenter une classe NeuralNetwork, caractérisée par un ensemble de poids qui représente les neurones, et qui prends des entrées (inputs), calcule une sortie (output), et modifie les poids pour minimiser la différence entre l'output du réseau et la classification idéale.
La difficulté du projet est la formalisation de l'algorithme d'apprentissage du réseau.
Detailles du projet
Le fonctionnement d'un réseau de neurons est detaillé ici