美文网首页
推荐系统(一)LR,FM,FFM,Wide&Deep,DeepF

推荐系统(一)LR,FM,FFM,Wide&Deep,DeepF

作者: 一个想当大佬的菜鸡 | 来源:发表于2019-07-20 11:00 被阅读0次

一、LR

(一)简单总结

  • 是广义线性模型,每个特征都是独立的,如果需要考虑特征与特征之间的相互作用,需要人工对特征进行交叉组合。
  • 非线性SVM可以对特征进行核变换,但是在特征高度稀疏的情况下,并不能很好的进行学习。

(二)FTRL


二、FM

Rendle S. Factorization Machines[C]// IEEE International Conference on Data Mining. 2011.

(一)简单背景介绍

  • 解决数据稀疏的情况下,特征怎样组合的问题。
  • 对于一阶参数的训练,只要这个样本中对应的变量不为0,而二阶的参数必须两个变量同时不为0才可以。在数据稀疏时,很多特征交互是模型无法训练的。
  • LR是需要特征工程的,SVM在稀疏场景下无法用。
  • 通过参数矩阵分解,打破了特征组合之间的独立性,使一个组合特征的学习可以受到其他相关组合特征的帮助。
  • 原本预测公式的复杂度:O(kn2),可以通过转换变为 O(kn)。

(二)公式推导

预测公式
O(kn2)变O(kn)
随机梯度下降,O(kn)

三、FFM

2016年发表在 recsys 上的论文

(一)简单介绍

  • FM:一个特征对应一个隐变量;FFM:将特征分为多个field,每个特征对每个field分别有一个隐变量,因为同一个特征对不同field的影响可能是不同的,隐变量也应该不同。
  • 举个例子,我们的样本有3种类型的字段:publisher, advertiser, gender。其中publisher有5种,advertiser有10种,gender有2种,one-hot编码后,每个样本有17个特征,其中只有3个非空。
    FM,17个特征,每个特征对应1个隐变量。
    FFM,17个特征,每个特征对应3个隐变量。

(二)模型介绍

  • 表达式
  • AdaGrad求解

四、Wide & Deep

2016年谷歌团队发表的一篇文章
Cheng H T , Koc L , Harmsen J , et al. Wide & Deep Learning for Recommender Systems[J]. 2016.

(一)wide 和 deep 的比较

  • wide:广泛应用于具有稀疏、大规模场景。组合特征有效且可解释性强,但需要很多特征工程,且对于未出现过的组合无法学习。
  • deep:需要较少的特征工程,泛化能力强,可以通过稀疏特征 embedding 学习到未出现过的特征组合。但容易过泛化,推荐不太相关的东西。
  • wide & deep:记忆和泛化的结合。

(二)memorization 和 generalization(EE问题)

  • memorization:exploit,学习频繁出现的特征组合,从历史数据中学习相关性。容易推荐和用户浏览历史相似的东西。
  • generalization:explore,基于相关性的传递,学习未出现过的特征组合。容易推荐不一样的,新的东西。

(三)模型结构

The spectrum of Wide & Deep models
Wide & Deep model structure for apps recommendation

(四)其他

  • 模型训练:
    wide:FTRL
    deep:AdaGrad

  • 预测公式

五、DeepFM

华为2017年的文章
Guo H, Tang R, Ye Y, et al. DeepFM: A Factorization-Machine based Neural Network for CTR Prediction[J]. 2017.

(一)优势

  • 是端对端的学习模型,wide 部分和 deep 部分共享一样的输入,不需要额外的特征工程,能够同时学习到低阶和高阶的特征交互。
  • 线性模型虽然十分有效,但是无法刻画交互特征,需要很多特征工程,缺点是无法刻画高阶特征交互,也无法学习到在训练集中出现次数很少的特征组合。FM可以学习到2阶的特征组合。

(二)特征

  • 连续特征:值本身,或者离散化后one-hot
  • 离散特征:one-hot
  • CTR预估场景中,特征的特点:
    1)稀疏
    2)连续特征和类别特征混合
    3)根据field分组
    因此加入了embedding层

(三)模型介绍

  • 预测分为两部分


    预测公式
  • FM:能更有效的学习到2阶交互特征,尤其是在稀疏场景下


    FM Component
    FM公式
  • Deep:


    Deep Component
  • embedding


    The structure of the embedding layer

    1)每个 field 的input大小不一样,但是embedding都一样大;
    2)在FM中V是一个m*k阶的矩阵,这里用V来作为input到embedding的权重,一起训练,而不是像其他work一样用FM来预训练。

