首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Heavside函数(单位/阶跃函数)导数

Heavside函数(单位/阶跃函数)导数
EN

Stack Overflow用户
提问于 2020-07-14 07:19:01
回答 1查看 247关注 0票数 0

我是机器学习的新手,正在学习如何编写感知器。

重边函数的导数是多少?对于上下文,我使用感知器作为伪SVM,这样我就可以对数据点进行分类。

我假设它是0,但是基于教程,我看到人们使用1。为什么这是有效的。另外,有没有可能使用sigmoid类型的激活函数,然后通过重边函数传递输出,因此我可以求sigmoid的导数?

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2020-07-15 13:40:53

Heaviside step function的导数在所有地方都是零,除了在分支点,分支点是零,因为它不存在。这是因为Heaviside函数是由两个在不同区间上的常数函数组成的,并且常数函数的导数总是零。导数不存在于零点,因为函数在零点不连续(零点存在跳跃)。

从数值上讲,导数在任何地方都设置为零,即使在零处也是如此。这是有问题的,因为梯度下降将不起作用,因为权重将不会更新,并且将从初始化时起保持不变。要使梯度下降工作,您将需要一个平滑版本的Heaviside函数。一种可能是简单的sigmoid函数。

关于第二个问题,是的,您可以在许多框架(如TensorFlow )中定义具有自定义渐变的自定义函数。您可以将输出设置为Heaviside函数的输出,将梯度设置为sigmoid函数的梯度。

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

https://stackoverflow.com/questions/62885758

复制
相关文章

相似问题

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