推荐系统中的模型整理 (rank)

摘要:
不同之处主要包括以下两点:宽模型被FM代替了LR。FM模型具有自动学习交叉特征的能力,避免了原始Wide&Deep模型中人工特征工程的浅层部分。DeepFM模型的原始特征将用作FM和Deep模型的共同输入,以确保模型特征的准确性和一致性。大量实验证明,DeepFM模型的AUC和Logloss优于当前的最佳效果。就效率而言,DeepFM相当于当前的最佳深度模型。通过特征工程获得宽、深、中、低阶组合特征。
模型简介论文
DNN多层神经网络--
Logistic Regression逻辑回归--
FM因子分解机Factorization Machine(2010)
FFMField-Aware FMField-aware Factorization Machines for CTR Prediction(2016)
FNNFactorisation-Machine Supported Neural NetworksDeep Learning over Multi-field Categorical Data(2016)
Deep CrossingDeep CrossingDeep Crossing: Web-Scale Modeling without Manually Crafted Combinatorial Features(2016)
PNNProduct NetworkProduct-based Neural Networks for User Response Prediction(2016)
wide&deepDeep + wide(LR)Wide & Deep Learning for Recommender Systems(2016)
DeepFMDeepFMDeepFM: A Factorization-Machine based Neural Network for CTR Prediction(2017)
DCNDeep Cross NetworkDeep & Cross Network for Ad Click Predictions(2017)
NFMNeural Factorization MachinesNeural Factorization Machines for Sparse Predictive Analytics(2017)
AFMAttentional Factorization MachinesAttentional Factorization Machines: Learning the Weight of Feature Interactions via Attention Networks(2017)
xDeepFMxDeepFMxDeepFM: Combining Explicit and Implicit Feature Interactions for Recommender Systems(2018)
DINDeep Interest NetworkDeep Interest Network for Click-Through Rate Prediction(2018)
FGCNNFeature Generation by CNNFeature Generation by Convolutional Neural Network for Click-Through Rate Prediction(2019)
FIBINETCombining Feature Importance and Bilinear feature Interaction《FiBiNET: Combining Feature Importance and Bilinear feature Interaction for Click-Through Rate Prediction》(2019)
DeepFM

推荐系统中的模型整理 (rank)第1张

和Wide & Deep的模型类似,DeepFM模型同样由浅层模型和深层模型联合训练得到。不同点主要有以下两点:

  1. wide模型部分由LR替换为FM。FM模型具有自动学习交叉特征的能力,避免了原始Wide & Deep模型中浅层部分人工特征工程的工作。
  2. 共享原始输入特征。DeepFM模型的原始特征将作为FM和Deep模型部分的共同输入,保证模型特征的准确与一致。

文中通过大量实验证明,DeepFM模型的AUC和Logloss都优于目前的最好效果。效率上,DeepFM和目前最优的效果的深度模型相当。

主要做法:

  1. FM Component + Deep Component。FM提取低阶组合特征,Deep提取高阶组合特征。但是和Wide&Deep不同的是,DeepFM是端到端的训练,不需要人工特征工程。
  2. 共享feature embedding。FM和Deep共享输入和feature embedding不但使得训练更快,而且使得训练更加准确。相比之下,Wide&Deep中,input vector非常大,里面包含了大量的人工设计的pairwise组合特征,增加了他的计算复杂度。

为了同时利用low-order和high-order特征,DeepFM包含FM和DNN两部分,结果可表示为:

推荐系统中的模型整理 (rank)第2张

FM 部分

推荐系统中的模型整理 (rank)第3张

FM通过隐向量latent vector做内积来表示组合特征,从理论上解决了低阶和高阶组合特征提取的问题。但是实际应用中受限于计算复杂度,一般也就只考虑到2阶交叉特征。

后面又进行了改进,提出了FFM,增加了Field的概念。

FM部分的输出由两部分组成:一个Addition Unit,多个内积单元

推荐系统中的模型整理 (rank)第4张

这里的d是输入one-hot之后的维度,我们一般称之为`feature_size`。对应的是one-hot之前的特征维度,我们称之为 `field_size`

Addition Unit反映的是1阶的特征。内积单元反映的是2阶的组合特征对于预测结果的影响。

Deep Component

Deep Component架构图:

推荐系统中的模型整理 (rank)第5张

Deep Component是用来学习高阶组合特征的。网络里面黑色的线是全连接层,参数需要神经网络去学习。

由于CTR或推荐系统的数据one-hot之后特别稀疏,如果直接放入到DNN中,参数非常多,我们没有这么多的数据去训练这样一个网络。所以增加了一个Embedding层,用于降低纬度。

