【问题标题】:Intuition for perceptron weight update rule感知器权重更新规则的直觉
【发布时间】:2016-04-01 09:02:06
【问题描述】:

我无法理解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)。

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

【问题讨论】:

    标签: algorithm machine-learning perceptron


    【解决方案1】:

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

    • 梯度下降算法的基本前提是找到分类的误差,使你的参数最小化。

    PS: 我非常努力地想知道为什么有人将 x 和 y 相乘以得出 w 的更新。因为 w 是单个维度的斜率 (y = wx+c) 并且斜率 w = (y/x) 而不是 y * x。

    【讨论】:

      【解决方案2】:

      感知器的输出是实例和权重之间的点积的硬限制。让我们看看更新后这将如何变化。自从

      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) 而言,边界向正确的方向移动。

      【讨论】:

      • 你能把最后一句话扩大一点吗?当 x(t) 被分类而 x(t) 被错误分类时会发生什么?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-08
      • 2013-01-03
      • 2016-01-23
      • 2016-03-02
      • 1970-01-01
      • 2021-04-12
      相关资源
      最近更新 更多