我正在尝试使用单层感知器,我想我(大部分)都了解一切。但是,我不明白的是应该添加校正(学习率*误差)的权重。在示例中,我看到它似乎是随意的。
答案 0 :(得分:1)
好吧,看起来你一半回答了你自己的问题:你的所有非零权重都是正确的,你没有以相同的数量更正。
相反,你根据它们的传入激活来校正权重,所以如果单位X的激活非常强烈而单位Y只激活了一个小位,并且存在很大的误差,那么从单位X到输出的权重将是被纠正的远远超过单位Y的权重 - 输出。
此流程的技术术语称为增量规则,其详细信息可在其wiki article中找到。此外,如果您想要使用多层感知器升级(单层感知器非常计算能力有限,请参阅a discussion of Minsky and Papert's argument against using them here),会讨论一种称为反向传播的类似学习算法{{3 }}
答案 1 :(得分:0)
回答了我自己的问题。
根据http://intsys.mgt.qub.ac.uk/notes/perceptr.html,“将此修正添加到任何有输入的重量”。换句话说,不要将校正添加到神经元值为0的权重中。