Vb.net vb中的sigmoid函数

Vb.net vb中的sigmoid函数,vb.net,sigmoid,Vb.net,Sigmoid,有人能在vb.net中编写一个简单的sigmoid函数吗?我试过了,但我认为它不起作用。如果有人能提出任何改进和/或修复建议,我将非常高兴。谢谢 Function sigmoid(inputs As Single) Dim finish As New Decimal finish = 1 / 1 + 2.71828183 ^(-inputs) Return finish End Function 除法运算符的进阶比

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

        Function sigmoid(inputs As Single)
        Dim finish As New Decimal
        finish = 1 / 1 + 2.71828183 ^(-inputs)
        Return finish
        End Function

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

有一个内置的e^x函数

可能没有必要使用单字符而不是双字符

您需要声明函数的返回类型-对于您使用它的目的来说,双精度可能比十进制更好。使用
选项严格遵守
会让您了解前者;我强烈建议您使用它,并将其设置为新VB项目的默认值

Function sigmoid(x As Double) As Double
    Return 1 / (1 + Math.Exp(-x))
End Function

请参见和。

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

有一个内置的e^x函数

可能没有必要使用单字符而不是双字符

您需要声明函数的返回类型-对于您使用它的目的来说,双精度可能比十进制更好。使用
选项严格遵守
会让您了解前者;我强烈建议您使用它,并将其设置为新VB项目的默认值

Function sigmoid(x As Double) As Double
    Return 1 / (1 + Math.Exp(-x))
End Function
请看和