GBDT+LR

  • 1. AutoRec-2015
  • 2. Deep Crossing-2016
  • 3. NeuralCF-2016
  • 4. PNN-2016
  • 5. Wide&Deep-2016
  • 6. Deep&Cross-2017
  • 7.FM+深度学习
    • 7.1 FNN-2016
    • 7.2 DeepFM-2017
    • 7.3 NFM-2017

《深度学习/推荐系统》读书笔记

2016年开始,推荐系统和计算广告全面进入深度学习时代。
(太多的模型,一搞就混了,没意思。)
围绕:特征如何更好的交叉,发现新的特征
以下方案基本囊括了特征工程的所有思路,(仅从特征工程的角度出发)模型进一步提升的空间非常小了,这也是这类模型的局限性所在。

1. AutoRec-2015

(澳大利亚国立大学)

核心思想:利用自编码器重构用户对物品的评分向量,再利用对物品评分的预估进行推荐排序。
自编码器:使输出向量与输入向量尽可能接近,可以用来做数据压缩和降维。
数据压缩和降维说的是,自编码器的参数数量要远小于输入向量的维度

AutoRec-用一个三成神经网络构建自编码器,输出层与输入层具有相同维度。
若输入向量为rir^iri,重建函数为h(ri,θ)h(r^i,\theta)h(ri,θ),AutoRec目标函数为
min⁡θ∑i=1n∣∣ri−h(ri,θ)∣∣2+λ2∣∣θ∣∣2\min_\theta\sum_{i=1}^n||r^i-h(r^i,\theta)||^2+\frac{\lambda}{2}||\theta||^2θmini=1nrih(ri,θ)2+2λθ2

Item Based AutoRec–物品评分向量–共现矩阵的列向量
User Based AutoRec–用户评分向量–共现矩阵的行向量

优点:三层自编码器简单
缺点:表达能力不足

2. Deep Crossing-2016

(微软)
Deep Crossing 模型的应用场景-Bing中搜索广告推荐场景。用户在搜索引擎中输入搜索词后,引擎出了会返回相关的结果,还会返回相关的广告。这是大多数搜索引擎的盈利模式。准确地预测关稿的点击率,并以此作为关稿排序指标之一,是非常重要的工作。

某条广告预测点击率可能用到的特征:搜索词,广告关键词,标题,落地页(不懂),匹配类型,历史点击率,另一个CTR模型预估的点击率,广告投放计划,曝光/点击样例(不懂

Deep Crossing 主要包括4层,用来解决-原始特征稀疏、特征自动交叉、输出层特征优化三个问题。

  1. Embedding-全连接聚合稀疏特征(第四章详细讨论Embedding技术)类别特征-onehot 编码,数值型特征都不需要Embedding.
  2. Stack层-直接拼接不同类型Embedding特征
  3. Multiple Residual Units层 – 残差网络实现特征各个维度的充分交叉
  4. Scoring层 – 逻辑回归预测CTR

3. NeuralCF-2016

(新加坡国立大学)
NeuralCF - 广义矩阵分解模型-将矩阵分解后的用户向量和物品向量 通过 互操作层相互作用后 得出用户对物品的评分。

  1. 互操作1–原始矩阵分解,使用内积,太简单,模型拟合能力不足。
  2. 互操作2–用户向量和物品向量拼接后输入全连接网络
  3. 互操作3–用户向量和物品向量(维度对齐)逐元素积

优点:灵活组合不同的 互操作层 特征,按需增加或者减少模型复杂度

局限性:基于协同过滤的思想构造,没有更多的引入其他类型的特征。所提供的互操作就两种,更多的方式需要后来者进行更深入的研究。

4. PNN-2016

上海交通大学–加强特征交叉能力–多组特征的之间的交叉(NeuralCF只有用户向量和物品向量)
PNN创新点–使用了乘积层代替了Deepcross中的stack 层,就是说不同特征的Embedding向量不再是简单的拼接,而是用Product操作进行两两交互。

Product层包括线形操作部分和乘积操作部分。

  1. 线操作部分–对embedding向量进行线形拼接
  2. 乘积操作部分包括:内积操作和外积操作(不同的embedding两两组合)
    a). 内积操作–没啥特殊
    b). 外积操作–将所有特征两两外积矩阵叠加,形成叠加外积互操作矩阵:p=fΣfΣTp=f_{\Sigma}f^T_{\Sigma}p=fΣfΣT

