Online LR—— FTRL 算法理解
Online Learning定义
Online Learning是一种模型训练的方法,能够根据线上反馈数据,实时快速的进行模型调整,使得模型及时反映线上的变化,提高线上预测的准确率。Online Learning的流程包括:将模型预测结果展现给用户,然后收集用户的反馈数据,再来训练模型,形成闭环的系统。
与传统训练方法的区别
传统的训练方法在模型训练上线后,一般是静态的,不会于线上的状况有任何的互动,加入预测错误,只能在下一次更新的时候完成修正,但是这个更新的时间一般比较长。Online Learning训练方法不同,会根据线上的预测结果动态调整模型,加入模型预测错误,会及时做出修正,因此Online Learning能够更加及时地反应线上变化。对于Online learning最重要的问题是SGD很难得到需要的正则化设计的解,特别是几乎得不到稀疏解(因为是浮点运算,训练出的w向量很难出现绝对的0。 当然可以采用当w较小时就强制为0)。
此处插入下关于稀疏性的常见解决方法[关于稀疏性可参考](http://blog.sina.com.cn/s/blog_eb3aea990101e8rj.html)
1. 加入L1范数
2. 在L1范数的基础上做截断:设定一个阈值做截断来保证稀疏,在online训练K个数据阶段一次。
3. Black-box wrapper: 利用黑盒方法去掉一些特征,重新训练看去掉的特征是否有效。