Answers:
开源项目vowpal wabbit包括在线SGD的实现,该功能通过动态(在线)计算影响重量更新的3个其他因素而得到增强。这些因素可以通过各自的命令行选项启用/禁用(默认情况下,所有三个--sgd
选项均处于打开状态,该选项将其全部关闭,即:退回“经典” SGD)。
3个SGD增强选项是:
--normalized
根据每个功能的规模调整更新--adaptive
使用自适应渐变(AdaGrad)(杜契,哈桑,歌手)--invariant
重要性更新(Karampatziakis,兰福德)他们共同确保在线学习过程针对以下方面进行三项自动补偿/调整:
结果是,无需预先规范化或缩放不同的功能即可使学习者减少偏见并提高其效率。
此外,vowpal wabbit还通过带有正则化选项的截断梯度下降实现在线正则化:
--l1
(L1-范数)--l2
(L2-范数)我在多个数据集上进行这些增强的经验是,当将它们中的每一个引入到代码中时,它们可以显着提高模型的准确性和更平滑的收敛。
以下是一些与这些增强功能相关的详细学术论文:
--power_t
,--initial_t
它们是全局(不是每个功能)独立的选项。 --sgd
仅还原为“经典” SGD。IOW:--sgd
仅取消--invariant
,--normalized
和--adaptive
(这意味着每个功能的学习率是分开的)
本文介绍了一种在线正则化技术,将其应用于各种算法,包括逻辑回归:http : //ai.stanford.edu/~chuongdo/papers/proximal.pdf
是的,您当然需要正则化...它还有助于梯度下降(并将学习率初始化为1 / C)
参见例如SGD-QN论文http://leon.bottou.org/papers bottou的论文
您还没有真正解释在线学习的含义:例如,您获得每一点的目标价值吗?我不知道如何合并...搜索C ...我想您将拥有多个具有不同正则化术语的分类器并跟踪预测误差(在更新权重之前)