Artificial intelligence 确定神经网络感知机的偏差?

Artificial intelligence 确定神经网络感知机的偏差?,artificial-intelligence,neural-network,Artificial Intelligence,Neural Network,这是我开始理解神经网络时的一件事,我不太明白最初设置“偏差”是什么? 据我所知,Perceptron根据以下内容计算其输出: p*W+b>0 然后你可以根据b=b+[G-O]计算一个学习模式,其中G是正确的输出,O是实际输出(1或0)来计算一个新的偏差……但是初始偏差呢……我真的不明白这是如何计算的,或者除了“猜测”之外应该使用什么初始值,这有什么公式吗 对不起,如果我弄错了什么,在我实现自己的(糟糕的)想法之前,我还在学习整个神经网络的想法 学习率也是如此……我指的是大多数书籍,比如说μ的“选

这是我开始理解神经网络时的一件事,我不太明白最初设置“偏差”是什么? 据我所知,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函数,则这些值将不同)



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)和
请注意,感知器的收敛与学习速率序列直接相关。它从大开始(对于k=1,你得到1/1=1),随着感知机的每一次更新,它变得越来越小,因为——就像在现实生活中一样——当你一开始遇到新事物时,你学到了很多,但后来你学到的越来越少