FM解析(因子分解机,2010)
推荐参考:(知乎)
https://zhuanlan.zhihu.com/p/37963267
要点理解:
1.fm应用场景,为什么提出了fm(和lr的不同点)
ctr预测,特征组合,fm的隐向量分解,lr的二次项
2.fm的两个好处
第一,为什么在数据稀疏情况下有效?
(1)首先来说数据稀疏,是因为0-1编码后通常出现的情况,如果用lr的话,Wij 和 Wih 是独立的,比如<男,篮球>代表Wij,课用于训练的样本可能只有100个,但如果用隐向量V,注意
内积<vi,vj> 和 <vi,vh>不是完全独立的,能用于训练vi的数据,也就是<男,XXX>的数据都可以,远远大于100个,训练会更加有效
(2)fm中隐向量可以表示之前没有出现过的交叉特征。因为lr中<男,化妆品>如果在原始数据中为0,则wij系数就是为0,但是用fm,可能会计算出不一样的结果
第二,线性时间复杂度
原始wij有n*(n-1)/2个,但是使用矩阵v,k行n列,参数量变为k*n
下一篇:deepfm in pytorch(csdn博客)
https://blog.csdn.net/w55100/article/details/90295932
FM解析(因子分解机,2010)的更多相关文章
- CTR@因子分解机(FM)
		1. FM算法 FM(Factor Machine,因子分解机)算法是一种基于矩阵分解的机器学习算法,为了解决大规模稀疏数据中的特征组合问题.FM算法是推荐领域被验证效果较好的推荐算法之一,在电商.广 ... 
- 因子分解机 FM
		特征组合 人工方式的特征工程,通常有两个问题: 特征爆炸 大量重要的特征组合都隐藏在数据中,无法被专家识别和设计 针对上述两个问题,广度模型和深度模型提供了不同的解决思路. 广度模型包括FM/FFM等 ... 
- 推荐算法之因子分解机(FM)
		在这篇文章我们将介绍因式分解机模型(FM),为行文方便后文均以FM表示.FM模型结合了支持向量机与因子分解模型的优点,并且能够用了回归.二分类以及排序任务,速度快,是推荐算法中召回与排序的利器.FM算 ... 
- Factorization Machine因子分解机
		隐因子分解机Factorization Machine[http://www. w2bc. com/article/113916] https://my.oschina.net/keyven/blog ... 
- 万字长文,详解推荐系统领域经典模型FM因子分解机
		在上一篇文章当中我们剖析了Facebook的著名论文GBDT+LR,虽然这篇paper在业内广受好评,但是毕竟GBDT已经是有些老旧的模型了.今天我们要介绍一个业内使用得更多的模型,它诞生于2010年 ... 
- 深度解析pos机,养卡人必看!
		好多人对POS 好像都比较迷茫,这个说这个POS 好,那个说那个POS 好.下面就我对POS 的认知给兄弟们说下.对与不对的各位见谅. 第一.一清机 一清机是指在结算日结算后直接通过支付公司账号转 ... 
- fm 讲解加代码
		转自: 博客 http://blog.csdn.net/google19890102/article/details/45532745/ github https://github.com/zhaoz ... 
- FM
		1.FM (因子分解机) 2.FM的作用: (1)特征组合是许多机器学习建模过程中遇到的问题,如果对特征直接进行建模,很可能会忽略掉特征与特征之间的关联信息,因此,可以通过构建新的交叉特征这一特征组合 ... 
- FM算法解析及Python实现
		1. 什么是FM? FM即Factor Machine,因子分解机. 2. 为什么需要FM? 1.特征组合是许多机器学习建模过程中遇到的问题,如果对特征直接建模,很有可能会忽略掉特征与特征之间的关联信 ... 
随机推荐
- kudu集群:kudu_master、kudu_tserver服务及数据的迁移(根据官网总结)
			是不是都需要一个声明,来一个: 声明: 本文只是总结本人本地模拟环境测试,并没有经过严格的线上测试.请自己在本地严格测试之后慎重使用在生产环境! kudu_master.kudu_tserver服务迁 ... 
- python_socket登陆验证_明文
			client.py import socket import struct sk=socket.socket() sk.connect(('127.0.0.1',9005)) while True: ... 
- C/C++中内存对齐问题的一些理解(转)
			内存对齐指令 一般来说,内存对齐过程对coding者来说是透明的,是由编译器控制完成的 如对内存对齐有明确要求,可用#pragma pack(n)指定,以n和结构体中最长数据成员长度中较小者为有效值 ... 
- MySQL慢查询开启、日志分析(转)
			说明 Mysql的查询讯日志是Mysql提供的一种日志记录,它用来记录在Mysql中响应时间超过阈值的语句 具体指运行时间超过long_query_time值得SQL,则会被记录到慢查询日志中.lon ... 
- Python面试题_初级版
			1.如何在一个函数内部修改全局变量 a=5 def fn(): a=4 fn() print(a) # 5 #在一个函数内部修改全局变量 a=5 def fn(): global a a=4 fn() ... 
- Dubbo 初识SPI-Version2.7.5
			1简介 SPI 全称为 Service Provider Interface,是一种服务发现机制.SPI 的本质是将接口实现类的全限定名配置在文件中,并由服务加载器读取配置文件,加载实现类.这样可以在 ... 
- Java并发编程 - Runnbale、Future、Callable 你不知道的那点事(一)
			从事Java开发已经快两年了,都说Java并发编程比较难,比较重要,关键面试必问,但是在我的日常开发过程中,还真的没有过多的用到过并发编程:这不疫情嘛,周末不能瞎逛,就看看师傅们常说的 Runnabl ... 
- NPOT纹理与平铺模式OpenGL规范
			OpenGL规范从2.0开始支持显示边长为非2次幂的Texture,但限制条件是需要环绕模式为CLAMP_TO_EDGE并且过滤模式为NEAREST或者LINEAR. 解除限制的条件是硬件支持OES_ ... 
- mysql学习——数据表基本操作1
			选择数据库 创建数据表 包括字段名和数据类型两部分 查看数据表 使用主键约束 主键又称主码,能够唯一的表示表中的一条记录,分为单字段主键与多字段联合主键 单字段主键 定义主键的两种方式: 1.在最后指 ... 
- 阿里技术专家深入讲解,SpringMVC入门到进阶,看这一篇就够了
			前言 SpringMVC是一个实现了Web MVC设计模式的轻量级Web框架.它与前辈Struts 2框架一样,都属于MVC框架,因为其使用和性能等方面比Struts 2更加优异,所以Spring M ... 
