文章参考自:在线最优化求解-冯杨
目的
从已有数据中提炼出最适合的模型参数,从而对位置的数据进行预测。当数据是高维高数据量的时候,常见的批处理方式已经显的力不从心。
个人理解:因为当数据批输入的时候,高数据量使得计算速度很慢,特征的高维度使得调参不具有针对性和重复性。
高维高数据量训练比较注重稀疏性。
部分w为零,有特征选择和降低复杂度的作用。
预备知识
- 凸函数的定义、严格凸函数的定义
- 一个函数是凸函数是它存在最优解的充分必要条件。
- 非凸函数存在局部最优解。
- 三类最优化问题
- 无约束优化:求导等于零求最优值。如果是凸函数,那么可以保证求得的是全局最优解。
- 等式约束优化:利用拉格朗日乘数法。把等式约束和目标函数组合成一个式子。然后对自变量和拉格朗日乘数进行求偏导优化。
- 不等式(<=)约束优化:利用KKT条件。把所有的等式不等式约束目标函数全部写为一个式子,且最优值必须满足kkt条件。kkt条件是求解最优值的必要条件,如果是凸函数,则为充分必要条件。
在线最优化算法
TG(Truncated Gradient)截断梯度
简单截断法:当w的某维度高于阈值则进行置零
W(t+1)=T0(Wt−η(t)G(t),θ)
T0(vi,θ)={0,|vi|,if |vi|<θ otherwise
TG:在简单截断的基础上进行了改进
W(t+1)=T0(Wt−η(t)G(t),η(t)λ(t),θ)
T0(vi,α,θ)=⎧⎩⎨max(0,vi−α),min(0,vi+α),vi,if |vi|∈[0,θ] if |vi|∈[−θ,0]otherwise
FOBOS前向后向切分
前一个步骤是一个标准的梯度下降,后一个步骤可以理解为对梯度下降结果进行微调。对W的微调也分为两部分:前一部分保证微调发生在梯度下降结果的附近后一部分则用于处理正则化产生稀疏性。
=========上述三种都随机建立在随机梯度下降的基础上,优点是精度较高,并且在稀疏性上也得到提升。
RDA正则对偶平均
L1-RDA的截断阈值是常数 λ ,并不随t而变化,因此可以认为是L1-RDA比L1-FOBOS更武断,这种性质使得它更容易产生稀疏性。此外,RDA中判定对象是梯度的累加平均值,不同于之前的针对单次梯度的计算结果进行判定,避免了某些维度由于训练不足导致的截断问题。通过调节 λ 很容易在精度和稀疏性上进行权衡。
=========L1-FOBOS这一类局域梯度下降的方法有较高的精度,但是L1-RDA却能在损失一定精度的情况下产生更好的稀疏性。
FTRL(Follow the Regularized Leader)
- 结合了上述两者的优点。