计算广告CTR预估系列(四)--Wide&Deep理论与实践

计算广告CTR预估系列(四)–Wide&Deep理论与实践

今天的主角是Wide & Deep Model,在推荐系统和CTR预估中都有应用。万字长文,墙裂推荐!

1. 名词解释

1.1 Memorization 和 Generalization

Google Wide&Deep论文中,通篇都是这两个词,必须搞懂是怎么回事!

这个是从人类的认知学习过程中演化来的。人类的大脑很复杂,它可以记忆(memorize)下每天发生的事情(麻雀可以飞,鸽子可以飞)然后泛化(generalize)这些知识到之前没有看到过的东西(有翅膀的动物都能飞)。
但是泛化的规则有时候不是特别的准,有时候会出错(有翅膀的动物都能飞吗)。那怎么办那,没关系,记忆(memorization)可以修正泛化的规则(generalized rules),叫做特例(企鹅有翅膀,但是不能飞)。

这就是Memorization和Generalization的来由或者说含义。

Wide&Deep Mode就是希望计算机可以像人脑一样,可以同时发挥memorization和generalization的作用。–Heng-Tze Cheng(Wide&Deep作者)

1.2 Wide 和 Deep

同样,这两个词也是通篇出现,究竟什么意思你明白了没?

其实,Wide也是一种特殊的神经网络,他的输入直接和输出相连。属于广义线性模型的范畴。Deep就是指Deep Neural Network,这个很好理解。Wide Linear Model用于memorization;Deep Neural Network用于generalization。
左侧是Wide-only,右侧是Deep-only,中间是Wide & Deep:

1.3 Cross-product transformation

Wide中不断提到这样一种变换用来生成组合特征,也必须搞懂才行哦。它的定义如下:

k表示第k个组合特征。i表示输入X的第i维特征。C_ki表示这个第i维度特征是否要参与第k个组合特征的构造。d表示输入X的维度。那么到底有哪些维度特征要参与构造组合特征那?这个是你之前自己定好的,在公式中没有体现。

饶了一大圈,整这么一个复杂的公式,其实就是我们之前一直在说的one-hot之后的组合特征:仅仅在输入样本X中的特征gender=female和特征language=en同时为1,新的组合特征AND(gender=female, language=en)才为1。所以只要把两个特征的值相乘就可以了。

Cross-product transformation 可以在二值特征中学习到组合特征,并且为模型增加非线性

2. Wide & Deep Model

Memorization:
之前大规模稀疏输入的处理是:通过线性模型 + 特征交叉。所带来的Memorization以及记忆能力非常有效和可解释。但是Generalization(泛化能力)需要更多的人工特征工程。

Generalization:
相比之下,DNN几乎不需要特征工程。通过对低纬度的dense embedding进行组合可以学习到更深层次的隐藏特征。但是,缺点是有点over-generalize(过度泛化)。推荐系统中表现为:会给用户推荐不是那么相关的物品,尤其是user-item矩阵比较稀疏并且是high-rank(高秩矩阵)

两者区别:
Memorization趋向于更加保守,推荐用户之前有过行为的items。相比之下,generalization更加趋向于提高推荐系统的多样性(diversity)。

Wide & Deep:
Wide & Deep包括两部分:线性模型 + DNN部分。结合上面两者的优点,平衡memorization和generalization。
原因:综合memorization和generalizatio的优点,服务于推荐系统。相比于wide-only和deep-only的模型,wide & deep提升显著(这么比较脸是不是有点大。。。)

2.1 推荐系统

2.1.1 介绍

推荐系统分为两种: CF-Based(协同过滤)、Content-Based(基于内容的推荐)

  • 协同过滤(collaborative filtering)就是指基于用户的推荐,用户A和B比较相似,那么A喜欢的B也可能喜欢
  • 基于内容推荐是指物品item1和item2比较相似,那么喜欢item1的用户多半也喜欢item2
2.1.2 线性模型

大规模的在线推荐系统中,logistic regression应用非常广泛,因为其**简单、易扩展、可解释性。**LR的输入多半是二值化后的one-hot稀疏特征。Memorization可以通过在稀疏特征上cross-product transformations来实现,比如:AND(user_installed_app=QQ, impression_a

  • 12
    点赞
  • 80
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值