|
|
|
|
移动端

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

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

作者:汪昊编译来源:51CTO|2018-08-08 13:30

技术沙龙 | 邀您于8月25日与国美/AWS/转转三位专家共同探讨小程序电商实战

如何利用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】

【编辑推荐】

  1. 程序员算法基础——贪心算法
  2. Python算法入门——小白轻松“捕获”计算机的灵魂
  3. 一致性哈希算法很难?看完这篇全懂了
  4. 让CDN更省流量的Brotli算法详解
  5. 拥抱新时代,Google 开源量子算法框架 CIRQ
【责任编辑:庞桂玉 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

J2ME手机游戏设计技术与实战

本书主要介绍了在手机上开发J2ME游戏的方法,作者在介绍了J2ME游戏开发相关知识背景的基础上,以大富翁手机游戏的设计开发为例,详细讲述了...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