FM(Factorization Machines)
摘自
https://www.jianshu.com/p/1687f8964a32
https://blog.csdn.net/google19890102/article/details/45532745
一、FM简介
1、FM又叫因子分解机。被广泛应用到广告点击中,跟LR相比,效果据说是强了不少。这个个人觉得还是利用数据集测试下比较靠谱。其主要解决的问题是当数据比较稀疏的时候,特征组合的问题。
2、以一个广告点击的例子。特征如下图所示

- clicked是是否点击
- Country,Day,Ad_type是类型值,一般进行One hot编码
One hot编码后的特征如下图所示

当类型值特别多的时候,One-hot的特征量就会变得特别大。有些互联网特征有上亿纬就是这么来的。采用FM可以很好的学习这些特征之间的关系。
二、FM优点
- FMs allow parameter estimation under very sparse data where SVMs fails.
- FMs have linear complexity, can be optimized in the primal and do not rely on support vectors like SVMs.
- FMs are a general predictor that can work with any real valued feature vector. In contrast to this, other state-of-the-art factorization models work only on very restricted input data.
三、FM模型
1、一般的模型为线性模型

2、

3、其中,v∈ℝ^{n,k},vi,vj表示的是两个大小为k的向量之间的点积:

与线性模型相比,FM的模型就多了后面特征组合的部分。
4、对vi,vj求解
亮亮交叉的时间复杂度是O(k*n^2)。通过数学公式的转化,2xy = (x+y)^2 – x^2 – y^2。时间复杂度就变成了O(kn)。

FM(Factorization Machines)的更多相关文章
- FM(工程实现)
摘自: https://www.cnblogs.com/AndyJee/p/8032553.html 一.FM模型函数 二.FM对参数求导结果 三.算法实现 主要超参数有:初始化参数.学习率.正则化稀 ...
- 比较Windows Azure 网站(Web Sites), 云服务(Cloud Services)and 虚机(Virtual Machines)
Windows Azure提供了几个部署web应用程序的方法,比如Windows Azure网站.云服务和虚拟机.你可能无法确定哪一个最适合您的需要,或者你可能清楚的概念,比如IaaS vs PaaS ...
- (读论文)推荐系统之ctr预估-NFM模型解析
本系列的第六篇,一起读论文~ 本人才疏学浅,不足之处欢迎大家指出和交流. 今天要分享的是另一个Deep模型NFM(串行结构).NFM也是用FM+DNN来对问题建模的,相比于之前提到的Wide& ...
- update module (更新模块)
[转自http://blog.csdn.net/zhongguomao/article/details/6712568] function module:更新程序必须用一个特殊的FM(update m ...
- Factorization Machines 学习笔记(三)回归和分类
近期学习了一种叫做 Factorization Machines(简称 FM)的算法,它可对随意的实值向量进行预測.其主要长处包含: 1) 可用于高度稀疏数据场景:2) 具有线性的计算复杂度.本文 ...
- Factorization Machines 学习笔记(四)学习算法
近期学习了一种叫做 Factorization Machines(简称 FM)的算法.它可对随意的实值向量进行预測.其主要长处包含: 1) 可用于高度稀疏数据场景:2) 具有线性的计算复杂度.本文 ...
- Factorization Machines 学习笔记(二)模型方程
近期学习了一种叫做 Factorization Machines(简称 FM)的算法,它可对随意的实值向量进行预測.其主要长处包含: 1) 可用于高度稀疏数据场景:2) 具有线性的计算复杂度.本文 ...
- 与众不同 windows phone (20) - Device(设备)之位置服务(GPS 定位), FM 收音机, 麦克风, 震动器
原文:与众不同 windows phone (20) - Device(设备)之位置服务(GPS 定位), FM 收音机, 麦克风, 震动器 [索引页][源码下载] 与众不同 windows phon ...
- stanford coursera 机器学习编程作业 exercise 6(支持向量机-support vector machines)
在本练习中,先介绍了SVM的一些基本知识,再使用SVM(支持向量机 )实现一个垃圾邮件分类器. 在开始之前,先简单介绍一下SVM ①从逻辑回归的 cost function 到SVM 的 cost f ...
随机推荐
- 爬虫系列---scrapy全栈数据爬取框架(Crawlspider)
一 简介 crawlspider 是Spider的一个子类,除了继承spider的功能特性外,还派生了自己更加强大的功能. LinkExtractors链接提取器,Rule规则解析器. 二 强大的链接 ...
- 【Python 08】汇率兑换2.0-1(字符串索引)
1.案例描述 设计一个汇率换算程序,其功能是将人民币转换为美元,或者美元转换为人民币. 增加功能:根据输入判断是人民币还是美元,进行相应的转换计算. 2.案例分析 3.字符串 两个双引号或单引号括起 ...
- audio
// media.cpp : 定义控制台应用程序的入口点. // https://wenku.baidu.com/view/e910c474c5da50e2524d7fb4.html https:// ...
- qemu 系列
一.. qemu uboot 1. 首先安装交叉编译器,执行: sudo apt-get install gcc-arm-linux-gnueabi 2. 下载U-Boot源文件: ht ...
- SDOI2019R1游记
差点退役,真是开心 Day -2 吐了一晚上,差点死掉 被拉去医院打针,结果蛇皮的被扎了两针,真是好疼啊嘤嘤嘤 决定第二天在家里咕一天 Day -1 结果在家里也得做\(loli\)昨天的不知道从哪里 ...
- day 14 递归、匿名函数、内置函数
三目运算符 # 三目(元)运算符:就是 if...else...语法糖# 前提:简化if...else...结构,且两个分支有且只有一条语句# 注:三元运算符的结果不一定要与条件直接性关系cmd = ...
- iview inoput type=textarea 禁止拉伸
设置 :maxRows.minRows相同即可 <Input v-model="formValidate.remark" type="textarea" ...
- Go 连接 mysql 数据库的简单测试.
1. import 的时候 总是很慢 容易失败 所以 优先导入几个必须要的包 go get github.com/go-sql-driver/mysql 安装完之后 会在gopath 目录下发现相关的 ...
- js01-javascript语法标准和数据类型
语法规则 (1)JavaScript对换行.缩进.空格不敏感. 备注:每一条语句末尾要加上分号,虽然分号不是必须加的,但是为了程序今后要压缩,如果不加分号,压缩之后将不能运行. (2)所有的符号,都是 ...
- Servlet的 GenericServlet 和 HttpServlet
一.GenericServlet? servlet 是一个接口 下面有两个抽象类 GenericServlet 和 HttpServlet 需要被 继承并重写其中的方法. package javawe ...