如何利用DeepFM算法设计推荐系统

编译作者: 汪昊 2018-08-08 13:30:59

如何利用DeepFM算法设计推荐系统

【51CTO.com快译】经过了十几年的发展,推荐系统在互联网行业已经变得越来越流行。从早年没有一个合适的产品形态,到如今在今日头条和抖音等商业产品中发挥重要作用,推荐系统已经越来越受到互联网公司和研究界学者的重视。

早年的推荐算法主要是各种单模型,例如逻辑回归、协同过滤、矩阵分解等等。后来推荐算法演化成了混合模型,例如 GBDT + LR , GBDT + FM 等。而随着深度学习的崛起,深度神经网络越来越深刻地影响了推荐系统领域的发展。

Huifeng Guo 等中国国内学者在 IJCAI 2017 发表了一篇题为《DeepFM: A Factorization-Machine based Neural Network for CTR Prediction 》的论文,讲解了如何将 FM 和深度学习模型进行融合之后进行推荐的算法。

DeepFM 主要有以下三个优点:

  1. DeepFM 可以对低阶特征交互和高阶特征交互进行建模,不需要进行特征工程。
  2. DeepFM 可以高效的进行训练,因为模型宽的部分和深的部分,不仅共享输入,也共享嵌入式向量。
  3. 实验数据表明 DeepFM 可以在点击率预估问题上取得优秀的效果。

DeepFM 的输入数据为点击率预估常见的 (X, y) 元组,其中 X 是表示用户和物品的特征向量,可能包括非数值数据,y 是点击数据标签,y = 1 表示用户点击了物品,y = 0 表示用户没有点击物品。

DeepFM 的预测函数如下: , 其实是利用 sigmoid 函数对基于 FM 的预测和基于 DNN 的预测进行了融合。算法模型中的 FM 部分算法架构如下图所示:

DNN 部分的算法架构如下图所示:

在混合模型中,FM 和 DNN 共享同一个特征嵌入层。嵌入层的结构如下图所示:

嵌入层得到的向量记为: ,  该向量参与到后续的DNN计算中: ,以及  。

作者随后在测试数据集合上对近年来的几种不同的点击率预估算法进行了测评,选择的测评标准包括 AUC 和 Log-loss ,测评结果如下图所示:

与 DeepFM 相比,其他几种点击率预估算法有以下缺点:

  1. FNN : FNN 是一个由 FM 初始化的前向神经网络。FM 预训练策略有如下两个问题:1). 嵌入层参数受 FM 影响较大 2). FM 预训练对算法效率有影响。另外,FM 只包含了高阶特征组合。
  2. PNN : PNN 及其变种 IPNN 和 OPNN 忽略了低阶特征的组合。
  3. 宽深网络:宽身网络的 FM 部分需要人工处理特征工程。

DeepFM 设计思路简单,源于 2016 年 Google 的宽深网络方法但是效果出众。自推荐系统诞生以来,人们便设计了各种不同的模型融合方法。从修改主题模型的 Collaborative Topic Regression ,到基于 blending 的 GBDT + LR 再到后面的宽深网络方法, 给我们设计算法提供了不同的思路。算法本身是一个既要考虑模型,又要考虑数据和参数的学科,DeepFM 在如何设计模型层面给我们展示了很好的范例。

原文标题:DeepFM: A Factorization-Machine based Neural Network for CTR Prediction,作者:Huifeng Guo, Ruiming Tang, Yunming Ye, Zhenguo Li, Xiuqiang He 

汪昊,恒昌利通资深架构师,美国犹他大学硕士,在百度,新浪,网易,豆瓣等公司有多年的研发和技术管理经验,擅长机器学习,大数据,推荐系统,社交网络分析,计算机图形学,可视化等技术。在 TVCG 和 ASONAM 等国际会议和期刊发表论文 8 篇。本科毕业论文获国际会议 IEEE SMI 2008 ***论文奖。

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

推荐系统 DeepFM 算法
上一篇:人能识别“假笑”,那么机器人呢? 下一篇:如何使用Android Things和TensorFlow在物联网上应用机器学习
评论
取消
暂无评论,快去成为第一个评论的人吧

更多资讯推荐

BAIR最新RL算法超越谷歌Dreamer,性能提升2.8倍

pixel-based RL 算法逆袭,BAIR 提出将对比学习与 RL 相结合的算法,其 sample-efficiency 匹敌 state-based RL。

Aravind Srinivas ·  3天前
机器学习算法集锦:从贝叶斯到深度学习及各自优缺点

本文筛选并简单介绍了一些最常见算法类别,还为每一个类别列出了一些实际的算法并简单介绍了它们的优缺点。

佚名 ·  2020-05-21 14:50:37
谷歌中国工程师提出颠覆性算法模型,Waymo实测可提高预测精准度

“周围的车辆和行人在接下来数秒中会做什么?”要实现安全的自动驾驶,这是一个必须回答的关键问题,这也就是自动驾驶领域中的行为预测问题。

DeepTech深科技 ·  2020-05-21 10:16:41
有了K均值聚类,为什么还需要DBSCAN聚类算法?

聚类分析是一种无监督学习法,它将数据点分离成若干个特定的群或组,使得在某种意义上同一组中的数据点具有相似的性质,不同组中的数据点具有不同的性质。

读芯术 ·  2020-05-13 15:57:59
边做边思考,谷歌大脑提出并发RL算法,机械臂抓取速度提高一倍

RL 算法通常假设,在获取观测值、计算动作并执行期间环境状态不发生变化。这一假设在仿真环境中很容易实现,然而在真实机器人控制当中并不成立,很可能导致控制策略运行缓慢甚至失效。

机器之心 ·  2020-05-12 10:43:30
神经网络之父Hinton再审视34年前的奠基性成果,欲在大脑中搜寻AI方法的“存在”

直到现在,几乎你听说过的每一个关于人工智能的进步,仍基于 30 年前的一篇阐述多层神经网络训练方法的论文演变而来。那就是 Geoffrey Hinton 在 1986 年写下的《Learning representations by back-propagation errors》。

黄珊 ·  2020-05-02 10:54:13
生成“猫狗版”特朗普,造假脸工具StarGANv2被玩坏,算法已开源

如果你想用AI把特朗普的脸变成猫,又或者是把自己的脸与漂亮的奥妹结合起来,你会怎么办?也许你会想到两样AI工具。但是Deepfake生成人脸违和感太强,GAN生成假脸又很难深度定制。

晓查 ·  2020-04-28 13:34:53
Science子刊:人脑存在加速学习机制,算力赛过最新AI算法

机器学习虽然受人脑启发,但实验神经科学和ML两个学科已经70年没有沟通。以色列交叉学科团队发现,人脑存在加速学习适应机制,新机制人工神经网络计算能力远超最新AI算法。

佚名 ·  2020-04-24 12:50:50
Copyright©2005-2020 51CTO.COM 版权所有 未经许可 请勿转载