首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >阶梯函数与Sigmoid函数

阶梯函数与Sigmoid函数
EN

Stack Overflow用户
提问于 2015-12-26 16:04:36
回答 2查看 10.1K关注 0票数 16

我不太理解为什么sigmoid函数被认为比阶跃函数更有用(对于神经网络)。希望有人能给我解释一下。提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-12-26 18:30:05

(Heaviside) step function通常只在single-layer perceptrons中有用,这是一种早期类型的神经网络,可用于在输入数据为linearly separable的情况下进行分类。

然而,multi-layer neural networks or multi-layer perceptrons更有意义,因为它们是通用函数逼近器,并且能够区分不可线性分离的数据。

多层感知器使用backpropapagation进行训练。反向传播的一个要求是differentiable激活功能。这是因为反向传播在此函数上使用gradient descent来更新网络权重。

Heaviside阶跃函数在x=0时是不可微的,它的导数在别处。这意味着梯度下降将无法在更新权重上取得进展,反向传播将失败。

sigmoid or logistic function没有这个缺点,这解释了它作为神经网络领域中的激活函数的有用性。

票数 29
EN

Stack Overflow用户

发布于 2015-12-26 16:33:55

这取决于您正在处理的问题。在简单的二元分类的情况下,阶跃函数是合适的。当通过引入噪声或不确定性来构建更具生物学真实感的网络时,Sigmoids可能会很有用。sigmoids的另一个但完全不同的用途是用于数值连续,即针对模型中的某些参数进行分叉分析。对于平滑系统,数值延拓更容易(而对于非平滑系统,数值延拓则非常棘手)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34469595

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档