广告推荐系统经典算法:Deep FM

DeepFM学习笔记

引子

DeepFM是经过工业界验证的比较认可的用于解决CTR(广告点击)预测的深度学习模型之一。

什么是广告预测问题?以淘宝网举例,在淘宝主页以及我们搜索结果页面中,都有作为广告出现的商品推荐窗,如果这个窗口推荐的物品正好用户感兴趣,那么用户就会点进去看看啦,这样这个商品的商家就要付钱给淘宝网站,因为这个点击进来的用户是通过淘宝推荐来的,这样淘宝就可以通过推荐广告赚钱啦。问题就是,淘宝要怎么在大量的商品中选出几个放到有限的展示窗口中呢?当然是最可能被点击的那些商品广告啦,怎么预测商品被点击的可能性?本文提到的Deep FM就是解决这个预测问题的方案之一。

概述

将CTR预测问题转化成一个有监督机器学习问题,首先要把训练样本(用户的点击、没有点击行为)划分为“特征”和“标注”。

特征包括用户的注册信息,比如年龄,性别等,以及用户的购买行为,比如买了一堆GPU的可能是个技术宅or 游戏宅等等;以及商品本身的特征信息,比如商品的介绍,分类、价格等等。

标注就是0、1分别代表当前的用户没有点击或者有点击这个商品的广告。

这个CTR问题有个特性,相比于图像识别问题或者语音识别问题,CTR的特征往往是高维而且稀疏的,比如我们把男、女这个类别特征通过1-hot 编码成为01 和 10 两个向量,这样一个特征就变成了2维,同样的道理,其他的类类别特征如果通过1-hot编码也会大大增加特征的维度。对于连续的特征,我们可能会通过分桶,也把它们转化成了高维的特征。

在很多情况下,我们用这些特征判断用户的点击行为可能需要综合多个特征来进行,比如年龄在18-30岁的女生比较关注颜色比较时髦的唇膏商品,这个判断就用了年龄和性别两个特征来综合决策最终的label。那么有很多前人提出了多种多样的模型来解决这个特征交叉的问题。比如FM(Factorization Machines)就提出了先学一个特征的embedding(就是用一个低维的向量来表示高维稀疏的特征向量),然后通过不同特征组的embedding的乘积来实现这个“特征交叉“的操作。可惜的是,由于排列组合的数量几乎是指数上升的,考虑到模型的复杂度,实际应用中往往只能学习低阶的特征交叉,也就是FM只能学习到利用了2~3个特征的判别用户点击行为的模式。当我们需要判断一个用了用户年龄、性别、职业、收入、月度购买量等等比较多的特征的用户行为模式的时候怎么办呢?有人提出可以用DNN(深度神经网络)来解决这个问题,用深层的神经网络来模拟高维的用户特征融合模式。但是问题是,我们如果同时需要判断高维和低维的特征模式,这个时候怎么办呢?本文介绍的Deep FM就派上用场了。

方法


如图一所示,整个Deep FM的架构分为左右两个层次,左边是FM,右边是Deep。。哈哈估计名字就是这么来的。样本的特征由下至上输入,最下一层是上面提到过的高维稀疏特征。


由于输入的高维稀疏特征向量是由更低维的特征向量(比如用户性别的1-hot编码向量,用户年龄的分桶离散化的向量等)组合而成的,在第一层分别将这些向量编码成同样长度的embedding,这样更方便表示每个低维向量组的信息,方便后续计算。入图2所示。

在Deep FM的架构的左边FM中,这一层经过embedding编码的特征向量经过了FM的乘积层获得了低维的特征交叉组合,然后通过一个输出层输出。


图中y代表FM层输出,<w,x>代表权重w和原始feature层向量x的內积,Vi表示原始特征向量x中第i个低维特征向量的embedding表示。


图3代表Deep FM架构中的DNN部分。由于和FM共用了第一层特征的embedding向量层,这样在反向传播算法的训练过程中,这个浅层特征embedding可以受到高维特征交叉和低维特征交叉的影响学的更好些(论文原话)。

这个DNN的层数根据原始论文中的实验大概取3~5层,更多的层数会导致过拟合。

总结

这个Deep FM模型有几个特点:

1. 它不需要预训练,可以直接端到端的训练

2. 它结合了深层和浅层的特征交叉信息

3. 通过共享embedding它省去了特征工程的工作,更方便使用。

Deep FM的工作据说击败了当时的state of the art,但是目前又有很多新的paper出现,比如阿里的DIN等,我们下次再说~

参考文献:

1. DeepFM:A Factorization-Machine based Neural Network for CTR Prediction

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,937评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,503评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,712评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,668评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,677评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,601评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,975评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,637评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,881评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,621评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,710评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,387评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,971评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,947评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,189评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,805评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,449评论 2 342

推荐阅读更多精彩内容