simple Feed forward (newff) réseau MATLAB
J'ai utilisé ffnew
fonctions plusieurs fois, mais quand je suis en train de créer une simple avance de réseau tels que le vecteur d'entrée est P=[1;2;3;4]
et la sortie désirée est T=[1 ;0;0;1]
. Donc, je n'ai qu'un exemple de vecteur d'entrée
Le code est
net = newff(P,T,[4 1],{'tansig','tansig'});
net=train (net,P,T);
Quand j'écris la dernière ligne j'ai:
??? Error using ==> plus
Matrix dimensions must agree.
Error in ==> calcperf2 at 163
N{i,ts} = N{i,ts} + Z{k};
Error in ==> trainlm at 253
[perf,El,trainV.Y,Ac,N,Zb,Zi,Zl] = calcperf2(net,X,trainV.Pd,trainV.Tl,trainV.Ai,Q,TS);
Error in ==> network.train at 216
[net,tr] = feval(net.trainFcn,net,tr,trainV,valV,testV);
- Est
P
un 4-dimensions de l'échantillon vecteur ou est-il 4 échantillons de 1-dim chacun? - C'est un 4 dimensions de l'échantillon
- et comment est la sortie codée? veuillez voir le XOR exemple que j'ai posté.. BTW sa peine intéressant de former un réseau de neurones avec un seul exemple!
- Je sais que toutes ces choses, mais je veux que ce code exact. 4 dimensions d'un échantillon d'entrée avec ses 4 dimensions de la sortie souhaitée. Je veux entrer sur ce un exemple de vecteur P et se T à l'aide d'avance.
- eh bien c'est exactement le problème, vous ne donnez pas le réseau assez d'échantillons.. essayez d'ajouter un échantillon plus et il va couler!
- merci, c'est bon. En fait j'essayais de faire une lettre dont inverser une matrice [1 2;3 4], donc je l'ai fait comme un vecteur. Avez-vous une idée à ce sujet? Salutations...
Vous devez vous connecter pour publier un commentaire.
Peut-être un simple exemple. Envisager le fameux XOR problème:
Notez que j'ai utilisé NEWPR au lieu de NEWFF. La raison en est qu'il utilise la fonction logistique sur la sortie (NEWFF n'linéaire), qui est plus adapté à la classification des tâches. Si vous utilisez un 1-de-N cible de codage, la sortie sera dans l'intervalle [0,1] et peuvent être interprétées comme des probabilités a posteriori pour chaque classe (NEWFF ne sera pas restreint à [0,1])
Si vous créez votre NN utilisation de MLP ou RNN, vous pouvez changer la fonction
a2 = round(f2(LW2 * a1 + b2))
oua2 = round(purelin(LW2 * a1 + b2))
alors la sortie NN (a2) sera binaire