一、LR

(一)简单总结

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

(二)FTRL


二、FM

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

(一)简单背景介绍

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

(二)公式推导

预测公式

17368230-debbb92788ebc8dc.png

O(kn2)变O(kn)

17368230-130cf81bd77010a6.png

随机梯度下降,O(kn)

17368230-58617262b94b9f7f.png


三、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个隐变量。

(二)模型介绍

  • 表达式

    17368230-4a96267a30bec576.png

  • AdaGrad求解
    17368230-d5ca192b63a28f65.png

    17368230-b804de500fdaf8ad.png

    17368230-7cbb0fd546be44a1.png


四、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,基于相关性的传递,学习未出现过的特征组合。容易推荐不一样的,新的东西。

(三)模型结构

17368230-d8003de15c6665e2.png

The spectrum of Wide & Deep models

17368230-e7ec25dbe3c1bbc8.png

Wide & Deep model structure for apps recommendation

(四)其他

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

  • 预测公式

    17368230-452ed831eb7d9011.png


五、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层

(三)模型介绍

  • 预测分为两部分

    17368230-d53f2c320c6079fa.png

    预测公式

    17368230-f8fb55e56cd7a87e.png

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

    17368230-00270440792f3ce0.png

    FM Component

    17368230-0eeb1982963bf8df.png

    FM公式

  • Deep:

    17368230-b76550aa0319780e.png

    Deep Component

  • embedding

    17368230-ed77ea8a65a51d05.png

    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 )

    17368230-e7eb4aedf99e82c1.png

    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问题。

    17368230-c166ce0fc195e155.png

  • (Feature representation transfer)解决DS
    CVR和CTR共享特征embedding表示,CTR训练数据要比CVR训练数据多很多,一定程度上解决了数据稀疏性问题。

(三)技术细节

17368230-f6278cb9292b186a.png

Modeling over entire space

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

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

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,DeepWise,DeepFM,ESMM相关推荐

  1. 推荐系统fmlr_推荐系统实践 0x0c FM系列(LR/FM/FFM)

    逻辑回归(LR) 在介绍FM系列之前,我想首先简单介绍一下逻辑回归.通常来说,逻辑回归模型能够综合利用更多的信息,如用户.物品.上下文等多种不同的特征,生成更为全面的结果.另外,逻辑回归将推荐问题看成 ...

  2. 个人总结:推荐算法 从MF(LFM) 到 FM FFM WideDeep DeepFM

    FM 在推荐系统中,经常会碰到电影评分这样高度稀疏的数据,在之前的个人总结:推荐算法篇(附协同过滤等) 综述的基于模型的协同过滤中,提到了FunkSVD(LFM,Latent Factor Model ...

  3. 《推荐系统笔记(七)》因子分解机(FM)和它的推广(FFM、DeepFM)

    b### 前言 不同于线性模型只能从利用数据的一阶特征,FM可以通过特征组合,利用数据的二阶甚至更高阶的特征,从而更好的完成回归或者分类任务. 下面,我们将分别介绍因子分解机(FM).FFM以及Dee ...

  4. FM系列算法解读(FM+FFM+DeepFM)

    综述 在计算广告中,CTR是非常重要的一环.对于特征组合来说,业界通用的做法主要有两大类:FM系列和Tree系列.这里我们来介绍一下FM系列. 在传统的线性模型中,每个特征都是独立的,如果需要考虑特征 ...

  5. CTR经典模型串讲:FM / FFM / 双线性 FFM 相关推导与理解

    CTR 系列文章: 广告点击率(CTR)预测经典模型 GBDT + LR 理解与实践(附数据 + 代码) CTR经典模型串讲:FM / FFM / 双线性 FFM 相关推导与理解 CTR深度学习模型之 ...

  6. FM,FFM及其实现

    在推荐系统和计算广告业务中,点击率CTR(click-through rate)和转化率CVR(conversion rate)是衡量流量转化的两个关键指标.准确的估计CTR.CVR对于提高流量的价值 ...

  7. DSP模型中FM FFM模型

    机器学习方法应用在DSP广告投放中,预估CTR/CVR,业界常用的方法是人工特征工程+LR,GBDT,近期FM,FFM模型在其中使用效果非常显著. 先解释一波DSP相关专业术语: DSP:Demand ...

  8. FM、FFM、DeepFM

    FM是干嘛的? 常用于广告系统和推荐系统 为啥说稀疏呢,比如说电商推荐,一个用户和商品的交互是非常稀疏的,只会跟很少的商品发生交互. 假如现在要给用户推荐不同的衣服,首先考虑用LR. 但是有时候,用户 ...

  9. 推荐系统算法总结(三)——FM与DNN DeepFM

    来源:https://blog.csdn.net/qq_23269761/article/details/81366939,如有不妥,请随时联系沟通,谢谢~ 0.疯狂安利一个博客 FM的前世今生:  ...

  10. tensorflow 协同过滤_推荐系统算法学习(一)——协同过滤(CF) MF FM FFM

    1.协同过滤(CF)[基于内存的协同过滤] 优点:简单,可解释 缺点:在稀疏情况下无法工作 所以对于使用userCF的系统,需要解决用户冷启动问题 和如何让一个新物品被第一个用户发现 对于只用item ...

最新文章

  1. Unity3D提示“XX,some are mac os x (unix) and some are windows”
  2. C#动态调用webservice
  3. 每天三分钟玩转Git(已完结)
  4. 【Github上有趣的项目】基于RNN文本生成器,自动生成莎士比亚的剧本或者shell代码(不是python的是lua的)
  5. 直播预告 | AAAI 2022论文解读:基于对比学习的预训练语言模型剪枝压缩
  6. Mysql 按条件排序查询一条记录 top 1 对应Mysql的LIMIT 关键字
  7. Python_day4
  8. java mysql存储过程_JAVA调用MySQL存储过程
  9. 卷积神经网络的前世今生
  10. 【转】 Android常用实例—Alert Dialog的使用
  11. javascript的概述
  12. matlab中普通电感,matlab电感在哪
  13. 如何通过回测报告中的指标评估策略优劣?
  14. ChinaMode评选:2010最受瞩目的45个初创公司/产品
  15. 机器人方队解说词_运动会入场式方队解说词
  16. 北京烤鸭+腊肉炒花菜+香椿炒蛋
  17. 【渝粤教育】电大中专机械设计基础作业 题库
  18. 【Python】5行代码采集3000+上市公司信息
  19. omnipeek安装包亲测可用
  20. 新手引导的界面部分操作区域的处理(一)

热门文章

  1. 【第28期】游戏策划:996的解决方式是自我驱动
  2. JS中Object对象与JSON字符串之间相互转换
  3. 新高考不选物理可以学计算机吗,新高考物理学不好选历史可以吗?附高考不选物理的后果...
  4. Paper Reading《Fastformer Additive Attention Can Be All You Need 》
  5. 现代C++语言可以看作是三部分组成
  6. 电脑重启f12怎么处理_电脑开机出现Del、F9、F12、End四个键,进不了系统,要怎么办?...
  7. 网易魔兽怀旧服服务器型号,魔兽怀旧服,将开放8组服务器,你知道每个服务器名的来历吗...
  8. 自己真正意义上的第一篇文章(闲扯)
  9. 长期主义被滥用,知行合一更重要
  10. 如何给企业制定愿景或目标