BP网络相关matlab函数:Sigmoid函…

来源:互联网 发布:linux设定文件夹权限 编辑:程序博客网 时间:2024/06/08 17:34
sigmoid函数是一个良好的阈值函数,
连续,光滑
严格单调
关于(0,0.5)中心对称
对阈值函数 
      _ 1, x > \delta
f(x)= /
     \
      - 0, x < -\delta
的良好近似

其导数f'(x)=f(x)*[1-f(x)],可以节约计算时间

f(x) = 1/[1+e^(-x)].图形如上。
如果x = a*r.其中a为倾斜系数,当a足够小,这个图形可以无限制接近你这个阈值函数
BP网络相关matlab函数:Sigmoid函数
%%双曲正切函数tan-Sigmoid 
x=-4:.1:4;
y=tansig(x);
plot(x,y,'^r:');
title('双曲正切函数tan-Sigmoid');
xlabel('x');
ylabel('y');
grid on;
BP网络相关matlab函数:Sigmoid函数

%%dlogsig/dtansig   Sigmoid函数的导数
BP网络相关matlab函数:Sigmoid函数
%%dlogsig/dtansig   Sigmoid函数的导数
x=-1:.1:4;
y=logsig(x);
dy=dlogsig(x,y);
subplot(211);
plot(x,y);
title('logsig');
subplot(212);
plot(x,dy);
title('dlogsig');
BP网络相关matlab函数:Sigmoid函数

同样的,我们可以知道,logsig()和dlogsig()的用法 
x=-4:.1:4;
y=tansig(x); % logsig函数
dy=dtansig(x,y);       %logsig函数的导数
subplot(211)
plot(x,y);
title('tansig')
subplot(212);
plot(x,dy);
title('dtansig')
BP网络相关matlab函数:Sigmoid函数

0 0