- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我真的需要帮助在非常基本的神经网络中实现连续的 tanh-sigmoid 激活函数。如果你能给出一个基本的例子那就太好了,但如果你能在我的 source code 中改变它我将不胜感激!另外,随机权重应该从什么范围开始(即什么范围)?
最佳答案
权重范围取决于您拥有的输入数据范围。在一些实现中,权重也可以是负数。
对于可能的 Sigmoid 函数,检查这里(tanh 不是唯一的可能性):
http://en.wikipedia.org/wiki/Sigmoid_function
提示:您通常可以使用矩阵乘法来计算 NN。
http://en.wikipedia.org/wiki/Neural_network
P.S.:在 JavaScript 中执行此操作可能不是一个好主意。
您可以通过 exp(x) 实现它,参见:http://www.javascripter.net/faq/mathfunc.htm
sinh(x) exp(x) - exp(-x) exp(2x) - 1
tanh(x) = ------- = ------------------ = -------------
cosh(x) exp(x) + exp(-x) exp(2x) + 1
这给你:
function tanh(x) {
e = Math.exp(2*x);
return (e - 1) / (e + 1) ;
};
另一种解决方案是将包含 tanh 函数值的表存储在数组中,并定义一个 JavaScript 函数,该函数根据存储在数组中的 tanh 值对 x 的 tanh 值进行插值
通常人们不希望 [-inf...+inf] 作为输入值的范围,也不希望 [-1...+1] 作为输出值的范围——因此你可能需要不同的 sigmoid 函数!
您需要获取输入值的预期范围和输出值的预期范围,并使用它们来移动实际的 sigmoid 函数、权重范围和阈值。
通常使用 0.7 或更大的阈值。您需要对此进行试验。
关于javascript - 神经网络连续 tanh-Sigmoid 激活函数和随机权重,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8290543/
我是一名优秀的程序员,十分优秀!