sigmoid有啥作用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sigmoid有啥作用相关的知识,希望对你有一定的参考价值。

参考技术A 什么是sigmoid?其作用是什么?很简单。这是一个科学家发明的数学工具。我们在做决策的时候通常非此即彼。在计算机中通常用零或一来替代两种可能性。为了勾画决策的不确定性。可以使用0到1之间的一个实数来表示我们决策的结果。这样当我们的决策结果是0.6的时候。代表我们更倾向于选择1更不倾向于选择0。

然而现实中我们所观察到的特征,通常不是0到1之间的实数。我们要做决策,就必须将这个实数压缩到0到1之间。

假设我们有若干客户的消费记录。想判断哪些客户是高收入人群,哪些客户是低收入人群。

一个比较简单的方法就是计算每个客户的平均消费金额。当平均消费金额大于一个特定的阈值a时,则为高收入人群,小于则为低收入人群。

这显然是一个非此即彼判断。没有表现出决策的不确定性。

为了引入决策的不确定性,我们必须给每一种平均消费金额给予一个打分。这个打分在0到1之间。也可以理解为是决策的概率。

我们完全可以把平均消费金额作为sigmoid函数的输入,从而将任意金额映射到0到1之间。

这个sigmoid函数有两个参数来控制着决策不确定性的映射。第一个参数的取值决定了sigmoid函数将怎样的平均消费金额映射为0.5,即完全不确定。该参数的取值类似于上文提到的阈值a。

另外一个参数和sigmoid函数的性质有关。sigmoid函数有如下性质当平均消费金额远大于a时函数的输出结果无限逼近于一。当平均消费金额远小于a时函数的输出结果无限逼近于零。

则另外一个参数实际上控制着这个逼近速度。当这个逼近速度无限大的时候,就等同于上面简单的方案。而这当这个逼近速度比较慢的时候,其会以较细的粒度描述决策的不确定性。即针对各种平均消费金额其都不会草率的将其无限逼近于零或者一。而是给定一个0到1之间的合适的实数值。

这就是sigmoid函数全部的作用了。

[转]请问人工神经网络中的activation function的作用具体是什么?为什么ReLu要好过于tanh和sigmoid function?

请问人工神经网络中的activation function的作用具体是什么?为什么ReLu要好过于tanh和sigmoid function? - amaze2的回答 - 知乎 https://www.zhihu.com/question/29021768/answer/1321404391

 

激活函数的用处是实现人工神经网络的非线性化。最常用的激活函数包括Sigmoid、Tanh和ReLU,如下图:

技术图片

Sigmoid和Tanh激活函数的梯度取值范围分别是(0,1)和(-1,1)。当层数较多时,人工神经网络可能会遭遇梯度消失的问题。

ReLU激活函数的梯度要么是0,要么是1,能够很好地避免梯度消失和梯度爆炸的问题,因此在近年来得到了广泛的使用。

其实,激活函数不局限于上述3种。软阈值化也可以作为激活函数,其表达式如下:

技术图片
其中τ是阈值,是一个正数。从公式可以看出,软阈值化将[-τ,τ]区间内的特征置为0,将大于τ的特征减τ,将小于-τ的特征加τ。用图片来表示软阈值化,就如下图:
技术图片软阈值化的输出对输入的导数如下:

技术图片

可以看出,和ReLU激活函数一样,软阈值化的梯度要么为0,要么为1,也有利于梯度的反向传播。

当采用软阈值化作为激活函数时,一个很重要的问题是如何设置阈值τ。

残差收缩网络提供了一种思路,其原理图如下:

技术图片

可以看到,残差收缩网络采用了类似Squeeze-and-Excitation Networks的结构,来自动地设置阈值。

Minghang Zhao, Shisheng Zhong, Xuyun Fu, Baoping Tang, Michael Pecht,Deep residual shrinkage networks for fault diagnosis, IEEE Transactions on Industrial Informatics, 2020, 16(7): 4681-4690.

关于软阈值化的深入讨论见下面的链接:

残差收缩网络:从删除冗余特征时的灵活程度进行讨论

https://my.oschina.net/u/4505302/blog/3230965

以上是关于sigmoid有啥作用的主要内容,如果未能解决你的问题,请参考以下文章

sigmoid函数作用

为啥 sigmoid 函数在神经网络中起作用?

神经网络为啥要用sigmoid函数?为啥要映射到0-1之间?求解释

神经网络为啥要用sigmoid函数?为啥要映射到0-1之间?求解释

神经网络为什么要用sigmoid函数?为什么要映射到0-1之间?

神经网络中为啥要用sigmoid函数?