gpt4 book ai didi

javascript - 神经网络连续 tanh-Sigmoid 激活函数和随机权重

转载 作者:行者123 更新时间:2023-11-29 10:52:04 25 4
gpt4 key购买 nike

我真的需要帮助在非常基本的神经网络中实现连续的 tanh-sigmoid 激活函数。如果你能给出一个基本的例子那就太好了,但如果你能在我的 source code 中改变它我将不胜感激!另外,随机权重应该从什么范围开始(即什么范围)?

最佳答案

权重范围取决于您拥有的输入数据范围。在一些实现中,权重也可以是负数。

对于可能的 Sigmoid 函数,检查这里(tanh 不是唯一的可能性):

http://en.wikipedia.org/wiki/Sigmoid_function

提示:您通常可以使用矩阵乘法来计算 NN。

http://www.dtreg.com/mlfn.htm

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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com