2011-05-03 5 views
2

Est-ce que quelqu'un peut me dire si mon code est faux en essayant de former mon réseau pour la reconnaissance de formes? Je suis désespéré, d'avoir tout essayé, depuis avoir changé le Hn, les époques, normalisé mes données, etc ... Mais le réseau ne semble pas se développer.Le réseau de neurones Matlab n'apprend pas

Voici le code

net = newff(p,t,15,{},'traingd'); 
net.divideParam.trainRatio = 70/100; % Adjust as desired 
net.divideParam.valRatio = 15/100; % Adjust as desired 
net.divideParam.testRatio = 15/100; % Adjust as desired 
net.trainParam.epochs = 10000; 
net.trainParam.goal = 0.01; 
net.trainParam.show = 25; 
net.trainParam.time = inf; 
net.trainParam.min_grad = 1e-10; 
net.trainParam.max_fail = 10; 
net.trainParam.sigma = 5.0e-5; 
net.trainParam.lambda = 5.0e-7; 
net.trainParam.mu_max = 1e-20; 
net.trainParam.lr = 0.001; 

% Train and Apply Network 
[net,tr] = train(net,p,t); 
outputs = sim(net,p); 

% Create P. 

% Plot 
plotperf(tr) 
plotfit(net,p,t) 
plotregression(t,outpts) 

Et je l'exécute exactement comme ça. p et t sont mes entrées et cibles respectivement. Est-ce seulement moi qui, en essayant d'exécuter la boîte à outils (nprtool), n'est pas capable d'introduire la cible, à moins qu'elle ne provienne des démos?

Répondre

2

Lorsque vous démarrez l'interface graphique (nprtool), vous devriez être en mesure de choisir les cibles (et les entrées) des variables dans l'espace de travail:

nprtool

En ce qui concerne votre première question:

  • Pouvez-vous essayer d'apprendre des données synthétiques (ce qui correspond bien sûr au modèle)?
  • Pouvez-vous essayer d'utiliser l'option par défaut trainlm au lieu de traingd?
+0

Merci pour votre réponse. J'utilise les variables de l'espace de travail. Qu'est-ce qui se passe est que Quand j'ouvre la cible, ça ne me donne pas le changement à choisir ????? Puis-je demander quelque chose d'autre? Deux fois j'ai pu former le réseau, et dès que je change de cible, il continue à ne pas s'entraîner. Je pense que cela pourrait être dû aux poids, que j'ai eu la chance que dans une semaine, il pourrait travailler deux fois. Savez-vous quels sont les meilleurs poids pour commencer? Merci beaucoup – Paulo

+0

Il pourrait être causé par des données problématiques, si les données ne suivent pas le modèle de réseau neuronal, alors l'algorithme pourrait ne pas converger. –

+0

Mais je ne comprends pas pourquoi il a convergé deux fois, de toutes les fois où j'essayais. Trainlm normalement me donne une pire mse. Je commence à être désespéré, est-ce toujours comme ça? J'ai pensé à essayer weka, mais j'ai un problème d'espace et XMx ne le résout pas :( – Paulo

Questions connexes