叠加外积互操作矩阵的缺陷–等价于让所有的emdedding过一个平均池化,再作内积。不在同一个向量空间的特征向量(年龄,地域)相加,会造成信息模糊。

5. Wide&Deep-2016

google–google play推荐团队–单层Wide和多层Deep组合形成混合模型,综合利用记忆能力和泛化能力。

记忆能力:模型直接学习并利用历史数据中物品或者特征的“共现频率”的能力。
强组合特征:如果点击过A,就推荐B。协同过滤和逻辑回归很容易发现这种联系。例如通过加大A的特征权重,这样就实现了对这个特征的直接记忆。

泛化能力:模型发掘稀疏甚至稀有特征与最终标签相关性的能力。
矩阵分解比协同过滤泛化能力强,就是因为矩阵分解引入了隐向量,使得数据稀少的用户或者物品也能生成隐向量,从而获得有数据支撑的推荐得分。(非常典型的将全局数据传递到稀疏物品上,提高了泛化能力)

Wide&Deep 模型结构: 单层Wide和多层Deep的输出拼接后直接输入到输出层。
(在具体特征工程和输入层设计中,展现了Google PLay推荐团队对业务场景的深刻理解)

  1. 单层Wide特征:已安装应用(用户历史行为)、曝光应用(当前的待推荐应用)
  2. 多层Deep特征:全量特征–用户年龄、安装应用数量、参与会话数量、用户人口属性特征、设备类型、已安装应用、曝光应用

Wide特征交叉操作–交叉积变化(解释完反而懵了)–多个特征向量的同一维度都为1,输出向量该维度才为1?

Deep&Wide模型的最主要共现–模型融合的魅力。

6. Deep&Cross-2017

斯坦福+google联合-在Wide&Deep的基础上,优化Wide部分,变为Cross网络。

Cross网络的目的–增加特征之间的交互力度,多层交叉层。(每一层均保留了输入向量)
xl+1=x0xlTWl+bl+xlx_{l+1}=x_0x_l^TW_l+b_l+x_lxl+1=x0xlTWl+bl+xl

7.FM+深度学习

7.1 FNN-2016

伦敦大学
改进点:DeepCross模型中embedding层的权重用FM模型训练出的权重向量进行初始化
问题缘起:embedding层采用随机初始化,收敛非常慢。主要原因有二

  1. 参数占整个网络的比重非常大
  2. 输入向量过于稀疏,只有与非零特征相连的Embedding层权重会被更新

7.2 DeepFM-2017

哈工大+华为公司
改进点:用FM代替Deep&wide中的wide,提高特征交叉能力
FM部分和Deep 部分共享稠密的embedding层。

7.3 NFM-2017

新加坡国立大学
改进点:在Deep&wide模型中的deep 部分增加了特征交叉池化层
特征交叉池化层:所有稠密embedding 两两数量积之后求和,输入到后续的深层网络中。

改进点的另一种看法:FM中的二阶交叉部分采用神经网络来拟合。

