Online learning是指每次来一个样本,利用一个迭代方法更新模型,使得当前期望loss最小。
梯度下降类的方法精度不错,但是简单的在线梯度下降很难产生真正稀疏的解,而且对于不可微点的迭代会存在一些问题。
SGD:
随机梯度下降法每次用一部分数据算梯度,然后梯度下降,但是SGD精度低、收敛慢、很难得到需要的正则化设计的解,特别是几乎得不到稀疏解。
TG算法
简单截断法
简单截断法以 k k 为窗口,当 不为整数时采用标准的SGD进行迭代,当 t/k t / k 为整数时,更新权重时,把绝对值小于阈值的权重置为0。
梯度截断法
简单截断法法简单直观,但是在实际训练过程中, W W 的某个维度为0可能因为该训练不足引起的,简单的截断过于简单粗暴,会造成该特征的缺失。梯度截断法对对权重的归零和截断处理稍微温柔一些,分段处理,绝对值小于阈值时, ,如果使得 w w 变正负号,就把 置零。
FOBOS算法
FOBOS(Forward-Backward Splitting)是由John Duchi(Berkeley)和Yoram Singer(google)在2009提出的。FOBOS算法把正则化的梯度下降问题分成一个经验损失梯度下降迭代和一个最优化问题。其中第二个最优化问题有两项:第一项2范数那项表示不能离loss损失迭代结果太远,第二项是正则化项,用来限定模型复杂度、抑制过拟合和做稀疏化:
由于求和公式中的每一项都是大于等于0的,所以步骤二可以拆解成对特征权重每一纬度单独求解。可以看出,L1-FOBOS是TG在特定条件下的特殊形式,对截断有了一定的改进。
RDA算法
Lin Xiao. Dual Averaging Methods for Regularized Stochastic Learning and Online Optimization. Journal of Machine Learning Research, 2010
RDA是Simple Dual Averaging Scheme的一个扩展,由Lin Xiao发表与2010年。RDA特征权重的更新策略为: