Salut tous le monde,

Je dois faire un classificateur en utilisant un réseau de neurones sous Matlab.
Le but est d'avoir pour chaque entrée sa classe parmi 4, pour cela j'ai essayé le code suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
clear all;
load('baseACP');% Chargement de la matrice
P = baseACP(1:10000,:);
f = [0 1 2 3]; % On veut avoir 4 sorties
basemm = minmax(P);% minumum et maximum
% notre réseau : 1 couche cachée de 10 neurones et 1 de sortie avec 4 neurones
net=newff(basemm,[10 ,4],{'logsig','logsig',},'traingd');
net.trainParam.show = 50;
net.trainParam.lr = 0.5; % pas d'aprentissage
net.trainParam.epochs = 3010;
net.trainParam.goal = 0.01;
[net,tr,Y,E] = train(net,P,f);
Quand je lance l'exécution, une erreur se produit : " Matrix must have 4 rows".
Cette erreur disparait si je met uniquement :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
net = train(net,P)
à la place de :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
[net,tr,Y,E] = train(net,P,f);
et l'apprentissage commence et il finit avec but atteint "performance met goal", mais je ne sais pas comment il va me donner les 4 classes que j'en ai besoin pour l'ensemble de test !
Je souhaite que j'ai bien illustré mon pb en attendant votre aide.

Cordialement !