推荐系统(5)-深度推荐模型-AutoRec、DeepCrossing、NeuralCF、PNN、WideDeep、FNN、DeepFM、NFM相关推荐

  1. 【组队学习】【23期】Datawhale深度推荐模型

    深度推荐模型 开源内容:https://github.com/datawhalechina/team-learning-rs/tree/master/DeepRecommendationModel 基 ...

  2. 手搭深度推荐模型(四) NFM

    本文是笔者参与datawhale组织的深度推荐模型组队学习的分享,学习内容见本链接 ,本文中所指的教程即该链接中的相应文件. 一.概念 为了在稀疏条件下有更好的预测性能,2017年何向南教授等人在SI ...

  3. 深度推荐模型(EDRMs):面向Web级应用的基于二进制码的Hash Embedding

    猜你喜欢 0.如果你想参与进元宇宙,究竟应该采取怎样的策略?1.如何搭建一套个性化推荐系统?2.从零开始搭建创业公司后台技术栈3.全民K歌推荐系统架构.算法及后台设计4.微博推荐算法实践与机器学习平台 ...

  4. 深度推荐模型之NFM模型

    NFM 背景 今天学习深度推荐模型中的NFM(Neural Factorization Machines)模型,该模型是由2017年在SIGIR会议上提出的.CTR预估中,为了解决稀疏特征的问题,学者 ...

  5. RS笔记:深度推荐模型之多任务学习PLE模型 [RecSys 2020 最佳论文 腾讯]

    RS笔记:深度推荐模型之多任务学习ESMM模型(多目标优化模型,同时优化CTR和CVR) [SIGIR 2018 阿里妈妈] RS笔记:深度推荐模型之多任务学习MMoE模型 [KDD 2018 谷歌] ...

  6. 谷歌引入自动网络设计,高效解决大规模深度推荐模型的特征嵌入问题

    来源 | 深度传送门(ID:gh_5faae7b50fc5) 导读:本文主要介绍Google在大规模深度推荐模型上关于特征嵌入的最新论文. 一.背景 大部分的深度学习模型主要包含如下的两大模块:输入模 ...

  7. Google最新论文:大规模深度推荐模型的特征嵌入问题有解了!

    转载自深度传送门(ID: gh_5faae7b50fc5) 导读:本文主要介绍下Google在大规模深度推荐模型上关于特征嵌入的最新论文. 一.背景 大部分的深度学习模型主要包含如下的两大模块:输入模 ...

  8. 深度推荐模型-DIN

    DIN 1.背景     Deep Interest Network(DIIN)是2018年阿里巴巴提出来的模型,该模型基于业务的观察,从实际应用的角度进行改进,相比于之前很多"学术风&qu ...

  9. 深度推荐模型 - DeepFM

    DeepFM 文章目录 DeepFM 之前的模型的缺点和局限 线性模型的局限性 多项式模型的问题 DNN的局限性 FM(因子分解机) FFM FNN & PNN Wide & Deep ...

最新文章

  1. flask url构建_如何为生产构建构建Flask-RESTPlus Web服务
  2. VMware下redhat9.0的上网设置
  3. 修正memcache.php中的错误示例
  4. Eclipse中导入外部jar包
  5. h5封装去底部_干货分享 | 一步一步教你在SpringBoot中集成微信支付H5支付
  6. python迭代法求平方根_1021: 迭代法求平方根
  7. 嵌入式字符设备驱动——ULN2003步进电机驱动程序实现
  8. 服务器声卡硬件安装,虚拟声卡,详细教您怎么安装虚拟声卡
  9. Licecap for Mac使用教程
  10. 服务器租用价格与哪些因素有关?
  11. AUTOCAD——调整十字光标、CAD表格文字对齐方式
  12. 国内外视频编解码标准体系-我们在音视频标准化组织的工作,唯有坚持、主动、投入
  13. Arduino实验十四 无源蜂鸣器与有源蜂鸣器
  14. 7-6 鸡群的怜悯 (10分)
  15. 【推荐】Windows 服务器必备十大软件
  16. java画满天星_上机题目(初级)- 绘制满天星(Java)
  17. 从抖音和支付宝发展历史总结创新方法
  18. (七)ArcCatalog应用基础——图层操作与数据输出
  19. OpenGL超级宝典(第7版)笔记4 渲染管线介绍 清单2.3-2.7
  20. Python 函数声明先后顺序的问题

热门文章

  1. Ubuntu 14.04 为 root 帐号开启 SSH 登录
  2. getsockname与getpeername
  3. java utf8 byte_byte以及UTF-8的转码规则
  4. mtu设置失败_Oracle RAC该调整网卡MTU值
  5. java安装和环境配置
  6. 【转】禁用Chrome和Firefox中自动播放的动画GIF
  7. 同步与异步系列之二 导读目录
  8. .NET三种异步模式(APM、EAP、TAP)
  9. 浅析DDD(领域驱动设计)
  10. 多线程知识梳理(2) - 并发编程的艺术笔记