读深度学习推荐系统(王喆)- 学习笔记

在这里插入图片描述

传统推荐模型进化史:
1、协同过滤算法
预测的第一步就是找到与用户X兴趣最相似的n个用户,然后综合相似用户对“电视机”的评价,得出用户X对“电视机”评价的预测。
还有种方式是,一个用户对多个相似的物品感兴趣,那么对这个物品也感兴趣。
2、矩阵分解算法
隐向量:“用户和物品的隐向量是通过分解协同过滤生成的共现矩阵得到的”

在这里插入图片描述

“在完成矩阵分解过程后,即可得到所有用户和物品的隐向量。在对某用户进行推荐时,可利用该用户的隐向量与所有物品的隐向量进行逐一的内积运算,得出该用户对所有物品的评分预测,再依次进行排序,得到最终的推荐列表。”
3、逻辑回归
“将用户年龄、性别、物品属性、物品描述、当前时间、当前地点等特征转换成数值型特征向量。”
“确定逻辑回归模型的优化目标(以优化“点击率”为例),利用已有样本数据对逻辑回归模型进行训练,确定逻辑回归模型的内部参数。
在模型服务阶段,将特征向量输入逻辑回归模型,经过逻辑回归模型的推断,得到用户“点击”物品的概率。利用“点击”概率对所有候选物品进行排序,得到推荐列表。

在这里插入图片描述

其中“w的训练方法”:

在这里插入图片描述

逻辑回归没有做特征交叉,因此又进化了POLY2模型。
4、POLY2模型
暴力组合特征

在这里插入图片描述

5、FM模型
“与POLY2相比,其主要区别是用两个向量的内积取代了单一的权重系数”

在这里插入图片描述

6、FMM模型
引入了特征域概念,交叉的参数分得更细了,如wj1f2为j这个域对f这个域的值。

在这里插入图片描述

7、GBDT+LR组合模型

在这里插入图片描述
在这里插入图片描述

8、LS-PLM模型
“它在逻辑回归的基础上采用分而治之的思路,先对样本进行分片,再在样本分片中应用逻辑回归进行 CTR预估”
“首先用聚类函数π对样本进行分类,再用LR模型计算样本在分片中具体的CTR,然后将二者相乘后求和。”

深度学习时代:
1、AutoRec模型
“一种单隐层神经网络”
2、Deep Crossing模型

在这里插入图片描述

“Embedding 层的作用是将稀疏的类别型特征转换成稠密的Embedding向量。”

“Stacking层是把不同的Embedding特征和数值型特征拼接在一起,形成新的包含全部特征的特征向量,该层通常也被称为连接层。”

“Multiple Residual(残差)Units层:该层的主要结构是多层感知机,相比标准的以感知机为基本单元的神经网络,Deep Crossing 模型采用了多层残差网络。

在这里插入图片描述

“Scoring为输出层”
上图中relu是一种激活函数。
3、NeuralCF模型

在这里插入图片描述

“NeuralCF 用“多层神经网络+输出层”的结构替代了矩阵分解模型中简单的内积操作”
4、PNN模型

在这里插入图片描述

“PNN模型用乘积层代替了Deep Crossing模型中的Stacking层,不同特征的Embedding向量不再是简单的拼接,而是用Product操作进行两两交互”
“相比 NeuralCF,PNN模型的输入不仅包括用户和物品信息,还可以有更多不同形式、不同来源的特征”
5、Wide&Deep模型
wide的记忆深,deep的泛化强。
“既然简单模型的“记忆能力”强,深度神经网络的“泛化能力”强,那么设计Wide&Deep模型的直接动机就是将二者融合”

在这里插入图片描述

将wide进化一下,Deep&Cross模型:

在这里插入图片描述

6、FNN模型
“针对Embedding层收敛速度的难题,FNN模型的解决思路是用FM模型训练好的各特征隐向量初始化 Embedding层的参数,相当于在初始化神经网络参数时,已经引入了有价值的先验信息”
7、NFM
“受组合爆炸问题的困扰,FM几乎不可能扩展到三阶以上,这就不可避免地限制了FM模型的表达能力。”
“在Embedding层和多层神经网络之间加入特征交叉池化层”
“在进行两两Embedding向量的元素积操作后,对交叉特征向量取和,得到池化层的输出向量。”

