推荐系统与深度学习(一)——FM模型原理
作者:livan
来源:数据python与算法
前言
简单的机器学习模型构建往往假设各个特征之间相互独立,并基于特征独立进行模型训练,例如:LR、SVM;
但是实际场景中特征往往存在相互关联的,比如:女性更喜欢化妆品类广告,男性更喜欢球类装备广告:
女性—化妆品,男性—球类设备
两者之间的关联性较高。
因此,关联特征需要考虑引入到模型建设中。
关联特征在one-hot变化中是按照笛卡尔积的形式呈现的,容易引发高维灾难,比如性别和品类的关联特征如下:
(男/球类)的向量为(女/球类,女/化妆品,男/球类,男/化妆品),one-hot之后为(0,0,1,0),维度指数型增加(4维变成8维):
为了解决关联特征导致的高维灾难问题,引入了FM模型。
FM模型推导
FM模型从形式上可以看作是:线性模型+关联特征,即在线性模型的基础上,添加了高维关联特征:
上面公式能看出,wij存在较高的稀疏性,需要找方法解决稀疏问题。
为了计算wij,对每一个特征分量xi找一个辅助向量vi=(vi1,vi2,......,vik),然后,利用vivjT对wij进行计算,汇总所有的特征可得如下v矩阵,每行为一个特征:
则wij矩阵的计算为:
这一思路的基本想法是:将关联之后的特征维度降到k维,计算某一个wij,然后汇总出wij矩阵:
问题来了,如何计算辅助向量vi=(vi1,vi2,......,vik)?
主要应用的方法为:
上面关联特征的计算为:
通过上面的计算就能得到FM与辅助向量vi,f的逻辑关系,然后通过梯度递减,即SGD进行数据运算:
最终得到FM的模型:
此时,模型不仅考虑了关联特征,同时解决稀疏问题,并将复杂度降低到与LR模型同一水平。
FM与SVM的比较
SVM的二元特征交叉参数是独立的,而FM的二元特征交叉参数是两个k维的向量vi、vj,交叉参数就不是独立的,而是相互影响的。
FM可以在原始形式下进行优化学习,而基于kernel的非线性SVM通常需要在对偶形式下进行
FM的模型预测是与训练样本独立,而SVM则与部分训练样本有关,即支持向量
线性SVM只有一维特征,不能挖掘深层次的组合特征在实际预测中并没有很好的表现;而多项式SVM正如前面提到的,交叉的多个特征需要在训练集上共现才能被学习到,否则该对应的参数就为0,这样对于测试集上的case而言这样的特征就失去了意义,因此在稀疏条件下,SVM表现并不能让人满意。而FM不一样,通过向量化的交叉,可以学习到不同特征之间的交互,进行提取到更深层次的抽象意义。
笔者认为,算法的精神在于逻辑,代码倒是其次,本文只介绍原理,代码部分,可以自行到网上查询~
◆ ◆ ◆ ◆ ◆
麟哥新书已经在当当上架了,我写了本书:《拿下Offer-数据分析师求职面试指南》,目前当当正在举行活动,大家可以用原价5折的预购价格购买,还是非常划算的:
点击下方小程序即可进入购买页面:
数据森麟公众号的交流群已经建立,许多小伙伴已经加入其中,感谢大家的支持。大家可以在群里交流关于数据分析&数据挖掘的相关内容,还没有加入的小伙伴可以扫描下方管理员二维码,进群前一定要关注公众号奥,关注后让管理员帮忙拉进群,期待大家的加入。
管理员二维码:
猜你喜欢
● 麟哥拼了!!!亲自出镜推荐自己新书《数据分析师求职面试指南》
● 厉害了!麟哥新书登顶京东销量排行榜!
● 笑死人不偿命的知乎沙雕问题排行榜
● 用Python扒出B站那些“惊为天人”的阿婆主!
● 你相信逛B站也能学编程吗
点击阅读原文,即可参与当当5折购书活动
推荐系统与深度学习(一)——FM模型原理相关推荐
- 推荐系统与深度学习(二)——FFM模型原理
作者:livan 来源:数据python与算法 前言 上一篇我们讲解了FM模型: 推荐系统与深度学习(一)--FM模型原理 从FM的公式我们可以看出: FM中每个特征所对应的向量是唯一的: Vi是Xi ...
- Facebook 面向个性化推荐系统的深度学习推荐模型
作者:王鸣辉 整理:Hoh Xil 来源:http://wd1900.github.io/#blog https://www.zhihu.com/people/wang-ming-hui-38/pos ...
- 从FM推演各深度学习CTR预估模型
本文的PDF版本.代码实现和数据可以在我的github取到. 1.引言 点击率(click-through rate, CTR)是互联网公司进行流量分配的核心依据之一.比如互联网广告平台,为了精细化权 ...
- 推荐系统深度学习篇-NFM 模型介绍(1)
一.推荐系统深度学习篇-NFM 模型介绍(1) NFM是2017年由新加披国立大学提出的一种模型,其主要优化点在于提出了Bi-Interaction,Bi-Interaction考虑到了二阶特征组合, ...
- 当推荐系统邂逅深度学习
前言 这是一篇关于讲述推荐系统邂逅深度学习故事的文章. 推荐系统之于用户的角色,有时更像是无微不至的男朋友,你口渴时递给你符合口味的饮料,你饥饿时还你以常吃的披萨,你无聊时帮你推荐有趣的音乐亦或带你欣 ...
- 深度学习 vs. 概率图模型 vs. 逻辑学
深度学习 vs. 概率图模型 vs. 逻辑学 发表于2015-04-30 21:55|6304次阅读| 来源quantombone|1 条评论| 作者Tomasz Malisiewicz 深度学习de ...
- 好书荐读:阿里达摩院算法专家领衔《深度学习与图像识别:原理与实践》
点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 编辑:Sophia计算机视觉联盟 报道 | 公众号 CVLianMeng 这本书现在当当新书榜排名前三 既然为大 ...
- 深度学习CTR预估模型凭什么成为互联网增长的关键?
本文是王喆在InfoQ开设的原创技术专栏"深度学习CTR预估模型实践"的第一篇文章(以下"深度学习CTR预估模型实践"简称"深度CTR模型" ...
- CTR预估系列:DeepCTR 一个基于深度学习的CTR模型包
在计算广告和推荐系统中,CTR预估一直是一个核心问题.无论在工业界还是学术界都是一个热点研究问题,近年来也有若干相关的算法竞赛.本文介绍一个基于深度学习的CTR模型包DeepCTR,具有简洁易用.模块 ...
- 深度学习的推荐模型(DLRMs):设计孪生掩码层高效学习维度自适应的Embedding...
猜你喜欢 0.2021年10月份热门报告免费下载1.如何搭建一套个性化推荐系统?2.从零开始搭建创业公司后台技术栈3.全民K歌推荐系统架构.算法及后台设计4.微博推荐算法实践与机器学习平台演进5.腾讯 ...
最新文章
- BZOJ 1799 [Ahoi2009] self 同类分布(数位DP)【BZOJ千题计划(quexin】
- 福布斯:混合现实未来的八大应用场景
- Spring Boot微信点餐——实战开发DAO层
- P3391 【模板】文艺平衡树 fhq-treap 模板
- 验证部分表单是否重复
- js 对象和构造函数
- labelImg 工具
- JSP之jsp内置标签
- QPSK调制及MATLAB实现
- 虚拟化试题1-网络和存储
- viper4android还用酷狗,viper4windows_viper4android_viper4蝰蛇音效
- 回顾过去三年工作中对区块链技术的一点心得
- [笔记] 数据结构二刷【第一篇:线性表·栈·队列·递归】
- POJ 1625 Censored ( Trie图 DP 高精度 )
- 【缓存中间件】redis 支持的数据类型
- VR视频为什么都是弯的?
- MDK5 nRF BLE(蓝牙低功耗)
- 7个实用的Python自动化测试框架
- RMS TO EAP通过MQTT简单实现(2)
- 哈哈,word 多少页 一千字?