如何知道sigmoid函数中的字母e等于什么?
1/(1+e^activationFunction)
在JavaScript中,是否只是
return 1/(1+Math.E^(x)); 还是E不是欧拉数?
console.log(1/(1+Math.exp(0))); // .5console.log(1/(1+2.718281828459045^(0))); // 0.3333333333333333
Math.exp 确实有效,但当我使用 Math.exp(1) 时,我得到的是 2.718281828459045。当我将这个值代入并进行幂运算时,它会出错?
解决方案 by @blgt
console.log(1/(1+Math.pow(2.718281828459045, 1))); // 0.2689414213699951 它有效!
回答:
e 是欧拉数。在JavaScript中,使用 Math.exp(x) 来获取它:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/exp
要在JavaScript中获取 1/(1+e^x),使用
var y = 1 / (1 + Math.exp(x)); // y = 1/(1+e^x)
^ 符号是异或运算符,不要与数学上的指数运算符混淆。要获取基数 b 的指数 n,使用
Math.pow(b,n);
如果你坚持在使用之前“提取”e 的值,使用以下方法:
var e = Math.exp(1);var y = Math.pow(e,x); // = e^x