由来

在FM之后出现了很多基于FM的升级改造工作,由于计算复杂度等原因,FM通常只对特征进行二阶交叉。但是当面对海量高度稀疏的用户行为反馈数据的情况下,二阶交叉往往是不够的,三阶、四阶甚至更高阶的组合交叉能够进一步提升模型学习能力。

于是就有人参考图像领域CNN通过相邻层连接扩大感受野的做法,使用DNN来对FM显式表达的二阶交叉特征进行再交叉,从而产生更高阶的特征组合,加强模型对数据模式的学习能力。即FNN(Factorization Machine supported Neural Network)模型。

模型预测公式表达

模型结构

利用DNN对特征进行隐式交叉,可以减轻特征工程的工作,同时也能够将计算时间复杂度控制在一个合理的范围内。

为了加速模型的收敛,充分利用FM的特征表达能力,FNN采用了两阶段训练方式。首先,针对任务构建FM模型,完成模型参数的学习。然后,将FM的参数作为FNN底层参数的初始值。这种两阶段方式的应用,是为了将FM作为先验知识加入到模型中,防止因为数据稀疏带来的歧义造成模型参数偏差。

在特征进行输入之前首先进行分域操作,这种方式也成了后续处理高维稀疏性数据的通用做法,目的是为了减少模型参数量,与FM计算过程保持一致。


模型中的dense real layer 将FM产出的低维稠密特征向量进行简单拼接,作为下一全连接层的输入,采用tanh作为激活函数,最终使用sigmoid将之进行二分类操作,即0与1

模型效率对比

推荐系统学习笔记-FNN相关推荐

  1. 推荐系统学习笔记召回策略之基于协同过滤召回

    基于协同过滤的召回 1. 概述 2. 基于近邻的协同过滤算法 3. 相似度计算方法 4. 协同过滤算法的进化-矩阵分解 图1. 推荐系统整体架构 推荐系统学习笔记系列链接: 推荐系统学习笔记--特征工 ...

  2. Python推荐系统学习笔记(3)基于协同过滤的个性化推荐算法实战---ItemCF算法(下)

    本文在 Python推荐系统学习笔记(2)基于协同过滤的个性化推荐算法实战---ItemCF算法 一文的基础上,对其基本的ItemCF算法做出改进. 一.相关概念 1.ItemCF中,基于行为(喜好) ...

  3. Python推荐系统学习笔记(5)基于协同过滤的个性化推荐算法实战---UserCF算法(下)

    本文在 Python推荐系统学习笔记(4)基于协同过滤的个性化推荐算法实战---UserCF算法(上) 一文的基础上,对其基本的UserCF算法做出改进. 一.相关概念 1.UserCF中,基于行为( ...

  4. 推荐系统学习笔记——特征工程

    特征工程 一. 概述 二. 特征工程构建原则 三. 常用的特征有哪些 四. 常用的特征的处理方法 五. 特征选择 六. 总结 推荐系统学习笔记系列链接: 推荐系统学习笔记--特征工程 推荐系统学习笔记 ...

  5. 推荐系统学习笔记-冷启动

    简介 推荐系统的主要目标是将大量的标的物推荐给可能喜欢的海量用户, 这里涉及到标的物和用户两类对象.任何互联网推荐产品, 标的物和用户都是不断增长变化的,所以一定会频繁面对新标的物和新用户, 推荐系统 ...

  6. 推荐系统学习笔记03-矩阵分解和FM

    1. 隐语义模型与矩阵分解 协同过滤算法的特点就是完全没有利用到物品本身或者是用户自身的属性, 仅仅利用了用户与物品的交互信息就可以实现推荐,是一个可解释性很强, 非常直观的模型, 但是也存在一些问题 ...

  7. 推荐系统学习笔记-论文研读--点击率预估中特征交互的作用

    研究背景 当前点击率预估模型没有完全挖掘特征交互的潜力 特征的表征学习与特征的交互存在冲突 笛卡尔积的方法比当前的点击率预估模型效果都好 算法模型的效率和效果的平衡 阿里巴巴线上业务量级和耗时的考虑 ...

  8. 推荐系统学习笔记-PNN算法

    由来 Product-based Neural Network)是在2016年提出的用于计算CTR问题的深度神经网络模型,PNN的网络结构对传统的FNN(Feedforward Neural Netw ...

  9. 推荐系统学习笔记之四 Factorization Machines 因子分解机 + Field-aware Factorization Machine(FFM) 场感知分解机

    前言 Factorization Machines(FM) 因子分解机是Steffen Rendle于2010年提出,而Field-aware Factorization Machine (FFM) ...

最新文章

  1. 给创新工场求职者的一封信
  2. word2vec介绍
  3. Android中简单的日期格式化
  4. 【HRBUST - 1054 】Brackets! Brackets! (括号匹配,思维,STL栈)
  5. OMA 设备管理的通知发起的会话OMA Device Management Notification Initiated Session
  6. 【华为云技术分享】华为云 DevCloud 首席产品布道师:AIOps 不是 DevOps 的下一代
  7. UltraEdit的高亮【原创】
  8. Qt4_十六进制微调框
  9. NYOJ -11--奇偶数分离
  10. 先验概率与后验概率的区别
  11. 环保工位机重装系统需要备份的文件
  12. nacos配置中心信息 nacos版本2.0.3
  13. 用手机打开word图表位置很乱_居然很多人不知?这里可以免费下载Excel可视化图表,不要错过了...
  14. web 打印插件 hiprint 使用
  15. Java基础第三天复习
  16. WebSocket 简述
  17. 【GA MTSP】基于matlab GUI遗传算法求解多旅行商问题(多起点不同终点)【含Matlab源码 935期】
  18. Django个人博客搭建4-配置使用 Bootstrap 4 改写模板文件
  19. Java实现斗地主游戏中洗牌,发牌,牌顺序逻辑
  20. ie浏览器不能能上网,但火狐等浏览器可以

热门文章

  1. AdGuard更多规则推荐
  2. ffmpeg音频滤镜
  3. ECMAScript6常用语法
  4. 8个输入法高效使用技巧,大幅提升你的打字效率
  5. 雨刮器全国产化电子元件推荐方案
  6. Win11打字不显示选字框怎么办?Win11打字不显示选字框的解决方法
  7. A002-185-1203
  8. linux打开文件乱码
  9. java 发送邮件添加附件,Java实现带附件的邮件发送功能
  10. C++ Primer 读书笔记及知识点延伸 chapter1