miniprojet/learning/code/PMC_training.m
2019-12-17 00:33:40 +01:00

29 lines
1.3 KiB
Matlab
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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 dapprentissage est fixé à 1000
net.trainParam.lr = 0.02; % Le pas dapprentissage est égal à 0.02
net.trainParam.show = 100; % Des informations sur les performances du réseau sont affichées tous les 100 cycles dapprentissage
net.trainParam.goal = 1e-10; % Lalgorithme dapprentissage sarrête lorsque lerreur quadratique moyenne est inférieure à 1e-10
net.trainParam.min_grad = 1e-10; % Lalgorithme dapprentissage sarrê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