首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >人工神经网络激活函数导数的计算

人工神经网络激活函数导数的计算
EN

Stack Overflow用户
提问于 2014-05-19 10:11:00
回答 1查看 76关注 0票数 0

当使用sigmoid激活函数时,我理解导数是由输出*(1-输出)计算的。但这是如何决定的呢?如何从乙状结肠函数1/(1+e^(-x))确定导数应该是输出*(1-输出)?

例如,如果我想确定输出缩放到0-1范围( atan(x) *0.3183098861837907+0.5)的atan(x)或atan(X)的导数,如何确定这个导数用于训练神经网络?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-19 20:48:27

在我看来,这更像是一个与数学有关的问题,而不是一个编码的问题,但无论如何,你还是会这样做的。

  • 对于sigmoid函数:

哪里

如果你计算它的导数:

因此:

记住,x是输入,f是输出。这就是为什么你会得到你的“输出*(1-输出)”。

对于其他激活函数,您只需先计算导数,然后对其进行编码。但是,通常情况下,它不会像上面那样有一个很好的形式。

  • 至于你问题的另一部分,你所拥有的是某种形式:

如果计算它的导数(这将适用于任何被缩放和偏移的函数u(x) ),您将得到:

简单地说,b部件是一个常数,因此它在导出时消失了,而a是一个常数系数,因此它在导出时保持不变。

就你而言,因为:

你要找的衍生产品是:

就个人而言,这是相当简单的数学,我强烈建议你在开始使用神经网络之前,把注意力集中在理解这些问题上;)

干杯

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

https://stackoverflow.com/questions/23735035

复制
相关文章

相似问题

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