在这里插入图片描述

8、注意力机制 AFM
NFM的加和池化一视同仁。“AFM 模型引入注意力机制是通过在特征交叉层和最终的输出层之间加入注意力网络实现的。”

在这里插入图片描述

9、DIEN 序列模型

在这里插入图片描述

“行为序列层:其主要作用是把原始的id类行为序列转换成Embedding行为序列。”

10、强化学习
“行动-反馈-状态更新”的循环。”

Embedding应用:
1、Word2vec
用相邻的词预测当前词
2、Item2Vec
万物都能to vec,也就是embedding思想的出现
双塔模型:

在这里插入图片描述

3、“Graph Embedding”
“图结构上进行随机游走,产生大量物品序列,然后将这些物品序列作为训练样本输入Word2vec进行训练,得到物品的Embedding”。

4、“Embedding的预训练”
“在模型部署过程中,没有必要部署整个深度神经网络来完成从原始特征向量到最终输出的预测过程,只需要将用户Embedding和物品Embedding存储到线上内存数据库,通过内积运算再排序的方法就可以得到物品的排序,再通过取序列中Top N的物品即可得到召回的候选集合,这就是利用Embedding作为召回层的过程。”

5、但是召回时几百万的量级,计算还是太多了,怎么提速
“快速Embedding向量最近邻搜索方法——局部敏感哈希”。
“基本思想是让相邻的点落入同一个“桶”,这样在进行最近邻搜索时,仅需要在一个桶内,或相邻的几个桶内的元素中进行搜索即可。”

多角度审视推荐系统:

在这里插入图片描述

多路召回:
“采用不同的策略、特征或简单模型,分别召回一部分候选集,然后把候选集混合在一起供后续排序模型使用的策略。”

“模型的实时性由弱到强的训练方式分别是全量更新、增量更新和在线学习”

冷启动,新上的东西缺乏历史数据
如基于规则的冷启动
主动学习:主动发起询问

spark mllib的训练原理:
广播所有参数到所有节点,每节点抽样数据集训练参数,然后阻塞式汇总更新模型。

parameter server:
多个服务器节点,每个维护一部分参数,而不是spark mlib只有一个服务器节点。
工作节点pull和push,拉的并不一定是最新的参数。

深度学习框架_TensorFlow:
包含了模型构建,并行训练,上线服务等步骤,
可基于任务关系图灵活调度,并行计算。
模型序列化函数,将训练好的模型参数和结构保存到某文件路径。

离线评估 线上a/b测试。
  • 11
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
深度学习推荐系统领域有着广泛的应用。下面是一些关于深度学习推荐系统笔记: 1. 数据表示:深度学习推荐系统通常使用向量表示用户和物品,将它们映射到低维空间中。常见的方法包括使用Embedding层将用户和物品ID转换为密集向量表示。 2. 神经网络模型:深度学习推荐系统使用神经网络模型来学习用户和物品之间的复杂交互关系。常见的模型包括多层感知机(Multi-Layer Perceptron,MLP)、卷积神经网络(Convolutional Neural Networks,CNN)和循环神经网络(Recurrent Neural Networks,RNN)等。 3. 个性化排序:深度学习推荐系统可以通过学习用户行为数据,预测用户对物品的喜好程度,并根据预测结果对物品进行个性化排序。常见的模型包括基于DNN的排序模型和序列模型,如Wide & Deep模型、DeepFM模型和Transformer模型等。 4. 强化学习深度学习推荐系统可以与强化学习相结合,通过与环境交互来优化推荐策略。常见的方法包括使用深度Q网络(Deep Q-Network,DQN)和策略梯度方法等。 5. 多任务学习深度学习推荐系统可以同时处理多个任务,如点击率预测、商品推荐和用户画像等。多任务学习可以通过共享模型参数来提高模型的泛化能力和效果。 6. 可解释性:深度学习模型在推荐系统中通常具有较强的表达能力,但其可解释性较差。为了提高可解释性,可以
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

成长是自己的事

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值