Artificial intelligence 确定神经网络感知机的偏差?
这是我开始理解神经网络时的一件事,我不太明白最初设置“偏差”是什么? 据我所知,Perceptron根据以下内容计算其输出: p*W+b>0 然后你可以根据b=b+[G-O]计算一个学习模式,其中G是正确的输出,O是实际输出(1或0)来计算一个新的偏差……但是初始偏差呢……我真的不明白这是如何计算的,或者除了“猜测”之外应该使用什么初始值,这有什么公式吗 对不起,如果我弄错了什么,在我实现自己的(糟糕的)想法之前,我还在学习整个神经网络的想法 学习率也是如此……我指的是大多数书籍,比如说μ的“选一本”。简单的回答是,这取决于 1) 在大多数情况下(我相信),你可以像对待任何其他权重一样对待偏差(因此它可能会被初始化为一些小的随机值),并且它会随着你训练你的网络而更新。其思想是,所有的偏差和权重最终都会收敛到一些有用的值集上 2) 但是,您也可以手动设置权重(无需训练)以获得一些特殊行为:例如,您可以使用偏差使感知器的行为类似于逻辑门(假设二进制输入X1和X2为0或1,并且激活函数被缩放以提供0或1的输出) 或门:W1=1,W2=1,偏置=0 与门:W1=1,W2=1,偏置=-1 您可以通过将AND和OR用作多层网络中的第一层来解决经典问题,并将它们输入第三个感知器,其中W1=3(从OR门),W2=-2(从AND门)和Bias=-2,如下所示: (注意:如果激活函数缩放为-1/+1,即SGN函数,则这些值将不同)Artificial intelligence 确定神经网络感知机的偏差?,artificial-intelligence,neural-network,Artificial Intelligence,Neural Network,这是我开始理解神经网络时的一件事,我不太明白最初设置“偏差”是什么? 据我所知,Perceptron根据以下内容计算其输出: p*W+b>0 然后你可以根据b=b+[G-O]计算一个学习模式,其中G是正确的输出,O是实际输出(1或0)来计算一个新的偏差……但是初始偏差呢……我真的不明白这是如何计算的,或者除了“猜测”之外应该使用什么初始值,这有什么公式吗 对不起,如果我弄错了什么,在我实现自己的(糟糕的)想法之前,我还在学习整个神经网络的想法 学习率也是如此……我指的是大多数书籍,比如说μ的“选
3) 至于如何设置学习率,这也取决于(!),但我认为通常建议使用0.01之类的值。基本上,您希望系统尽快学习,但不要太快以至于权重无法正确收敛。因为@Richard已经回答了问题的大部分,我将仅详细说明学习率。根据我所读到的(它正在工作)有一个非常简单的公式,你可以使用它来更新每个迭代k的学习率,它是: 学习率k=常数/k 这里显然排除了第0次迭代,因为您将被零除。常数可以是你想要的任何值(当然除了0,因为它没有任何意义:D),但是最简单的自然是1,所以你得到了 学习率k=1/k 结果序列遵循两条基本规则:
- 从k=1到t(学习率=inf)的lim(t->inf)和
- 从k=1到t(学习率k^2)
inf)和