首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >中的sigmoid函数

中的sigmoid函数
EN

Stack Overflow用户
提问于 2016-08-13 20:16:39
回答 1查看 977关注 0票数 0

有人能用vb.net编写一个简单的sigmoid函数吗?我试过了,但我认为它不起作用。如果任何人能提出任何改进和/或修复建议,我将非常高兴。谢谢!

代码语言:javascript
复制
        Function sigmoid(inputs As Single)
        Dim finish As New Decimal
        finish = 1 / 1 + 2.71828183 ^(-inputs)
        Return finish
        End Function
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-13 20:45:55

除法运算符的优先级高于加法运算符,因此您的函数是计算(1/1) + e^-x。您所需要做的就是添加括号以强制求值为1/(1+e^-x)。

有一个内置的e^x函数。

可能不需要使用Single而不是Double。

您需要声明函数的返回类型- Double可能比Decimal更适合您使用它的用途。使用Option Strict On会告诉您前一种情况;我强烈建议您使用它并将其设置为新VB项目的默认设置。

代码语言:javascript
复制
Function sigmoid(x As Double) As Double
    Return 1 / (1 + Math.Exp(-x))
End Function

请参阅Operator Precedence in Visual BasicOption Strict On

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

https://stackoverflow.com/questions/38932637

复制
相关文章

相似问题

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