推荐系统(一)LR,FM,FFM,DeepWise,DeepFM,ESMM
一、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,基于相关性的传递,学习未出现过的特征组合。容易推荐不一样的,新的东西。
(三)模型结构
(四)其他
- 模型训练:
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阶交互特征,尤其是在稀疏场景下
Deep:
embedding
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,DeepWise,DeepFM,ESMM相关推荐
- 推荐系统fmlr_推荐系统实践 0x0c FM系列(LR/FM/FFM)
逻辑回归(LR) 在介绍FM系列之前,我想首先简单介绍一下逻辑回归.通常来说,逻辑回归模型能够综合利用更多的信息,如用户.物品.上下文等多种不同的特征,生成更为全面的结果.另外,逻辑回归将推荐问题看成 ...
- 个人总结:推荐算法 从MF(LFM) 到 FM FFM WideDeep DeepFM
FM 在推荐系统中,经常会碰到电影评分这样高度稀疏的数据,在之前的个人总结:推荐算法篇(附协同过滤等) 综述的基于模型的协同过滤中,提到了FunkSVD(LFM,Latent Factor Model ...
- 《推荐系统笔记(七)》因子分解机(FM)和它的推广(FFM、DeepFM)
b### 前言 不同于线性模型只能从利用数据的一阶特征,FM可以通过特征组合,利用数据的二阶甚至更高阶的特征,从而更好的完成回归或者分类任务. 下面,我们将分别介绍因子分解机(FM).FFM以及Dee ...
- FM系列算法解读(FM+FFM+DeepFM)
综述 在计算广告中,CTR是非常重要的一环.对于特征组合来说,业界通用的做法主要有两大类:FM系列和Tree系列.这里我们来介绍一下FM系列. 在传统的线性模型中,每个特征都是独立的,如果需要考虑特征 ...
- CTR经典模型串讲:FM / FFM / 双线性 FFM 相关推导与理解
CTR 系列文章: 广告点击率(CTR)预测经典模型 GBDT + LR 理解与实践(附数据 + 代码) CTR经典模型串讲:FM / FFM / 双线性 FFM 相关推导与理解 CTR深度学习模型之 ...
- FM,FFM及其实现
在推荐系统和计算广告业务中,点击率CTR(click-through rate)和转化率CVR(conversion rate)是衡量流量转化的两个关键指标.准确的估计CTR.CVR对于提高流量的价值 ...
- DSP模型中FM FFM模型
机器学习方法应用在DSP广告投放中,预估CTR/CVR,业界常用的方法是人工特征工程+LR,GBDT,近期FM,FFM模型在其中使用效果非常显著. 先解释一波DSP相关专业术语: DSP:Demand ...
- FM、FFM、DeepFM
FM是干嘛的? 常用于广告系统和推荐系统 为啥说稀疏呢,比如说电商推荐,一个用户和商品的交互是非常稀疏的,只会跟很少的商品发生交互. 假如现在要给用户推荐不同的衣服,首先考虑用LR. 但是有时候,用户 ...
- 推荐系统算法总结(三)——FM与DNN DeepFM
来源:https://blog.csdn.net/qq_23269761/article/details/81366939,如有不妥,请随时联系沟通,谢谢~ 0.疯狂安利一个博客 FM的前世今生: ...
- tensorflow 协同过滤_推荐系统算法学习(一)——协同过滤(CF) MF FM FFM
1.协同过滤(CF)[基于内存的协同过滤] 优点:简单,可解释 缺点:在稀疏情况下无法工作 所以对于使用userCF的系统,需要解决用户冷启动问题 和如何让一个新物品被第一个用户发现 对于只用item ...
最新文章
- ubuntu php上传文件,Ubuntu中增加apache上传文件大小限制(突破Aapache默认2M上传限制)...
- 景切换的时候加上遮罩
- python解析二维码_Python二维码生成识别实例详解
- python rq asyncio_python异步IO-asyncio
- 【数据库】数据库基础
- 【论文研读】【医学图像分割】【FCN+RNN】Recurrent Neural Networks for Aortic Image Sequence Segmentation with ...
- Leetcode题目:Lowest Common Ancestor of a Binary Search Tree
- 松下plc驱动VF0变频器_2021厦门松下伺服马达回收现金回收
- RS232引脚定义及串口通信中与USB等转接
- 信度spss怎么做_怎么用spss处理信度和效度?
- 计算机课程 图层关系认识 课件,全国“xx杯”计算机类说课大赛课件一等奖作品:图层蒙版说课课件...
- CleanMyMac X免费的c盘清理工具
- 转:YY淘宝商品数据库设计
- SAP 移动类型详解 大全说明
- 划区清扫功能 小米扫地机器人_小米扫地机器人怎么用?
- HTML一款好看的最新网站发布导航页源码
- 邓俊辉数据结构学习笔记1
- 基于element的网站自适应方案(移动端适配)
- go run undefined
- 笔记本接投影仪共同显示的方法