1. 前言

随着信息技术和互联网的发展, 我们已经步入了一个信息过载的时代,这个时代,无论是信息消费者还是信息生产者都遇到了很大的挑战:

  • 信息消费者:如何从大量的信息中找到自己感兴趣的信息?
  • 信息生产者:如何让自己生产的信息脱颖而出, 受到广大用户的关注?

为了解决这个矛盾, 推荐系统应时而生, 并飞速前进,在用户和信息之间架起了一道桥梁,一方面帮助用户发现对自己有价值的信息, 一方面让信息能够展现在对它感兴趣的用户前面。 推荐系统近几年有了深度学习的助推发展之势迅猛, 从前深度学习的传统推荐模型(协同过滤,矩阵分解,LR, FM, FFM, GBDT)到深度学习的浪潮之巅(DNN, Deep Crossing, DIN, DIEN, Wide&Deep, Deep&Cross, DeepFM, AFM, NFM, PNN, FNN, DRN), 现在正无时无刻不影响着大众的生活。

推荐系统通过分析用户的历史行为给用户的兴趣建模, 从而主动给用户推荐给能够满足他们兴趣和需求的信息, 能够真正的“懂你”。 想上网购物的时候, 推荐系统在帮我们挑选商品, 想看资讯的时候, 推荐系统为我们准备了感兴趣的新闻, 想学习充电的时候, 推荐系统为我们提供最合适的课程, 想消遣放松的时候, 推荐系统为我们奉上欲罢不能的短视频…, 所以当我们淹没在信息的海洋时, 推荐系统正在拨开一层层波浪, 为我们追寻多姿多彩的生活!

这段时间刚好开始学习推荐系统, 通过王喆老师的《深度学习推荐系统》已经梳理好了知识体系, 了解了当前推荐系统领域各种主流的模型架构和技术。 所以接下来的时间就开始对这棵大树开枝散叶,对每一块知识点进行学习总结。 所以接下来一块目睹推荐系统的风采吧!

这次整理重点放在推荐系统的模型方面, 先从传统推荐模型开始, 然后到深度学习模型。 传统模型的演化关系拿书上的一张图片, 便于梳理传统推荐模型的进化关系脉络, 对知识有个宏观的把握:


今天是推荐系统传统模型的第四篇,也是传统推荐模型的最后一篇, 迎来的是因子分解机(Factorization Machine, FM)和域感知因子分解机(Field-aware Factorization Machine, FFM), 这两个属于因子分解机模型族, 在传统逻辑回归的基础上, 加入了二阶部分, 使得模型具备了特征组合的能力, 在上一篇文章里面谈到了逻辑回归, 这是一个简单、直观、应用的模型, 但是局限性就是表达能力不强, 无法进行特征交叉和特征筛选等, 因此为了解决这个问题, 推荐模型朝着复杂化发展, GBDT+LR的组合模型就是复杂化之一, 通过GBDT的自动筛选特征加上LR天然的处理稀疏特征的能力, 两者一结合初步实现了推荐系统特征工程化的开端。 其实, 对于改造逻辑回归模型, 使其具备交叉能力的探索还有一条线路, 就是今天这篇文章要介绍的POLY2->FM->FFM, 这条线路在探索特征之间的两两交叉, 从开始的二阶多项式, 到FM, 再到FFM, 不断演化和提升。

所以今天这篇文章的脉络会很清晰, 首先会先从POLY2开始,简单介绍一下POLY2模型的原理以及存在的不足, 从而引出后面的FM模型, 这个模型是2010年提出来的, 在POLY2的基础上把二阶交叉特征前面的权重换成了各自特征隐向量的内积形式, 这个模型还是比较重要的, 虽然现在不怎么用了, 但是他里面的隐向量思想的身影在深度学习的embedding里面得到了继承和发展, 所以接下来就会介绍FM模型的原理和一些公式的推导, 这个模型依然有点不足, 所以最后会介绍FFM模型的原理, 这个模型基于FM模型对权重又进行了改进, 引入了域的概念, 使得交叉特征的信息表达更近一步, 对了, 这个模型是2016年提出来的, 比GBDT+LR模型还晚了一些。这个模型感觉思路也是非常的有意思, 所以也是挺重要的, 为了更好的理解FM和FFM, 每一块的后面也会加上代码实践部分, 亲自玩一下这些模型

