Neural network with softmax output function giving sum(output)~=1
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Anshul Gupta
el 23 de Abr. de 2014
Comentada: Antonio Mendes
el 5 de Mayo de 2020
Hi, I have an issue with training neural network with softmax output transferFcn. I have trained NN using code appended below:
net = feedforwardnet(6,'trainscg');
net.layers{2}.transferFcn='softmax';
net.trainParam.epochs = 100;
net.divideParam.trainRatio = 1.0;
net.divideParam.testRatio = 0.0;
net.divideParam.valRatio = 0.0;
net.trainParam.lr = 0.1;
net.trainParam.goal = 0.001;
net.trainParam.showWindow=0;
net = train(net,normX',outputLabels); %
where normX = 26,000 X 7 and outputLabels = 2 X 26,000. Output can be 0 or 1.
when I simulate network with same input data, I am getting output for 2 output units in the range of [0,1] but their sum is not equal to one. I have read and have also searched on web that using softmax one can get sum(output activation) = 1.
Please help me with this issue. Let me know if you need further information.
Thanks Regards Anshul
0 comentarios
Respuesta aceptada
Greg Heath
el 24 de Abr. de 2014
There appears to be a bug in MATLAB's softmax. Before MATLAB introduced their version I coded my own. I lost it when my computer crashed and do not remember if I ever replaced it. If interested, You can search in COMP.AI.NEURAL-NETS, COMP.SOFT-SYS.MATLAB and ANSWERS and GOOGLE using
greg softmax
OR you can try to debug the current version.
I do not have time to chase it down. However, I do not see that you used the crossentropy performance function instead of mean-square-error.
3 comentarios
Antonio Mendes
el 5 de Mayo de 2020
Anshul Gupta thanks for reporting what the problem is. I was experiencing the same problem today. Thank you.
Más respuestas (2)
reza
el 27 de Sept. de 2019
Hi,
You may use the followwing command line:
net.outputs{end}.processFcns={};
0 comentarios
Ver también
Categorías
Más información sobre Image Data Workflows en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!