(四)共享embedding

  • 从原始特征中同时学到了特征之间的低阶和高阶组合
  • 不需要像 wide & deep 一样做特征工程,端到端学习

六、ESMM

ESMM是2018年阿里妈妈团队提出的一个多任务模型。
Ma X , Zhao L , Huang G , et al. Entire Space Multi-Task Model: An Effective Approach for Estimating Post-Click Conversion Rate[J]. 2018.

(一)传统CVR预估面临的两个问题

  • SSB(sample selection bias )

    impression表示展示,click表示点击,conversion表示转化,用户的行为模式是impression->click->conversion,传统的CVR预估把click(如图灰色)作为training data,而训练出来的模型要在所有impression(如图白色)中进行预测,存在样本选择偏差。

  • DS(data sparsity)
    由于点击行为实在是太少了,利用点击数据作为样本训练CVR预估模型存在数据稀疏问题。

(二)本文怎么解决

  • Modeling over entire space(解决SSB)
    CVR:conversion / click
    CTR:click / impression
    CTCVR:conversion / impression

    通过预测CTCVR和CTR,然后相除得到CVR,由于CTCVR和CTR都是在整个impression样本空间进行估计的,因此解决了SSB问题。
  • (Feature representation transfer)解决DS
    CVR和CTR共享特征embedding表示,CTR训练数据要比CVR训练数据多很多,一定程度上解决了数据稀疏性问题。

(三)技术细节

Modeling over entire space

模型引入两个辅助任务,pCTR和pCTCVR,从而间接学习到pCVR

  • CTR:有点击行为的曝光为正样本,没有点击行为发生的曝光为负样本
    CTCVR:同时点击和购买的曝光为正样本,否则标记为负样本。
    CTR和CTCVR都是在整个样本空间的,解决了SSB问题。
  • 损失函数由两部分组成, CTR 和 CTCVR,两部分都采用交叉熵损失函数。

Feature representation transfer

  • ESMM中,CVR网络和CTR网络共享embedding字典。该共享机制使ESMM中的CVR网络能够从 un-clicked impression 中学习,缓解数据稀疏性问题。
  • 另外,ESMM模型中的子网络结构可以用其他模型替换,ESMM只是提供了一种解决问题的思路,具体应用还需要根据实际业务场景进行调整。

七、DSSM


参考资料

ESSM论文地址
精读&解析 Entire Space Multi-Task Model(ESMM) 阿里2018年CVR预测
推荐系统遇上深度学习(三)--DeepFM模型理论和实践

相关文章

  • 推荐系统(一)LR,FM,FFM,Wide&Deep,DeepF

    一、LR (一)简单总结 是广义线性模型,每个特征都是独立的,如果需要考虑特征与特征之间的相互作用,需要人工对特征...

  • 推荐系统 - FM模型

    1. 模型演进 LR -> POLY2 -> FM -> FFM 1.1 LR模型 - 融合多种特征的推荐模型 线...

  • 2019-05-20~2019-05-26 第21周复盘

    每天三件事的推进 1、模型的优化2、听书3、学习推荐算法 小确幸满足的情况 1、学习wide&deep和deepF...

  • DeepFM的一些理解和代码示例(Pytorch)

    最近因为项目的需要,我开始接触深度学习的推荐系统。网上一搜索,啪!很快啊,上来就是协同过滤、FM、FFM、Deep...

  • 推荐系统算法(传统推荐模型)

    推荐系统经历两个阶段:传统推荐模型和深度学习模型 第一阶段:传统推荐模型(协同过滤,矩阵分解,LR, FM, FF...

  • FM、FFM

    FM(Factorization Machines) FM主要目标是:解决数据稀疏的情况下,特征怎样组合的问题。 ...

  • 阅读记录-推荐系统

    推荐系统遇上深度学习(十八)--探秘阿里之深度兴趣网络(DIN)浅析及实现 常见ctr预估算法LR,FM,wide...

  • FFM的原理介绍及实现

    一.FFM原理介绍 FFM(Field-aware Factorization Machine)是对FM的改进,我...

  • FFM、UP-FM和CFM

    最近在老师的推荐下,看了几篇论文。下面来总结一下FM的“延申宝宝”——FFM、UP-FM和CFM。 这篇简书主要解...

  • FM与FFM

    FM算法旨在解决稀疏数据下的特征组合问题。 多项式模型的特征组合要求两个特征都是非零的,但是在实际工程中的稀疏数据...

网友评论

      本文标题:推荐系统(一)LR,FM,FFM,Wide&Deep,DeepF

      本文链接:https://www.haomeiwen.com/subject/ogzccctx.html