2 changed files with 55 additions and 1 deletions
@ -0,0 +1,29 @@ |
|||
function [net, rt, errort, perft] = PMC_training(entree, sortie, n_cache, nb_apprentissage) |
|||
|
|||
[n_entree, nb_echantillons] = size(entree); |
|||
[n_sortie, ~] = size(sortie); |
|||
|
|||
% net = newff(entree, sortie, n_cache, {'tansig' 'tansig'}, 'trainscg'); |
|||
net = feedforwardnet(n_cache, 'trainscg'); |
|||
|
|||
net.trainParam.epochs = 1000; % Le nombre de cycle d’apprentissage est fixé à 1000 |
|||
|
|||
net.trainParam.lr = 0.02; % Le pas d’apprentissage est égal à 0.02 |
|||
|
|||
net.trainParam.show = 100; % Des informations sur les performances du réseau sont affichées tous les 100 cycles d’apprentissage |
|||
|
|||
net.trainParam.goal = 1e-10; % L’algorithme d’apprentissage s’arrête lorsque l’erreur quadratique moyenne est inférieure à 1e-10 |
|||
|
|||
net.trainParam.min_grad = 1e-10; % L’algorithme d’apprentissage s’arrête lorsque le module du gradient est inférieur à 1e-10 |
|||
|
|||
net.divideParam.trainRatio = nb_apprentissage / nb_echantillons; |
|||
net.divideParam.valRatio = 0; % On n'utilise pas d'ensemble de validation. |
|||
net.divideParam.testRatio = (nb_echantillons - nb_apprentissage) / nb_echantillons; |
|||
|
|||
net = train(net, entree, sortie); |
|||
|
|||
entree_test = entree((nb_apprentissage + 1): nb_echantillons,:); |
|||
sortie_test = sortie((nb_apprentissage + 1): nb_echantillons,:); |
|||
[rt, pf, af, errort, perft] = sim(net, entree_test, [], [], sortie_test); |
|||
end |
|||
|
|||
Loading…
Reference in new issue