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

1 Ansicht (letzte 30 Tage)
that is, change this function: a = tansig(n) = 2/(1+exp(-2*n))-1 to a = gauss(n) = exp(-(n.^2))

Akzeptierte Antwort

Greg Heath
Greg Heath am 6 Jun. 2015
net = fitnet;
net.layers{1}.transferFcn = 'radbas';
Hope this helps.
Thank you for formally accepting my answer
Greg
  3 Kommentare
Jay Wong
Jay Wong am 6 Jun. 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 am 12 Apr. 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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by