【问题标题】:Syntax of a SIgmoid Function - JavascriptSIgmoid 函数的语法 - Javascript
【发布时间】:2020-05-27 16:46:00
【问题描述】:

我一直试图让这个功能工作无济于事。任何人都可以提供一些启示吗?

这是一个带有一些应用边界/变换的 Sigmoid。 Here's the link to the function in desmos。这是完美的工作。它看起来像这样:

这就是公式:

但是当我尝试将其“翻译”成我的 Javascript 代码时,我无法让它按预期执行。这是我尝试过的:

y = m*((0.5/(1/(1+(Math.pow(Math.E,((-1)*d))))-0.5))*((1/((1+(Math.pow(Math.E, (((-1)*d)*(1/h)*x-1))))))-0.5))+0.5;

函数没有像预期的那样被限制,它应该像 Desmos 示例中那样通过 0,0...但事实并非如此!我知道那里可能有太多的括号,对于对此有更好理解的人来说,解决方案将是显而易见的,所以,你能帮我吗?

谢谢!!

【问题讨论】:

    标签: javascript function graph syntax sigmoid


    【解决方案1】:

    你不小心把最后一个+0.5放在了括号外面。

    注意:您不需要使用(-1)*d,因为它等于-d

    这是我的改进版:

    y = m*((0.5/(1/(1+(Math.pow(Math.E, -d)))-0.5))*((1/((1+(Math.pow(Math.E, -d*((1/h)*x-1))))))-0.5)+0.5);
    

    我用desmos上指定的变量试了一下:

    m = 2;
    d = 1;
    h = 0.5;
    
    // you wanted to check for this point
    x = 0;
    
    /* [The code above] */
    

    我测试了0, 1 and 42 的值,并且每次都有效 (不是科学的,而是实际的证明^^)

    【讨论】:

      猜你喜欢
      • 2017-10-08
      • 2019-07-01
      • 2013-07-14
      • 1970-01-01
      • 2020-06-29
      • 2017-11-12
      • 2016-12-05
      • 2021-04-25
      • 2023-02-08
      相关资源
      最近更新 更多