感知器权重向量更新

数据挖掘 感知器
2021-09-15 15:07:32

我读到了Rosenblatt Perceptron Learning Algorithm通常有一个明确的注释

需要注意的是,权重向量中的所有权重都是同时更新的

但是为什么所有的权重都会同时更新呢?我尝试了另一种方法,即迭代所有权重并在不同的迭代中更新它们。它还适用于一些简单的测试用例。

有人可以向我解释一下,为什么它们会同时更新,为什么这种方法会更好?

1个回答

该算法通过在权重向量中添加或减去特征向量来工作。如果您只添加/减去部分特征向量,则 a 不能保证总是将权重推向正确的方向,这可能会干扰过程的收敛。

这个想法是,在权重空间中,每个输入向量都是一个超平面。您需要找到一个权重向量,它位于数据输入的所有超平面的正确一侧。因此,正确的重量位于凸锥中。如果您观察到错误分类,则意味着您的权重向量位于超平面的错误一侧,因此位于可能解决方案的凸锥之外。

两个示例输入(蓝线)的示例,其中垂直向量指示输出在哪一侧是正确的

现在,通过将输入向量添加/减去权重向量,您可以确保该数据输入向量现在已正确分类。您还要确保将权重向量的距离减少到所有可能解决方案的锥体的足够余量(至少是输入向量的长度)。

权重更新示例

如果您在每次迭代时只添加部分向量(即不更新所有权重),则无法确定您取得了足够的进展,甚至无法确定解决方案空间的正确方向。