Vowpal Wabbit 更新的不变性 - 解释

数据挖掘 机器学习 梯度下降
2022-02-13 11:04:55

Vowpal Wabbit 用于更新 sgd pdf的过程中讨论的优点之一是所谓的权重不变性,在链接中描述为:

“在这些更新中,我们主要关注一组满足额外不变性属性的新更新:对于 h 的所有重要性权重,更新等效于重要性权重为 h/2 的两次更新。我们称这些更新为重要性不变性。”

这是什么意思,为什么有用?

1个回答

通常不同的数据样本具有不同的权重(例如,一组数据的误分类错误成本高于其他类)。大多数错误度量的形式为iei其中 e_i 是数据点的损失(例如平方误差)i. 因此形式的权重iwiei相当于复制数据 w_i 次(例如,对于 w_i 整数)。

一种简单的情况是,如果您有重复的数据 - 而不是保留所有重复的数据点,您只需按实例数“加权”您的一个重复样本。

现在,虽然这在批处理设置中很容易做到,但在 vowpal wabbits 在线大数据设置中却很难做到:鉴于您有一个大型数据集,您不只是想代表数据 n 次来处理权重(因为它会增加您的计算负载)。类似地,只是将梯度向量乘以权重——这在批量梯度下降中是正确的——会给随机/在线梯度下降带来很大的问题:基本上你朝一个方向射击(想想大整数权重)然后你在其他 - 导致严重的不稳定。SGD 本质上依赖于所有错误的顺序大致相同(以便可以适当地设置学习率)。

这个想法是连续呈现它可以减少问题,因为误差梯度(对于那个单一的例子xi) 减少每个连续的演示和更新(随着您越来越接近该特定示例的最小值)。换言之,连续更新提供了一种反馈控制。

对我来说,听起来你仍然会有不稳定性(你在 x_i 上达到零错误,然后你在 x_i+1 上达到零错误,...)。需要调整学习率以考虑权重的大小。