Reconnaissance de formes avec l’application Neural Net Pattern Recognition
Cet exemple indique comment entraîner un réseau de neurones peu profond pour classer des patterns (formes) avec l’application Neural Net Pattern Recognition.
Ouvrez l’application Neural Net Pattern Recognition avec nprtool.
nprtool

Sélectionner les données
L’application Neural Net Pattern Recognition comporte des exemples de données pour vous aider à commencer à entraîner un réseau de neurones.
Pour importer un exemple de données de classification du verre, sélectionnez Import > Import Glass Data Set. Vous pouvez utiliser ce jeu de données pour entraîner un réseau de neurones afin de classer le verre comme un verre utilisable pour des fenêtres ou non grâce aux propriétés chimiques du verre. Si vous importez vos propres données depuis un fichier ou l’espace de travail, vous devez spécifier les prédicteurs et les réponses et si les observations sont dans des lignes ou dans des colonnes.

Les informations sur les données importées apparaissent dans le Model Summary. Ce jeu de données contient 214 observations avec 9 caractéristiques chacune. Chaque observation est classée dans l’une des deux classes : window ou non-window.

Répartissez les données entre les jeux d’apprentissage, de validation et de test. Conservez les paramètres par défaut. Les données sont réparties en :
70 % pour l’apprentissage.
15 % pour valider que le réseau généralise et arrêter l’apprentissage avant un surajustement (overfitting).
15 % pour tester la généralisation du réseau de manière indépendante.
Pour plus d’informations sur la division des données, veuillez consulter Divide Data for Optimal Neural Network Training.
Créer un réseau
Ce réseau est un réseau feedforward à deux couches, avec une fonction de transfert sigmoïde dans la couche cachée et une fonction de transfert softmax dans la couche de sortie. La taille de la couche cachée correspond au nombre de neurones cachés. La taille de couche par défaut est de 10. Vous pouvez voir l’architecture du réseau dans le volet Network. Le nombre de neurones de sortie est défini à 2, ce qui correspond au nombre de classes spécifié par les données de réponse.

Entraîner le réseau
Pour entraîner le réseau, cliquez sur Train.
Vous pouvez voir la progression de l'apprentissage dans le volet Training. L'apprentissage se poursuit jusqu’à ce que l'un des critères d’arrêt soit rempli. Dans cet exemple, l’apprentissage continue jusqu’à ce que l’erreur de validation soit supérieure ou égale à la plus petite erreur de validation précédente pendant six itérations de validation consécutives (« Critère de validation respecté »).

Analyser les résultats
Le Model Summary contient des informations sur l’algorithme d’apprentissage et sur les résultats de l’apprentissage pour chaque jeu de données.

Vous pouvez continuer à analyser les résultats en générant des tracés. Pour tracer les matrices de confusion, dans la section Plots, cliquez sur Confusion Matrix. Les sorties du réseau sont très précises, comme vous pouvez le voir par les nombres élevés de classifications correctes dans les carrés verts (diagonale) et les faibles nombres de classifications incorrectes dans les carrés rouges (hors diagonale).

Regardez la courbe ROC afin d’obtenir une vérification supplémentaire des performances du réseau. Dans la section Plots, cliquez sur ROC Curve.

Les lignes colorées sur chaque axe représentent les courbes ROC. La courbe ROC est un tracé du taux de vrais positifs (sensibilité) vs le taux de faux positifs (1 - spécificité) lorsque le seuil varie. Un test parfait présenterait des points dans l’angle supérieur gauche, avec 100 % de sensibilité et 100 % de spécificité. Le réseau est très performant pour ce problème.
Si vous n’êtes pas satisfait des performances du réseau, vous disposez des possibilités suivantes :
Entraîner à nouveau le réseau.
Augmenter le nombre de neurones cachés.
Utiliser un jeu de données d’apprentissage plus grand.
De bonnes performances sur le jeu d’apprentissage associées à de mauvaises performances sur le jeu de test pourraient indiquer un surajustement (overfitting) du modèle. Une réduction du nombre de neurones permet de réduire le surajustement.
Vous pouvez également évaluer les performances du réseau sur un jeu de test supplémentaire. Pour charger des données de test supplémentaires pour l'évaluation du réseau, dans la section Test, cliquez sur Test. Le Model Summary affiche les résultats des tests supplémentaires. Vous pouvez également générer des tracés afin d’analyser les résultats de tests supplémentaires.
Générer du code
Sélectionnez Generate Code > Generate Simple Training Script afin de créer du code MATLAB pour reproduire les étapes précédentes en ligne de commande. Il peut être utile de créer du code MATLAB si vous voulez apprendre comment utiliser la fonctionnalité de ligne de commande de la toolbox pour personnaliser le processus d’apprentissage. Dans Utiliser les fonctions en ligne de commande pour la reconnaissance de formes ou patterns, vous étudierez les scripts générés de manière plus détaillée.

Exporter un réseau
Vous pouvez exporter votre réseau entraîné vers l’espace de travail ou Simulink®. Vous pouvez également déployer le réseau avec MATLAB Compiler™ et d’autres outils de génération de code MATLAB. Pour exporter votre réseau entraîné et vos résultats, sélectionnez Export Model > Export to Workspace.

Voir aussi
Neural Net Fitting | Neural Net Time Series | Neural Net Pattern Recognition | Neural Net Clustering | trainscg