Regularized Dual Averaging Algorithm 算法介绍
(一)RDA(Regularized Dual Averaging Algorithm)算法原理
RDA(Regularized Dual Averaging Algorithm)叫做正则对偶平均算法,特征权重的更新策略是:
其中 指的是向量
和
的内积,
是正则项,
是一个严格凸函数,
是一个非负递增序列。
从公式中可以看出:
包括了之前所有梯度的平均值。
- 具有正则项
。
- 额外项
。
(二)RDA 的 L1 正则化
假设 ;
,i.e.
是一个严格凸函数;
是一个非负递增序列。那么 RDA 算法就可以写成:
此时可以采取同样的策略,把各个维度拆分成 N 个独立的问题来处理。也就是:
其中,
通过数学推导可以证明:
if
otherwise
意思就是:当某个维度的累加平均值 小于
时,该维度的权重被设置成零,此时就可以产生特征权重的稀疏性。
RDA 的算法
(1)输入,初始化
(2)for
![]()
更新
:
end return W
(三)L1-RDA 与 L1-FOBOS 的对比
从截断方式来看,在 RDA 的算法中,只要梯度的累加平均值小于参数 ,就直接进行截断,说明 RDA 更容易产生稀疏性;同时,RDA 中截断的条件是考虑梯度的累加平均值,可以避免因为某些维度训练不足而导致截断的问题,这一点与 TG,FOBOS 不一样。通过调节参数
可以在精度和稀疏性上进行权衡。
(四)L1-RDA 与 L1-FOBOS 形式上的统一
在 L1-FOBOS 中,假设 ,可以得到:
通过计算可以把 L1-FOBOS 写成:
同时 L1-RDA 可以写成:
其中 。如果令
上面的公式可以写成:
L1-FOBOS:
L1-RDA :
可以看出:
- L1-FOBOS 考虑了梯度和当前模的 L1 正则项,L1-RDA 考虑的是累积梯度。
- L1-FOBOS 的第三项限制 W 不能够距离已经迭代过的
值太远,L1-RDA 的第三项限制的是 W 不能够距离 0 太远。