How to use a custom transfer function in neural net training
24 ビュー (過去 30 日間)
古いコメントを表示
I want to use a function similar to tansig. I don't seem to be able to find a good example, and the tansig.apply method only allows me one line! I'm wrapped around this axle, and I suspect I'm missing something simple. Any ideas? I'm using 2012b.
0 件のコメント
採用された回答
Greg Heath
2012 年 12 月 9 日
編集済み: Walter Roberson
2017 年 8 月 13 日
I cannot make sense of your post.
tanh(x) = tansig(x)
elliotsig(4*x) ~ tansig(x)
elliotsig4(x) ~ tansig(x)
function y = elliotsig4(x)
y = x./(0.25 + abs(x));
end
What do you mean by the tansig.apply method ???
Sample code would help explain.
Hope this helps.
Thank you for formally accepting my answer.
Greg
1 件のコメント
Greg Heath
2012 年 12 月 9 日
編集済み: DGM
2023 年 2 月 23 日
Note the following ranks in speed
1. tanh
2. elliotsig4
3. elliotsig
4. tansig
function elliottime
clear all, clc
tic; for i = 1:1e4
y1 = tansig(1); % 0.7616
end; t1 = toc % 1.2259
tic; for i = 1:1e4
y2 = elliotsig(4*1); % 0.8000
end; t2= toc % 0.0029
tic; for i = 1:1e4
y3 = elliotsig4(1); % 0.8000
end; t3 = toc % 0.0027
tic; for i = 1:1e4
y4 = tanh(1); % 0.7616
end; t4 = toc % 5.94e-4
[ [ t1 t2 t3 t4 ]' [y1 y2 y3 y4 ]' ]
function y = elliotsig(x)
y = x./(1+abs(x));
end
function y = elliotsig4(x)
y = x./(0.25+abs(x));
end
end
その他の回答 (5 件)
Bob
2013 年 3 月 27 日
4 件のコメント
Mayank Gupta
2016 年 5 月 4 日
Can you please explain in detail how to save a custom training function to the nntool directory ? I am using Firefly algorithm for optimization.
Mehdi Jokar
2018 年 7 月 16 日
Bob, thank you for you instructions. but, is apply the only function that needs to be modified? or we need to modify the backprop and forwardprop function in the + folder ?
Mehdi
Greg Heath
2012 年 12 月 11 日
編集済み: DGM
2023 年 2 月 23 日
I cannot understand why you think y2 is better than y1
x = -6:0.1:6;
y1 = x./(0.25+abs(x));
y2 = x.*(1 - (0.52*abs(x/2.6))) % (for -2.5<x<2.5).
figure
hold on
plot(x,y1)
plot(x,y2,'r')
0 件のコメント
mladen
2013 年 3 月 26 日
Could anybody upload some examples of modified tansig.m and +tansig folder? This would be very helpful for my project and for other people too. Thank You.
1 件のコメント
Nn Sagita
2013 年 8 月 29 日
If you have some examples how to modify transfer function, please share for me. Thank you.
mladen
2013 年 3 月 29 日
Thank you Bob. Nice trick with feedforwardnet.m (good for permanent use). I've managed to do this but some new questions arise:
- How to use param in apply(n,param) ? (more info-> matlabcentral/answers/686)?
- How to use different transfer functions within the same layer?
- My apply function looks something like this:
function A = apply(n,param)
%....
A=a1.*a2;
end
now I would like to use a1 and a2 to speedup the derivative computation in da_dn.m (this has already been done with tansig.m, but with the final value (A in my code))...is it possible?
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Sequence and Numeric Feature Data Workflows についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!