In neural network, how can I change the sigmoid activation function to a Gaussian one, How to modify the Matlab codes to achieve this?

6 visualizaciones (últimos 30 días)
that is, change this function: a = tansig(n) = 2/(1+exp(-2*n))-1 to a = gauss(n) = exp(-(n.^2))

Respuesta aceptada

Greg Heath
Greg Heath el 6 de Jun. de 2015
net = fitnet;
net.layers{1}.transferFcn = 'radbas';
Hope this helps.
Thank you for formally accepting my answer
Greg
  3 comentarios
Jay Wong
Jay Wong el 6 de Jun. de 2015
If I want to set this activation function at the hidden layer (only have one hidden layer), do I just need to change the codes to net.layers{2}.transferFcn = 'radbas'
Jet Yu
Jet Yu el 12 de Abr. de 2019
looks type in
net.layers{1}.transferFcn = 'radbas';
would NOT work in R2018a version for bug below
Error using network/subsasgn>network_subsasgn (line 166)
Attempt to assign cell array as a double array.
Error in network/subsasgn (line 14)
net = network_subsasgn(net,subscripts,v,netname);
Even i change as to fix the data type
net.layers(1).transferFcn(1,:) = cellstr('radbas')
error still
Error using network/subsasgn>network_subsasgn (line 166)
Attempt to assign cell array as a double array.
Error in network/subsasgn (line 14)
net = network_subsasgn(net,subscripts,v,netname);
Any way to fix it?
Best

Iniciar sesión para comentar.

Más respuestas (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by