这里继续补充下Embedding层,两个特点:

1. 尽管输入的长度不同,但是映射后长度都是相同的.`embedding_size(k)`

2. embedding层的参数其实是全连接的Weights,是通过神经网络自己学习到的。

Embedding层的架构图:

推荐系统中的模型整理 (rank)第6张

embedding layer表示为:[公式]

其中 ei 是第 i个 filed 的 embedding,m 是 filed 数量; a(0)传递给deep part,前馈过程如下:

[公式]

其中 l是层深度,最外层是激活函数, a b w分别是第l层的输出,权重和偏置。

然后得到dense real-value 特征矢量,最后被送到sigmoid函数做CTR预测:[公式]

其中 |H| 是隐藏层层数 值得注意的是:FM模块和Deep模块是共享feature embedding的(也就是V)。

好处:

1. 模型可以从最原始的特征中,同时学习低阶和高阶组合特征 ;

2. 不再需要人工特征工程。Wide&Deep中低阶组合特征就是同过特征工程得到的。

DeepFM优势/优点:

  1. 不需要预训练FM得到隐向量
  2. 不需要人工特征工程
  3. 能同时学习低阶和高阶的组合特征
  4. FM模块和Deep模块共享Feature Embedding部分,可以更快更精确地训练

[ 参考 1 ]

[ 参考 2 ]

免责声明:文章转载自《推荐系统中的模型整理 (rank)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇win32-使用FillRect绘制具有渐变颜色的客户区域背景Linux环境下实现对文件读写操作下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

推荐系统(三)

(原创文章,转载请注明出处!) 推荐系统关注的是人与物品,希望预测出人对物品的喜欢程度。不同的人有相近的喜好(比如:都喜欢武侠小说),不同的物品有相近的特征(比如:都是武侠小说)。当想预测一个用户A对其还没有评价的的物品T的评分时,可以从两个角度来考虑:找和用户A有相近喜欢的人,通过他们对物品T的评分,来估计用户A对物品T的评分;另外一个角度是用户A已经评...

net开源cms系统

.net开源cms系统推荐 内容目录: 提起开源cms,大家第一想到的是php的cms,因为php开源的最早,也最为用户和站长们认可,随着各大cms系统的功能的不断完善和各式各样的开源cms的出现,.net和java的高端的cms系统也逐渐的走上了开源的路线,尤其是 .net的cms系统,从最早国外的开源,到现在国内致力于.net的cms...

Silverlight学习之——Deep Zoom文件格式概述

Deep Zoom是一种很炫的效果,其源文件所使用的文件格式是基于XML的。在源文件中,我们可以为单个大图像指定格式,也可以为图像集合指定格式。     在这里再说明一下:Deep Zoom 图像棱锥图仅支持 BitmapImage 类所支持的图像文件。 l 单个图像:     Deep Zoom 中的单个大图像是由平铺图像棱锥图表示的。这允许 Deep...

推荐系统指标评测——覆盖率与基尼系数的算法与应用

评测指标是衡量推荐系统优劣的数据支持,目前应用广泛的有:点击率、转化率、精准率、召回率、F1值、覆盖率、多样性等等。不同的指标衡量的标准和目的是不一样的...今天就来介绍一下覆盖率和多样性是如何计算和应用的。 更多推荐系统资源,请参考——《推荐系统那点事儿》 覆盖率 如何评价推荐系统的优劣,可以通过推荐的内容覆盖率来衡量。当然它并不是唯一的准则....覆盖...

BZOJ1103: [POI2007]大都市meg

BZOJ1103: [POI2007]大都市meg Description 在经济全球化浪潮的影响下,习惯于漫步在清晨的乡间小路的邮递员Blue Mary也开始骑着摩托车传递邮件了。不过,她经常回忆起以前在乡间漫步的情景。 昔日,乡下有依次编号为1..n的n个小村庄,某些村庄之间有一些双向的土路。 从每个村庄都恰好有一条路径到达村庄1(即比特堡)。 并且...

【推荐系统实战】:C++实现基于用户的协同过滤(UserCollaborativeFilter)

好早的时候就打算写这篇文章,可是还是參加阿里大数据竞赛的第一季三月份的时候实验就完毕了。硬生生是拖到了十一假期。自己也是醉了。。。 找工作不是非常顺利,希望写点东西回想一下知识。然后再攒点人品吧,仅仅能如此了。 一、问题背景 二、基于用户的协同过滤算法介绍 三、数据结构和实验过程设计 四、代码 一、问题背景 首先介绍一下问题的背景。如今我有四个月的用户...