摘自

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优点

  1. FMs allow parameter estimation under very sparse data where SVMs fails.
  2. FMs have linear complexity, can be optimized in the primal and do not rely on support vectors like SVMs.
  3. 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)的更多相关文章

  1. FM(工程实现)

    摘自: https://www.cnblogs.com/AndyJee/p/8032553.html 一.FM模型函数 二.FM对参数求导结果 三.算法实现 主要超参数有:初始化参数.学习率.正则化稀 ...

  2. 比较Windows Azure 网站(Web Sites), 云服务(Cloud Services)and 虚机(Virtual Machines)

    Windows Azure提供了几个部署web应用程序的方法,比如Windows Azure网站.云服务和虚拟机.你可能无法确定哪一个最适合您的需要,或者你可能清楚的概念,比如IaaS vs PaaS ...

  3. (读论文)推荐系统之ctr预估-NFM模型解析

    本系列的第六篇,一起读论文~ 本人才疏学浅,不足之处欢迎大家指出和交流. 今天要分享的是另一个Deep模型NFM(串行结构).NFM也是用FM+DNN来对问题建模的,相比于之前提到的Wide& ...

  4. update module (更新模块)

    [转自http://blog.csdn.net/zhongguomao/article/details/6712568] function module:更新程序必须用一个特殊的FM(update m ...

  5. Factorization Machines 学习笔记(三)回归和分类

      近期学习了一种叫做 Factorization Machines(简称 FM)的算法,它可对随意的实值向量进行预測.其主要长处包含: 1) 可用于高度稀疏数据场景:2) 具有线性的计算复杂度.本文 ...

  6. Factorization Machines 学习笔记(四)学习算法

      近期学习了一种叫做 Factorization Machines(简称 FM)的算法.它可对随意的实值向量进行预測.其主要长处包含: 1) 可用于高度稀疏数据场景:2) 具有线性的计算复杂度.本文 ...

  7. Factorization Machines 学习笔记(二)模型方程

      近期学习了一种叫做 Factorization Machines(简称 FM)的算法,它可对随意的实值向量进行预測.其主要长处包含: 1) 可用于高度稀疏数据场景:2) 具有线性的计算复杂度.本文 ...

  8. 与众不同 windows phone (20) - Device(设备)之位置服务(GPS 定位), FM 收音机, 麦克风, 震动器

    原文:与众不同 windows phone (20) - Device(设备)之位置服务(GPS 定位), FM 收音机, 麦克风, 震动器 [索引页][源码下载] 与众不同 windows phon ...

  9. stanford coursera 机器学习编程作业 exercise 6(支持向量机-support vector machines)

    在本练习中,先介绍了SVM的一些基本知识,再使用SVM(支持向量机 )实现一个垃圾邮件分类器. 在开始之前,先简单介绍一下SVM ①从逻辑回归的 cost function 到SVM 的 cost f ...

随机推荐

  1. Flink Event Time Processing and Watermarks(文末有翻译)

    If you are building a Realtime streaming application, Event Time processing is one of the features t ...

  2. 《JAVA程序设计》_第五周学习总结

    一.本周学习内容 1.接口--6.1知识 接口的声明 interface 接口名 接口体 只有常量和抽象方法 (用final.static.public修饰的变量,关键词可省略) (用abstract ...

  3. docker 安装 fastdfs

    fastdfs 安装 //1.拉取镜像 docker pull morunchang/fastdfs //2.启动tracker docker run -d --name tracker --net= ...

  4. pydensecrf的inference.py代码的学习

    https://github.com/lucasb-eyer/pydensecrf/blob/master/examples/inference.py 1.运行 先运行看看实现的结果: (deeple ...

  5. 真正的轻量级WebService框架——使用JAX-WS(JWS)发布WebService(转载)

    WebService历来都很受重视,特别是Java阵营,WebService框架和技术层出不穷.知名的XFile(新的如CXF).Axis1.Axis2等. 而Sun公司也不甘落后,从早期的JAX-R ...

  6. 广师大学习笔记之文本统计(jieba库好玩的词云)

    1.jieba库,介绍如下: (1) jieba 库的分词原理是利用一个中文词库,将待分词的内容与分词词库进行比对,通过图结构和动态规划方法找到最大概率的词组:除此之外,jieba 库还提供了增加自定 ...

  7. 【原创】微服务为什么一定要用docker

    引言 早在2013年的时候,docker就已经发行,然而那会还是很少人了解docker.一直到2014年,Martin Fowler提出了微服务的概念,两个不相干的技术终于走在了一起,创造了今天的辉煌 ...

  8. Python是如何实现生成器的原理

    python中函数调用的实质原理: python解释器(即python.exe)其实是用C语言编写的, 在执行python代码时,实际上是在用一个叫做Pyeval_EvalFramEx(C语言的函数) ...

  9. Linux C/C++ 链接选项之静态库--whole-archive,--no-whole-archive和--start-group, --end-group

    参照这两篇博客: http://stackoverflow.com/questions/805555/ld-linker-question-the-whole-archive-option http: ...

  10. Crypto加密解密

    crypto 模块提供了加密功能,包含对 OpenSSL 的哈希.HMAC.加密.解密.签名.以及验证功能的一整套封装.我们这里讲crypto AES算法加密 一.使用步骤 1.引入Crypto 1. ...