推荐系统rank模块-Online Learning
“?本文介紹了Online Learning中的基本概念,方法分類,經典算法以及在工業界的應用和學術界的最新進展,幫助大家快速的了解在線學習的相關知識~”
文章來源:https://zhuanlan.zhihu.com/p/65001235
本文僅供學術交流,如有侵權,請留言聯系小編進行刪除。
Online Learning 基本概念
Online Learning ?法分類:
在線學習實際上就是沒來?個/批樣本增量更新?次,主要有兩類:
? 基于貝葉斯公式,這種更新?式?常?然。有名的應?包括微軟的MatchBox,以及其在?告點擊率上的應?,具體的paper名字?概是web-scale ctr prediction
? 基于sgd的?法,基于梯度優化的算法?都可以應? 。這?類?法有很多變種,?多數是加速sgd的收斂速度,以及減少調參對收斂的影響,神經?絡的訓練基本都是此類?法。另外google有?篇?章Ad Predictor,算是把ctr預估的?向指向實時更新了
? Bandit類:其他還有?些online的?法,不過往往需要各種trick,?如近鄰法,因為這類?法是?參數模型
Online Learning——Gradient Descent類:
Online gradient descent: Logarithmic Regret Algorithms for OnlineConvex Optimization
Dual averaging: Dual Averaging Methods for Regularized StochasticLearning and Online Optimization
? Online Learning 經典算法 (SGD、FTRL等)
FTRL: A Unified View of Regularized Dual Averaging
第?一項:梯度或累積梯度;第?二項:L1正則化項;第三項:限定x不不要離已迭代過的解太遠(proximal) 或者離0太遠(central),也是low regret的需求
FTRL (Follow- the-regularized-Leader)
Adagrad: Adaptive Subgradient Methods for Online Learning and Stochastic Optimization
Online Learning BAT核?系統架構
BAT為什么需要 Online Learning:
離線批量量學習? 早先的搜索學習能?力力,是基于批處理理的離線機器?學習。在每次迭計算過程中,需要把全部的訓練數據加載到內存中計算。雖然有分布式?大規模的機器?學習平臺,在某種程度上批處理理?方法對訓練樣本的數量量還是有限制的。在線學習不不需要緩存所有數據,以流式的處理理?方式可以處理理任意數量量的樣本,做到數據的實時消費。
特征實時? 2014年年雙11,實時技術在?大促場景上,實現了了商品和?用戶的特征實時,表現不不俗?為什什么需要模型在線學習呢?以及為什什么實現秒級的模型更更新?? 數據分布變化:在批量量學習中,?一般會假設樣本獨?立服從?一個未知的分布,但如果分布變化,模型效果會明顯降低。?而在實際業務中,很多情況下,?一個模型?生效后,樣本的分布發?生?大幅變化,因此學到的模型并不不能很好地匹配線上數據。實時模型,能通過不不斷地擬合最近的線上數據,解決這?一問題,因此效果會較離線模型有較?大提升。那么為什什么實現秒級分鐘級的模型更更新?在雙11這種成交爆發?力力強、變化劇烈烈的場景,秒級實時模型相?比?小時級實時模型時效性的優勢會更更加明顯。根據2015年年雙11實時成交額情況,前?面1?小時已經完成了了?大概總成交的1/3,?小時模型就?無法很好地捕獲這段時間?里里?面的變化。
? 系統升級:? 2015年年BAT中搜索技術和算法團隊繼續推動在線計算的技術升級,基本確?立了了構筑基于實時計算體系的【在線學習+決策】搜索智能化的演進路路線。
? 搜索技術團隊基于Pora開發了了基于parameter server的在線學習框架,如下圖所示,實了了在線訓練,開發了了基于pointwise的實時轉化率預估模型,以及基于pairwise的在線矩陣分解模型。并通過swift輸送模型到引擎,結合實時特征,實現了了特征和模型雙實時的預測能?。
BAT中核?搜索技術演變:
Online Learning 學術界最新算法
An Alternative View: When Does SGDEscape Local Minima? 2018
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的推荐系统rank模块-Online Learning的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Kubernetes之kubectl常用
- 下一篇: Redis开发规范