Neural network 神经网络节点是否有标准的输入、权重和输出值?

Neural network 神经网络节点是否有标准的输入、权重和输出值?,neural-network,Neural Network,所以我开始学习神经网络,但我发现很难理解基本原理。感谢任何人能提供的帮助 1) 有没有应该输入到神经元的标准值?例如,如果一个神经元有5个传入连接,每个连接是否应提供一个介于0和1之间的连续值?b) 是0还是1?c) 还有别的吗 2) 如果使用tanh的激活函数,这意味着如果点积输入达到约3,神经元将开始输出1(tanh(3)=.995)。如果我有一个由20个隐藏节点组成的层,这意味着如果我们要避免激活函数的最大化,权重将需要很小,大约在.05标记附近?那么为什么我们要将起始重量设置在-1和1之

所以我开始学习神经网络,但我发现很难理解基本原理。感谢任何人能提供的帮助

1) 有没有应该输入到神经元的标准值?例如,如果一个神经元有5个传入连接,每个连接是否应提供一个介于0和1之间的连续值?b) 是0还是1?c) 还有别的吗

2) 如果使用tanh的激活函数,这意味着如果点积输入达到约3,神经元将开始输出1(tanh(3)=.995)。如果我有一个由20个隐藏节点组成的层,这意味着如果我们要避免激活函数的最大化,权重将需要很小,大约在.05标记附近?那么为什么我们要将起始重量设置在-1和1之间呢?最好从小处开始

3) 神经元的输出应该是什么?a) 介于0和1之间的值?b) 是0还是1?c) 还有别的吗?有些人工神经网络的神经元输出介于-1和1之间(我想我已经看到了?)

4) 似乎输入层和输出层的规则都改变了?对于输入层,我想您必须将输入数据编码为合适的格式。这是否总是意味着编码为0到1之间的值?同样,对于输出层,您可能必须将输出值转换为有用的内容?所以,如果你的ANN输出一个介于0和1之间的连续值,你想要一个是或否,那么你可以制定一个规则,0.5就是是。这就是它的工作原理吗

5) 将标量输入值编码为二进制是否有缺点?看起来有点奇怪,一个大数字的最后一位可能是1,而这个数字+1的最后一位是0?是否有一种更连续的编码方式更有效

对不起,有很多问题。。谢谢你的回答。 谢谢

  • 标准化值有助于训练,因此请确保您的输入在较短的范围内。范围应该是什么取决于任务:有时,变量自然是布尔型的,但当它们是实值时,最好将其缩放并将其居中于零。否则,网络将花费时间学习数据的均值和方差,这是浪费时间的,因为有非常快速、非常简单的算法

  • 如果你开始时体重较大,训练行为是不可预测的。我从未听人说过初始权重应该在[-1,1];常用的方法是使用平均值为0、方差为1的小随机高斯(从Matlab或NumPy中的
    randn
    中获得)

  • 取决于激活功能。对于隐层神经元,tanh是一种常见的激活函数,其范围为[-1,1]。对于输出层,适当的激活功能取决于任务。对于回归,您需要线性(无界)激活,而对于概率估计和分类,您需要范围为(0,1)的逻辑或softmax激活

  • 这是问题1和3的重复

  • 我真不明白你为什么要这么做。浮点数有什么问题吗


  • 非常感谢你的回答!这为我消除了许多困惑。。非常感谢..我忍不住觉得这是一个提出这个问题的错误论坛-它相当专业,我怀疑你会在这里得到详细的答案。