Online Learning是工业界比较常用的机器学习算法,在很多场景下都能有很好的效果。本文主要介绍Online Learning的基本原理和两种常用的Online Learning算法:FTRL(Follow The Regularized Leader)[1]和BPR(Bayesian Probit Regression)[2],以及Online Learning在美团移动端推荐重排序的应用。
什么是Online Learning
准确地说,Online Learning并不是一种模型,而是一种模型的训练方法,Online Learning能够根据线上反馈数据,实时快速地进行模型调整,使得模型及时反映线上的变化,提高线上预测的准确率。Online Learning的流程包括:将模型的预测结果展现给用户,然后收集用户的反馈数据,再用来训练模型,形成闭环的系统。如下图所示:
Online Learning有点像自动控制系统,但又不尽相同,二者的区别是:Online Learning的优化目标是整体的损失函数最小化,而自动控制系统要求最终结果与期望值的偏差最小。
传统的训练方法,模型上线后,更新的周期会比较长(一般是一天,效率高的时候为一小时),这种模型上线后,一般是静态的(一段时间内不会改变),不会与线上的状况有任何互动,假设预测错了,只能在下一次更新的时候完成更正。Online Learning训练方法不同,会根据线上预测的结果动态调整模型。如果模型预测错误,会及时做出修正。因此,Online Learning能够更加及时地反映线上变化。
Online Learning的优化目标
如上图所示,Online Learning训练过程也需要优化一个目标函数(红框标注的),但是和其他的训练方法不同,Online Learning要求快速求出目标函数的最优解,最好是能有解析解。
一些资料:
1.On-line Boosting and Vision. 06 CVPR
2.Online random forest. 09 ICCV
3.Online gradient descent: logarithmic regret algorithms for Online Convex Optimization
4.Dual averaging : Dual Averaging Methods for Regularized Stochastic Learning and
online Optimization
5. FTRL: A Unified View of Regularized Dual Averaging
6. Adaptive Subgradient Methods for Online Learning and Stochastic Optimization
7. Online Learning and Online Convex Optimization
8. http://blog.csdn.net/mmc2015/article/details/51247677
9. https://www.cnblogs.com/jerrylead/archive/2011/04/18/2020173.html
10. https://tech.meituan.com/online-learning.html
11. Online Deep Learning: Learning Deep Neural Networks on the Fly
12. NeST: A Neural Network Synthesis Tool Based on a Grow-and-Prune Paradigm
网友评论