AI上推荐 之 FM和FFM(九九归一)相关推荐

  1. AI上推荐 之 逻辑回归模型与GBDT+LR(特征工程模型化的开端)

    1. 前言 随着信息技术和互联网的发展, 我们已经步入了一个信息过载的时代,这个时代,无论是信息消费者还是信息生产者都遇到了很大的挑战: 信息消费者:如何从大量的信息中找到自己感兴趣的信息? 信息生产 ...

  2. AI上推荐 之 AFM与DIN模型(当推荐系统遇上了注意力机制)

    1. 前言 随着信息技术和互联网的发展, 我们已经步入了一个信息过载的时代,这个时代,无论是信息消费者还是信息生产者都遇到了很大的挑战: 信息消费者:如何从大量的信息中找到自己感兴趣的信息? 信息生产 ...

  3. AI上推荐 之 AutoInt模型(Transformer开始玩特征交互)

    1. 写在前面 这段时间做优化模型的事情,正好和特征交互有关系,这个也是推荐系统里面一直探索的一个方向,从浅层模型的FM, FFM, HOFM, FwFM到深层模型的DNN, PNN, NFM, AF ...

  4. AI上推荐 之 基于内容的推荐(ContentBasedRecommend)

    1. 前言 随着信息技术和互联网的发展, 我们已经步入了一个信息过载的时代,这个时代,无论是信息消费者还是信息生产者都遇到了很大的挑战: 信息消费者:如何从大量的信息中找到自己感兴趣的信息? 信息生产 ...

  5. AI上推荐 之 YouTubeDNN模型(工业界推荐系统的灯火阑珊)

    1. 写在前面 这个系列很久没有更新了, 主要是前段时间经历了一波秋招, 后面的方向可能稍微偏数据挖掘和cv多一些,所以向这两块又稍微延展了一下,没来得及看推荐相关的论文,这次借着和如意大佬整理fun ...

  6. AI上推荐 之 MMOE(多任务yyds)

    1. 写在前面 这篇文章开始多任务模型的学习,算是把多任务模型这块的坑填一下哈哈. 随着推荐技术的蓬勃发展,目前越来越多的推荐场景,往往并不是单纯的优化一个指标,比如: 视频推荐领域: 推荐排序任务不 ...

  7. AI上推荐 之 SDM模型(建模用户长短期兴趣的Match模型)

    1. 写在前面 今天整理的是SDM模型(Sequential Deep Matching Model),依然是阿里团队在2019年CIKM上的一篇paper.和MIND模型一样,是一种序列召回模型,研 ...

  8. AI上推荐 之 多任务loss优化(自适应权重篇)

    1. 写在前面 在多任务学习中,往往会将多个相关的任务放在一起来学习.例如在推荐系统中,排序模型同时预估候选的点击率和浏览时间.相对于单任务学习,多任务学习有以下优势: 多个任务共享一个模型,占用内存 ...

  9. 【搜索/推荐排序】FM,FFM,AFM,PNN,DeepFM:进行CTR和CVR预估

    文章目录 1.FM 1.1代码-是否点击预测 效果和参数量级 1.3 和其他模型的比较 SVM MF 2. FFM one-hot的比较 eg 训练注意事项 效果和参数量级 实现 3. AFM 4.F ...

  10. 【推荐算法】ctr预估模型总结(LR、FM、FFM、NFM、AFM、WDL、DCN、DeepFM、FwFM、FLEN)

    文章目录 前言 LR POLY2 FM(Factorization Machine) FFM(Field-aware Factorization Machine) AFM(Attention Fact ...

最新文章

  1. 深入理解PHP内存管理之谁动了我的内存
  2. 版本服务器Svn部署与配置
  3. 机器学习知识点(三十五)蒙特卡罗方法
  4. Python小游戏之 - 飞机大战 !
  5. stm32 iic接口 进入busy_STM32通过IIC接口读取JY61模块MPU6050陀螺仪芯片数据核心程序...
  6. 4.4. Config file
  7. Windows Server 2008 R2中的Hyper-V
  8. Java基础之equals方法和= =的区别
  9. 终于有人把RISC-V讲明白了
  10. Globe宣布将在Balancer拍卖14,000,000枚GDT代币
  11. 结对-结对编项目作业名称-最终程序
  12. hdoj-1046-Gridland(规律题)
  13. gxworks2软件测试对话框,超实用!GX Works2软件的启动与窗口功能应用
  14. DevOps落地实践:BAT系列:代码托管:iCode vs TGit
  15. 【C语言编程】无重复数字的三位数
  16. 华为路由器AAA配置与管理
  17. 【大数据存储】Java操作jena练习
  18. python安装requirement.txt的扩展包
  19. 微信小程序中的添加收获地址的流程
  20. tf.estimator.Estimator解析

热门文章

  1. SVS为某大学打造无纸化会议室
  2. 三子棋 小游戏 C++
  3. 用continue计算100以内奇数和_一分钟明白break和continue
  4. python画太极八卦图_先天太极八卦图的唯一正确画法
  5. 海创软件组-20200614-用户自定义工程认证调查模板-大创项目申报书
  6. python编写dll文件_.dll 文件编写和使用
  7. 逻辑表达式在c语言中作用,C语言中逻辑表达式与关系表达式的值
  8. 英特尔第十代处理器为什么不支持win7_为什么7代CPU不支持WIN7,原因是什么
  9. 聚类——模糊c均值聚类
  10. 计算机软件服务的财务制度,餐饮业财务管理制度流程