感知器重量更新规则的直觉

时间:2015-12-27 05:20:31

标签: algorithm machine-learning perceptron

我无法理解perceptrons的重量更新规则:

w(t + 1)= w(t)+ y(t)x(t)

假设我们有一个可线性分离的数据集。

  • w 是一组权重[w0,w1,w2,...],其中w0是偏差。
  • x 是一组输入参数[x0,x1,x2,...],其中x0固定为1以适应偏差。

在迭代 t ,其中 t = 0,1,2,...,

  • w(t)是迭代 t 的权重集。
  • x(t)是一个错误分类的培训示例。
  • y(t) x(t)的目标输出(-1或1)。

为什么此更新规则会以正确的方向移动边界?

2 个答案:

答案 0 :(得分:11)

感知器的输出是实例和重量之间点积的硬限制。让我们看看更新后这种情况如何变化。由于

w(t + 1)= w(t)+ y(t)x(t)

然后

x(t)·w(t + 1)= x(t)·w(t)+ x(t)·(y(t)x(t))= x(t)·w (t)+ y(t)[x(t)⋅x(t))]

请注意:

  • 根据算法的规范,只有在 x(t)被错误分类时才会应用更新。
  • 根据点积的定义, x(t)·x(t)≥0

这如何相对于 x(t)移动边界?

  • 如果 x(t)被正确分类,则该算法不会应用更新规则,因此不会发生任何变化。
  • 如果 x(t)被错误地归类为否定,那么 y(t)= 1 。由此得出新的点积增加了 x(t)·x(t)(这是正的)。因此,边界向右方向移动,直到 x(t)为止。
  • 相反,如果 x(t)被错误地归类为正数,那么 y(t)= -1 。由此得出新的点积减少了 x(t)·x(t)(这是正的)。因此,边界向右方向移动,直到 x(t)为止。

答案 1 :(得分:1)

herehere记录了感知器更新规则的更好推导。该推导使用梯度下降。

  • 梯度下降算法的基本前提是找到分类误差并进行参数设置,以使误差最小化。

PS: 我一直在努力地直觉为什么有人会乘以x和y来得出w的更新。因为w是一个维度的斜率(y = wx + c),而斜率w =(y / x)而不是y * x。