为什么要使用非线性激活函数

1.为什么要使用非线性激活函数?

线性可分的情况下:逻辑回归和线性回归,无论是闭解形式还是凸优化都能高度拟合,但是线性不可分的情况下 (XOR异或函数),需要非线性对换数据的分布进行重新映射。对神经网络我们在神经网络中,对每一层线性变换后叠加一个非线性激活函数,以避免多层网络等效于单层线性函数,从而获得更大的学习与拟合能力。

使用激活函数的目的是为了向网络中加入非线性因素;加强网络的表示能力,解决线性模型无法解决的问题

(1)非线性。线性激活层对于深层神经网络没有作用,因为其作用以后仍然是输入的各种线性变换。。
(2)连续可微。梯度下降法的要求。
(3)范围最好不饱和,当有饱和的区间段时,若系统优化进入到该段,梯度近似为0,网络的学习就会停止。
(4)单调性,当激活函数是单调时,单层神经网络的误差函数是凸的,好优化。
(5)在原点处近似线性,这样当权值初始化为接近0的随机值时,网络可以学习的较快,不用可以调节网络的初始值。

2.为什么加入非线性因素能够加强网络的表示能力?——神经网络的万能近似定理

神经网络的万能近似定理认为主要神经网络具有至少一个非线性隐藏层,那么只要给予网络足够数量的隐藏单元,它就可以以任意的精度来近似任何从一个有限维空间到另一个有限维空间的函数。

如果不使用非线性激活函数,那么每一层输出都是上层输入的线性组合

此时无论网络有多少层,其整体也将是线性的,这会导致失去万能近似的性质

但仅部分层是纯线性是可以接受的,这有助于减少网络中的参数。

  • 6
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
线性激活函数非线性激活函数是神经网络中常用的两种类型的激活函数。 线性激活函数是指输出与输入之间存在线性关系的激活函数。常见的线性激活函数有恒等函数(identity function),即f(x) = x。线性激活函数的特点是输出的范围与输入的范围相同,不具备非线性变换的能力。因此,线性激活函数在神经网络中的作用有限,主要用于回归任务或者作为输出层的激活函数非线性激活函数是指输出与输入之间不存在线性关系的激活函数。常见的非线性激活函数有Sigmoid函数、Tanh函数、ReLU函数、Leaky ReLU函数和Softmax函数等。这些非线性激活函数能够引入非线性变换,增加神经网络的表达能力,使其能够更好地适应复杂的数据模式和任务。 Sigmoid函数和Tanh函数是常用的非线性激活函数,它们在二分类任务的输出层和模型的隐藏层中使用。Sigmoid函数将输入映射到(0,1)区间内,Tanh函数将输入映射到(-1,1)区间内。它们的优点是输出范围有限,可以用作概率估计或者对称性的处理,但是由于梯度消失的问题,在某些情况下需要避免使用。 ReLU函数是一种常见的非线性激活函数,目前在神经网络中使用最广泛。它将负输入值映射为0,将正输入值保持不变。ReLU函数的优点是计算简单,能够有效地缓解梯度消失的问题。但是它也存在一个问题,即可能导致神经元的死亡,即负输入值对应的梯度为0,导致神经元无法更新。为了解决这个问题,可以使用Leaky ReLU函数,它在负区域具有小的正斜率,可以进行反向传播。 Softmax函数是一种用于多分类任务输出层的非线性激活函数。它将多个神经元的输出映射到(0,1)区间内,可以看作是当前输出属于各个分类的概率。Softmax函数的优点是除了用于二分类还可以用于多分类,增加了区分对比度,学习效率更高。但是它也存在一个缺点,即无法为正负输入值提供一致的关系预测。 综上所述,线性激活函数适用于回归任务或者作为输出层的激活函数非线性激活函数适用于隐藏层和多分类任务的输出层。具体选择哪种激活函数要根据具体的任务和数据特点来决定。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值