模型仓库

机器学习模型设计五要素 https://zhuanlan.zhihu.com/p/27783413

从ctr预估问题看看f(x)设计—LR篇 https://zhuanlan.zhihu.com/p/27795652

从ctr预估问题看看f(x)设计—DNN篇 https://zhuanlan.zhihu.com/p/28202287

基于深度学习的ctr预估模型集合 https://daiwk.github.io/posts/dl-dl-ctr-models.html

点击率预估模型,如果包括各个模型的变种,可能不下数十种,主流模型大概分几个流派:

  • 复杂特征+简单模型:以大规模离散LR为代表,学到的知识全部存储到模型
  • 简单特征+复杂模型:以GBDT,DNN为代表,学到的知识存储在特征和模型两个地方

不管哪一种都是就相对静态的,都是截取过去某一个时间片的规律来预测未来。潜在假设是过去时规律在未来同样有效,这种假设在现实面前还是too young too simple,sometimes naive。用户的行为影响推荐系统,推荐系统又反过来影响用户的行为,循环往复;除了这种模型自身的扰动,还有运营手段以及外部大环境的干扰,很多因素都在改变数据中的规律,模型刚上线效果非常好,运行一段时间之后慢慢变得不起作用。目前看到两条路尝试解决这个问题:

  • 一条路是“与时俱进”,更快的模型更新直到在线学习
  • 另一条路是引入博弈论,强化学习对用户-系统交互行为进行建模

综上,ctr预估的f(x)可以分四个分支。

  • 大规模离散LR
  • Trees,
  • DNN&Embedding
  • Reinforcement-Learing

沿着大规模离散LR分支的两条演进路线,来看看LR/FM/FFM/CGL/MLR/LASER之间的关系:

preview

  • FM/FFM
  • CGL
  • LASER
  • MLR

DNN&Embedding这条分支的演进路线,把DNN引入ctr预估无非看重两点:

#1 改进模型结构,提高“信息利用率”,发现高阶非线性特征,挖掘以前挖不到潜在模式,比如DIN引入attention机制;一般来说Embedding+MLP是标配。
#2 扩充“信息量”,把图片/文本这类不好处理的数据利用起来,比如DeepCTR;

preview

进一步细分为三条演进路线:

#1串行路线 - embedding如何与deep part融合?

- concatenate:            wide&deep/DEF/DCM/DeepFM/etc
- inner/outer product:    PNN
- weighted sum:           DIN/AFM
- Bi-interaction:         NFM/AFM

#2并行路线 - shallow part + deep part,结合Memorization 和Generalization的优势,另外通过shallow part把反馈信号传回embedding层,收敛得更快。

- wide&deep:lr + mlp
- DeepFM:fm + mlp
- deep&cross:polynomial cross network + mlp

#3多模学习 - 数字/文本/图片/语音/视频等多形态数据利用起来

-DeepCTR:数字+图片

参考文献

Learning to Rank

results matching ""

    No results matching ""