7.6 近实时分解机

Google在2013年提出了FTRL(Follow-The-Regularized-Leader)算法,用于广告点击率预估,该方法可以高效地在线训练LR模型,在Google及国内公司得到了大规模的采用,广泛用于广告点击率预估和推荐排序中。想了解的读者可以阅读本章参考文献[25],TensorFlow上有FTRL算法的具体实现。

基于FTRL的思路,可以对FM离线训练算法进行改造,让FM具备在线学习的能力,本章参考文献[3][21][26]中有关于利用FTRL技术对FM进行在线训练的介绍,这几篇文章涉及很多数学理论的证明和推导,感兴趣的读者可以自行学习,这里不再赘述。

上述论文读不懂也没关系,读者也不必重复造轮子,很多机器学习平台上是有FM算法的FTRL实现的。在腾讯开源的Angel平台上可以直接利用Spark On Angel(构建在Spark平台上,利用Angel参数服务器的技术,让Spark具备提供参数服务能力)中的FTRL-FM算法,训练上百亿维特征的在线FM模型。