我对感知器的权重更新规则感到困惑:
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)。
为什么这个更新规则会将边界朝正确的方向移动?
回答:
感知器的输出是实例与权重之间点积的硬限制。让我们看看更新后这会如何变化。因为
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) 而言,边界朝正确的方向移动了。