IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MATLAB Discussion :

Problème pour simuler un réseau de neurones très simple


Sujet :

MATLAB

  1. #1
    Nouveau membre du Club
    Inscrit en
    Décembre 2011
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Décembre 2011
    Messages : 29
    Points : 30
    Points
    30
    Par défaut Problème pour simuler un réseau de neurones très simple
    Bonjour à tous,

    Je suis nouveau aux réseaux de neurones et je souhaite utiliser cette technologie pour les prévisions des séries temporelles sur Matlab.

    Pour ce faire, j’ai choisi une série simple à prévoir : 0, 0, 1, -1, 0, 0, 1, -1, 0, 0, 1, -1

    La règle de cette série est facile à comprendre. Deux zéros suivis par 1, -1 et ainsi de suite…

    J’ai donc créé deux vecteurs input et output : x et y (x = 0, 0, 1, -1, 0, 0, 1, -1, 0, 0, 1, -1) (y = 0, 1, -1, 0, 0, 1, -1, 0, 0, 1, -1, 0) et j’utilise un réseau Feed-forward Backprop à deux couches.

    Ci-dessous les étapes que j’ai suivies pour la création du réseau et l’apprentissage.

    Les résultats de l’apprentissage ont l’air bon avec une erreur atteinte de l’ordre de 10e-12. Cependant quand je simule le réseau sur la base des mêmes données de l’apprentissage, le résultat est loin d’être à la hauteur.

    Quelqu’un aurait une idée sur la cause du problème ou une autre méthode pour améliorer les résultats ?

    Merci

    Création du réseau :


    ---------------------------------------------------------------

    ---------------------------------------------------------------

    Structure du réseau :


    ---------------------------------------------------------------

    Apprentissage du réseau :

    ---------------------------------------------------------------

    Erreur :

    ---------------------------------------------------------------

    Simulation du réseau :

    ---------------------------------------------------------------

    Comparaison entre les résultats "théoriques" et les résultats simulés par le réseau :

  2. #2
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Décembre 2011
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    bonjour candesign, avant d'effectuer l'apprentissage de votre réseau de neurone
    essaye de le simuler avec les mêmes données que tu as utilisés tout à l'heure pour l’apprentissage. Puis comparer les résultats avant et après l'apprentissage.
    C'est pour voir si l'apprentissage a eu vraiment lieu, car il semble que le nombre d'Epoch que tu as choisi n'est pas atteint.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Décembre 2011
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Décembre 2011
    Messages : 29
    Points : 30
    Points
    30
    Par défaut
    Citation Envoyé par mimiza Voir le message
    bonjour candesign, avant d'effectuer l'apprentissage de votre réseau de neurone
    essaye de le simuler avec les mêmes données que tu as utilisés tout à l'heure pour l’apprentissage. Puis comparer les résultats avant et après l'apprentissage.
    C'est pour voir si l'apprentissage a eu vraiment lieu, car il semble que le nombre d'Epoch que tu as choisi n'est pas atteint.
    Bonjour Mimiza,

    C'est exactement ce que j'ai fait pour vérifier que l'apprentissage a eu lieu. C'est ce qui est montré dans le dernier graphique. Il compare le résultat des mêmes données de l'apprentissage avec les résultats théoriques.

    Merci


  4. #4
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Décembre 2011
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    salut Candesign,
    le résultat de réseau de neurone est raisonnable, le problème vient des données que tu as utilisés pour effectuer l'apprentissage. En effet, on voit bien que pour la première entré x=0 le réseau doit fournir une sortie y=0, puis pour la même entrée x=0 on demande au réseau de nous fournir une sortie y=1, et on lui redemande dans la 10ème fois, pour la même entrées, de nous fournir une sortie y=1. Alors, après que l'apprentissage c'est effectué, le réseau de neurone a appris qu'il doit fournir pour x=0 une sortie qui s'approche de 0 et de 1, d'où l'allure de la courbe.
    J'ai attacher les figures des courbes.
    la figure1 représente en vert le résultat théorique et en rouge le résultat de réseau sans apprentissage.
    la figure2 représente en vert le résultat théorique et en bleu le résultat de réseau après l'apprentissage.
    Fichiers attachés Fichiers attachés

  5. #5
    Nouveau membre du Club
    Inscrit en
    Décembre 2011
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Décembre 2011
    Messages : 29
    Points : 30
    Points
    30
    Par défaut
    Citation Envoyé par mimiza Voir le message
    salut Candesign,
    le résultat de réseau de neurone est raisonnable, le problème vient des données que tu as utilisés pour effectuer l'apprentissage. En effet, on voit bien que pour la première entré x=0 le réseau doit fournir une sortie y=0, puis pour la même entrée x=0 on demande au réseau de nous fournir une sortie y=1, et on lui redemande dans la 10ème fois, pour la même entrées, de nous fournir une sortie y=1. Alors, après que l'apprentissage c'est effectué, le réseau de neurone a appris qu'il doit fournir pour x=0 une sortie qui s'approche de 0 et de 1, d'où l'allure de la courbe.
    J'ai attacher les figures des courbes.
    la figure1 représente en vert le résultat théorique et en rouge le résultat de réseau sans apprentissage.
    la figure2 représente en vert le résultat théorique et en bleu le résultat de réseau après l'apprentissage.
    Merci mimiza,

    Tu as raison, pour la même entrée on a deux sorties possibles mais c'est l'objectif justement car le réseau est censé reconnaitre the pattern, c'est à dire l'évolution de la courbe dans le temps et à partir des points qui précèdent l'entrée nous disposerons d'une liaison unique entre ces points et la sortie.

Discussions similaires

  1. Comment simuler un réseau des neurones en 'live'
    Par mclaurien dans le forum MATLAB
    Réponses: 1
    Dernier message: 30/08/2011, 17h40
  2. Fonction pour schématiser un réseau de neurones
    Par Minoucha2006 dans le forum Méthodes prédictives
    Réponses: 2
    Dernier message: 26/11/2009, 10h51
  3. [ctypes]Problème pour simuler une combinaison de touche avec ctypes
    Par Estudiante dans le forum Interfaçage autre langage
    Réponses: 0
    Dernier message: 29/09/2009, 17h46
  4. Apprentissage de réseau de neurones
    Par flahaymen dans le forum Méthodes prédictives
    Réponses: 0
    Dernier message: 06/01/2009, 16h34
  5. quel langage utiliser pour implémenter un réseau de neurone arificiel?
    Par ranianwayra dans le forum Langages de programmation
    Réponses: 5
    Dernier message: 19/07/2008, 00h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo