Wide and Deep 理解

 

  1. wide部分主要学习稀疏的离散特征的线性关系,Wide的"记忆"能力就是学习到sparse特征之间的线性相关性,缺点是无法捕捉训练数据中未曾出现过的特征组合,需要人工做特征交叉,构建组合特征。
  2. Deep部分就是MLP,可以直接输入连续数值型特征,对于sparse特征通过dense embeddings降维来捕获它们之间的高阶相关性,学习到之前没有出现过的组合特征(泛化能力)。缺点是对于非常稀疏的特征,DNN通过embedding学到的组合关系会出现over-generalize,需要Wide部分来补偿。
  3. Wide&Deep联合训练,同时学习低阶和高阶组合特征,适用于输入非常稀疏的大规模分类或回归问题(推荐、搜索、ranking)。

---------------------------

wide&deep 模型的核心思想是结合线性模型的记忆能力(memorization)和DNN 模型的泛化能力(generalization),在训练过程中同时优化两个模型的参数,从而达到整体模型的预测能力最优。
        联合训练是指同时训练Wide模型和Deep模型,并将两个模型的结果的加权和作为最终的预测结果。
对于类别特征,通过词典(Vocabularies)将其映射成向量;对于连续的实数特征,将其归一化到区间[0,1]。

Wide部分:
对应的概念是 Memorization,主要是学习特征的共性或者说相关性,产生的推荐是和已经有用户行为的物品直接相关的物品。
Memorization 通过一系列人工的特征叉乘(cross-product)来构造这些非线性特征,捕捉sparse特征之间的高阶相关性,即“记忆” 历史数据中曾共同出现过的特征对。
Memorization的局限性:
1,无法捕捉训练数据中未曾出现过的特征对。对于在训练集里没有出现过的 query-item pair,它不能进行泛化。
2,容易过拟合。

Deep部分:
对应的概念是 Generalization,可以理解为相关性的传递(transitivity),会学习新的特征组合,来提高推荐物品的多样性,或者说提供泛化能力(Generalization)。
泛化往往是通过学习低维的 dense embeddings 来探索过去从未或很少出现的新的特征组合来实现的,学习到的embeddings 本身带有一定的语义信息。
可以联想到NLP中的词向量,不同词的词向量有相关性。通常的 embedding-based model 有 Factorization Machines(FM) 和 Deep Neural Networks(DNN)。

这些高维稀疏的类别特征(如人口学特征和设备类别)映射为低纬稠密的向量后,与其他连续特征(用户年龄、应用安装数等)拼接在一起,输入 MLP(多层感知机)中,最后输入逻辑输出单元。

Generalization的优点是更少的人工参与,对历史上没有出现的特征组合有更好的泛化性。
当user-item matrix非常稀疏时,例如有和独特爱好的users以及很小众的items,NN很难为users和items学习到有效的embedding。这种情况下,大部分user-item应该是没有关联的,但dense embedding 的方法还是可以得到对所有 user-item pair 的非零预测,因此导致 over-generalize并推荐不怎么相关的物品(https://zhuanlan.zhihu.com/p/53361519)。

记忆体现的准确性,而泛化体现的是新颖性。

 

损失函数: 模型选取logistic loss作为损失函数,此时Wide & Deep最后的预测输出为:
            p(y=1|x) = sigma(W_wide[x, phi(x)] + W_deep*alpha_Lf + b)
其中,\sigma 表示sigmoid函数,phi(x)表示叉乘特征,alpha_Lf表示NN最后一层的激活值。


原文 https://arxiv.org/abs/1606.07792

[下面来自](https://kuaibao.qq.com/s/20180521G1TR4F00?refer=cp_1026)

 

推荐系统可以看成是一个search ranking问题,根据query得到items候选列表,然后对items通过ranking算法排序,得到最终的推荐列表。Wide & Deep模型是用来解决ranking问题的。

如果仅仅使用线性模型:无法学习到训练集中没有的query-item特征组合。

Embedding-based Model可以解决这个问题。FM和DNN都算是这样的模型,可以在很少的特征工程情况下,通过学习一个低纬度的embedding vector来学习训练集中从未见过的组合特征。

FM和DNN的缺点在于:
当query-item矩阵是稀疏并且是high-rank的时候(比如user有特殊的爱好,或item比较小众),很难非常效率的学习出低维度的表示。这种情况下,大部分的query-item都没有什么关系。但是dense embedding会导致几乎所有的query-item预测值都是非0的,这就导致了推荐过度泛化,会推荐一些不那么相关的物品。

相反,linear model却可以通过cross-product transformation来记住这些exception rules,而且仅仅使用了非常少的参数。

Wide & Deep Model通过组合两部分,解决了这些问题。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值