神经网络里常常见到sigmoid函数(又称logistic函数),也会提到进入饱和区后该函数的导数很小,不利于训练。
那么,精确值是多少呢,今天,就画个图来看看:
下面是一些点上的具体值,可以看到, x=4时,函数值已经到0.98以上了,而导数已经降到峰值的 十分之一以下了。
训练的时候不能太进入饱和区,但是如果完全在线性区,多层神经网络是没有意义的(多层线性网络还是线性的。。。);
根据这些值,可以为网络权重的初始值设置给个大致的参考吧~
x=-8, 函数值为:0.00034, 导数为:0.00034
x=-6, 函数值为:0.00247, 导数为:0.00247
x=-4, 函数值为:0.01799, 导数为:0.01766
x=-2, 函数值为:0.11920, 导数为:0.10499
x= 0, 函数值为:0.50000, 导数为:0.25000
x= 2, 函数值为:0.88080, 导数为:0.10499
x= 4, 函数值为:0.98201, 导数为:0.01766
x= 6, 函数值为:0.99753, 导数为:0.00247
x= 8, 函数值为:0.99966, 导数为:0.00034
代码如下:
close all
fsigmoid=@(x) 1./(1+exp(-x));
x=-8:.1:8;
y=fsigmoid(x);
fdy_dz=@(y) y.*(1-y);
dsig=fdy_dz(y);
fontSize=20;
subplot(121);
plot(x,y);
title('sigmoid函数','FontSize',fontSize)
xlabel('x','FontSize',fontSize)
ylabel('sigmoid(x)','FontSize',fontSize)
grid on
% axis equal
subplot(122);
plot(x,dsig);
title('sigmoid函数的导数','FontSize',fontSize)
xlabel('x','FontSize',fontSize)
ylabel('d sigmoid(x) /dx','FontSize',fontSize)
grid on
idx=find(mod(x,2)==0)
for i=1:length(idx)
fprintf('x=%2d,\t函数值为:%2.5f,\t导数为:%2.5f\n',x(idx(i)),y(idx(i)),dsig(idx(i)))
end
- 大小: 67 KB
分享到:
相关推荐
Sigmoid函数在神经网络中被广泛应用,因为它提供了一种平滑的、连续的、具有饱和特性的非线性转换方式,使得神经元的输出能够更好地模拟生物神经元的行为。分段非线性逼近法是一种有效的处理Sigmoid函数的方法,尤其...
《基于Sigmoid函数的软件漏洞风险评价算法》一文探讨了在网络安全领域中,如何运用数学模型对软件漏洞的风险进行科学、准确的评估。Sigmoid函数,也称为 logistic 函数,是生物统计学、机器学习等领域常用的一种S型...
而柔性神经网络则采用柔性sigmoid函数,即参数化的sigmoid函数。这些参数随着学习过程不断调整,使得每个神经元的Sigmoid函数具有各自不同的形状,从而提高了网络的灵活性和学习能力。 3. 柔性单极性Sigmoid函数和...
本代码的具体实现细节,可以参考我的博文--Sigmoid函数的特性及硬件实现方法--含matlab代码及讲解 https://blog.csdn.net/qq_35721810/article/details/85320293 直接运行test.m就可以看到运行结果
在深入分析和理解FPGA(现场可编程门阵列)在电子鼻系统中实现Sigmoid函数分区间线性逼近的论文内容之前,我们需要明确几个关键概念和知识领域。 首先,FPGA是一种可以通过编程来配置的集成电路,它允许设计者在...
sigmoid函数在信息技术,尤其是机器学习领域中扮演着重要的角色。它是 logistic regression(逻辑回归)和神经网络中的核心组成部分。Sigmoid函数,也被称为logistic函数,是一个连续的、双曲正态分布的S型函数,它...
亚像素边缘检测技术是采用图像处理软件算法来提高检测精度的有效途径, 文中对矩法、拟合法和插值法等常用的亚像素边缘检测算法的原理、优点和不足进行了分析 ,提出了Sigmoid函数拟合的亚像素边缘定位算法....
基于Python的sigmoid函数FPGA实现.pdf
Sigmoid函数是神经网络中广泛使用的非线性激活函数,它能够将输入值映射到0到1之间,使得结果更加适合作为概率解释。在标题“Altera-FPGA-sigmoid.rar_Sigmoid函数_fpga_sigmoid FPGA_tobaccoggo_激”中,我们可以...
本项目着重讨论了如何利用sigmoid函数来实现这样的高速避让路径规划。 sigmoid函数,全称S型函数,是一种在数学和计算机科学中广泛使用的连续函数,它具有S形的曲线特征。其数学表达式为: \[ f(x) = \frac{1}{1 +...
在这个过程中,sigmoid函数起着至关重要的作用。sigmoid函数,也称为逻辑函数或logistic函数,它的数学表达式为: \[ S(x) = \frac{1}{1 + e^{-x}} \] 这个函数具有以下特点: 1. **连续性和单调性**:sigmoid...
在本文中,我们将深入探讨如何将基于Python的sigmoid函数实现在FPGA(Field-Programmable Gate Array)上。sigmoid函数是一种广泛应用的激活函数,在神经网络、机器学习以及信号处理等领域有着广泛的作用。理解并...
"基于sigmoid函数激励需求响应模型的电动汽车有序充电控制策略" 本文主要介绍了一种基于sigmoid函数激励需求响应模型的电动汽车有序充电控制策略。该策略着重于解决电动汽车充电对电网的影响,通过引入需求响应模型...
Sigmoid函数是一种数学函数,其形状类似S形,常用于神经网络和逻辑回归中,能够将连续数值映射到(0,1)之间,具有平滑且连续的特性。在电力系统无功优化中,该函数可以用来近似离散变量的行为,从而将离散优化问题...
用python实现阶跃函数、sigmoid函数、ReLU函数 并画出图形
在李宏毅的学习周笔记中,主要介绍了训练深度学习模型的基本步骤,包括线性模型、Sigmoid函数以及神经网络的相关概念,并结合Python进行了实践。 首先,训练深度学习模型的基本步骤主要包括三个关键环节:定义未知...
在标题中提到,这个实现基于人工神经网络,并且激活函数选用的是Sigmoid函数。Sigmoid函数是一个常用的非线性激活函数,它的输出范围在0和1之间,呈现出S型曲线。在神经网络中,Sigmoid函数能够将连续数值映射到(0, ...
sigmoid函数是神经网络中常用的函数,本PDF讲述了用FPGA实现sigmoid函数的方法