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

Posted

tags:

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

书上介绍的时候都是直接就提出sigmoid函数,但是没有说明为什么要用这个函数,以及这个函数是怎么来的?有谁能解释一下吗?复制粘贴的就不要了,就是简单说明一下为什么要用这个函数,是因为它有什么重要的特性?谢谢啦

Sigmoid函数,即f(x)=1/(1+e-x).神经元的非线性作用函数.
人工神经网络的学习算法-BP算法
神经网络的学习是基于一组样本进行的,它包括输入和输出(这里用期望输出表示),输入和输出有多少个分量就有多少个输入和输出神经元与之对应.最初神经网络的权值(Weight)和阈值(Threshold)是任意给定的,学习就是逐渐调整权值和阈值使得网络的实际输出和期望输出一致.
我们假设样本有P个,输入层有N个神经元,隐含层有K个神经元,输出层有M个神经元.Xj为输入层神经元j的输入,Hj为隐含层神经元j的输出,Fj为输出层神经元j的实际输出,Rj为输出层神经元j的期望输出,前一层的输出即为后一层的输入.Whji是输入层神经元i与隐含层神经元j之间的连接权值,Thj是隐含神经元j的阈值,Woji是隐含层神经元i与输出层神经元j之间的连接权值,Toj是输出神经元j的阈值.神经元的非线性作用函数是Sigmoid函数,即f(x)=1/(1+e-x).
参考技术A 抑制两头,对中间细微变化敏感。使NN对特征识别度更好本回答被提问者采纳 参考技术B 就是把数据归一化,有利于训练,产生结果。
当然可以不用归一化。追问

那要归一化为什么不用别的函数?那么多函数干嘛就选这个?

追答

不为什么。人家喜欢用这个,你看着不喜欢,可以用你自己的函数。

追问

额,算了我再看看别人怎么回答吧,不好意思

以上是关于神经网络中为啥要用sigmoid函数?的主要内容,如果未能解决你的问题,请参考以下文章

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

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

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

为啥将误差乘以神经网络中 sigmoid 的导数?

激活函数的选择

如何选择激活函数