《Wide & Deep Learning for Recommender Systems 》笔记

本文是关于《Wide & Deep Learning for Recommender Systems》的笔记,探讨了Wide(LR)与Deep(DL)学习在推荐系统中的角色。Wide部分用于记忆和解释性强,Deep部分解决泛化问题。论文指出,Wide组件通过高维特征和组合来捕获局部相关性,Deep学习通过特征嵌入捕捉传递性。系统先用检索进行粗筛选,再用WDL进行精排。离线评估AUC提升有限,但在在线评估中表现出色,显示模型能适应用户响应变化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

从tensorflow的文档找到的论文,没几页,看上去也不复杂,赶紧弄下来看看。

场景是Google Play的推荐

wide & deeplearning是什么鬼?

  • wide是指高维特征+特征组合的LR。LR高效、容易规模化(scalable)、可解释性强。但是泛化性需要在特征工程上下功夫
  • deep就是deep learning了。特征工程省力,但是容易过度泛化over-generalize。

Memorization 和Generalization

文中提了两个观点,有点意思。Memorization 和Generalization。

  • Memorization 。从现有的训练数据item或者特征的共现或者相关性。局部性(topical),跟用户有行为的item直接强相关。
  • Generalization。相关性的传递(transitivity),新特征组合。多样性(diversity)好一些。

有点类似I2i里的item-base方法效果好,user-base的方法新颖性好。

我自己之前的观点是机器学习某种程度上来说就是找“相似”,这种相似有时候比较直接(Memorization),有时候比较间接(Generalization)。意思其实差不多啦。

回顾LR和DL的问题

先介绍现有LR方法,特征通通0/1编码,然后做特征组合。老套路了,基本都这样。有个问题就是特征组合如果训练数据里面没有&#

### 关于 Wide & Deep Learning for Recommender Systems 的出处 Wide & Deep 学习框架首次被提出是在由 Google 发表的一篇重要论文中,这篇论文名为《Wide & Deep Learning for Recommender Systems》[^1]。此论文主要探讨了一种新的机器学习架构——宽深网络(Wide & Deep Network),其目的是为了在推荐系统中更好地平衡记忆化(Memorization)和泛化能力(Generalization)。这种架构通过联合训练广度模型(Wide Model)和深度神经网络模型(Deep Neural Network, DNN Model),从而实现了短期收益最大化的同时兼顾长期探索的可能性。 具体而言,Wide 部分负责处理高频特征及其组合的记忆功能,而 Deep 部分则专注于捕捉低频甚至未见过的特征组合,以此增强系统的泛化性能[^4]。这一设计使得该模型特别适合应用于数据稀疏性较高的场景下,例如个性化推荐服务等领域。 因此,《Wide & Deep Learning for Recommender Systems》可以被认为是原始文献的主要来源之一,并且已经被广泛认可为推荐算法研究领域内的经典之作。 ```python # 示例代码片段用于说明如何实现基本的 Wide&Deep 架构 import tensorflow as tf def build_wide_deep_model(wide_columns, deep_columns): feature_columns = wide_columns + deep_columns # 定义输入层 inputs = { col.name: tf.keras.layers.Input(name=col.name, shape=(1,), dtype=tf.float32) for col in feature_columns } # 广度部分 (线性模型) wide = tf.feature_column.input_layer(inputs, wide_columns) # 深度部分 (DNN 模型) deep = tf.feature_column.input_layer(inputs, deep_columns) for units in [128, 64]: deep = tf.keras.layers.Dense(units)(deep) deep = tf.keras.layers.BatchNormalization()(deep) deep = tf.keras.layers.ReLU()(deep) # 合并两部分输出 combined_output = tf.keras.layers.concatenate([wide, deep]) output = tf.keras.layers.Dense(1, activation='sigmoid')(combined_output) model = tf.keras.Model(inputs, output) return model ``` #### 参考上述内容总结得出结论: 综上所述,《Wide & Deep Learning for Recommender Systems》一文出自谷歌团队的研究成果,它是当前许多实际生产环境中所采用的技术基础理论依据。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值