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 :

[Neural Network Toolbox] newff: passer de la version 5.0 à 5.1


Sujet :

MATLAB

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2005
    Messages : 20
    Points : 16
    Points
    16
    Par défaut [Neural Network Toolbox] newff: passer de la version 5.0 à 5.1
    Bonjour grands sages de Matlab! ^_^

    J'ai un petit problème qui me turlupine. J'ai un exemple tiré du livre de Negnevitsky (pour les curieux: http://www.booksites.net/download/ne...2/download.htm) qui utilise le Neural Network Toolbox 5.0, mais cette version est obsolète depuis 2007.

    On pourrait débattre des pour et des contre de la nouvelle version, mais, au final, c'est toujours Mathworks qui auront le dernier mot

    Bref, ma question est: comment je fais pour éviter le warning comme quoi la syntaxe est obsolète (sans supprimer le warning ) tout en conservant les mêmes résultats? Parce que c'est là le problème: ça ne fonctionne plus!

    La fonction est simple: reproduction d'un XOR avec 2 neurones sur une couche cachée. Il est donc sensé être facile de reproduire ces résultats...

    J'ai regardé le script de la fonction newff et je peine à trouver ce que Matlab fait en cachette.

    J'ai amélioré les résultats en forçant les trainings sets à être tous les vecteurs d'entrées (proportions: training=1, validation=0, test=0), mais même à ça, il trouve le moyen de se planter... Pourtant, il semble atteindre le bon taux d'erreur (fixé à 10^-3) en environ 280 époques.

    Des idées sur le bobo?

    Merci tout plein!!

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2005
    Messages : 20
    Points : 16
    Points
    16
    Par défaut
    99% résolu!

    Le 'vilain' Matlab faisait un traitement non désiré sur les entrées/sorties.

    Donc en résumé (pas la même appli, mais pas grave):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    net = newff(minmax(p),[S1 S2],{'logsig' 'logsig'},'traingdx');
    devient
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    net = newff(p,t,S1,{'logsig' 'logsig'},'traingdx','learngdm','mse',{},{});
    net.divideFcn = 'dividerand';   
    net.divideParam.trainRatio = 1; 
    net.divideParam.valRatio = 0;  
    net.divideParam.testRatio = 0;
    Les accolades vides ( ça m'a pris du temps à comprendre) permettent de supprimer le traitement superflux (dans mon cas) et les 4 dernières lignes sont pour utiliser toutes les données pour l'entraînement.

    Le 1% restant à résoudre est dû à une légère variation des résultats sur certains scripts. Sinon, c'est 100% identique (faut fixer le seed, bien entendu!).
    Somme toute, je peux faire avec (ça converge de façon raisonnable vers les mêmes résultats), mais si jamais vous avez une idée de ce qui reste à modifier pour obtenir exactement les mêmes résultats en tout temps, alors je suis preneur

Discussions similaires

  1. Réponses: 8
    Dernier message: 08/10/2009, 08h26
  2. Neural networks toolbox
    Par berlilou dans le forum MATLAB
    Réponses: 2
    Dernier message: 24/09/2009, 07h36
  3. [neural network toolbox] définir la précision que l'on veut obtenir
    Par christophe_halgand dans le forum MATLAB
    Réponses: 0
    Dernier message: 27/04/2009, 13h44
  4. Réponses: 2
    Dernier message: 22/04/2009, 23h04
  5. Réponses: 0
    Dernier message: 10/02/2009, 14h08

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