摘自

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. .net core2.1 三层中使用Autofac代替原来Ioc

    首先,现有的三层项目的结构 其中  Repository public interface IPersonRepository { string Eat(); } public class Perso ...

  2. FM算法解析及Python实现

    1. 什么是FM? FM即Factor Machine,因子分解机. 2. 为什么需要FM? 1.特征组合是许多机器学习建模过程中遇到的问题,如果对特征直接建模,很有可能会忽略掉特征与特征之间的关联信 ...

  3. ASP.NET Core使用HttpClient的同步和异步请求

    using System; using System.Collections.Generic; using System.Collections.Specialized; using System.I ...

  4. 基于C#的钉钉SDK开发(1)--对官方SDK的重构优化

    在前段时间,接触一个很喜欢钉钉并且已在内部场景广泛使用钉钉进行工厂内部管理的客户,如钉钉考勤.日常审批.钉钉投影.钉钉门禁等等方面,才体会到原来钉钉已经已经在企业上可以用的很广泛的,因此回过头来学习研 ...

  5. Windows 10 安装过程中,在自定义登录页面进入审核模式

    按ctrl-f3进入审核模式 https://msdn.microsoft.com/zh-cn/windows/hardware/commercialize/manufacture/desktop/b ...

  6. java基础-开发工具IDEA

    常用快捷键 查找 查找:Ctrl + F Find In Path: Ctrl + F + Shift (比普通查找多了一个shift) Search EveryWhere : 双击Shift 视图 ...

  7. 原生Ajax XMLHttpRequest对象

    一.Ajax请求 - 现在常见的前后端分离项目中,一般都是服务器返回静态页面后浏览器加载完页面,运行script中的js代码,通过ajax向后端api发送异步请求获取数据,然后调用回调函数,将数据添加 ...

  8. Shell命令-文件及内容处理之sort、uniq

    文件及内容处理 - sort.unip 1. sort:对文件的文本内容排序 sort命令的功能说明 sort 命令用于将文本文件内容加以排序.sort 可针对文本文件的内容,以行为单位来排序. so ...

  9. 使用bat脚本永久激活Windows系统(摘抄)

    使用bat脚本永久激活Windows系统   每次重装完系统后,右下角会提示系统未激活,无法进行一些个性化设置. 在这里我自己写了一个bat脚本用于激活Windows系统.(仅供学习) 文件下载: 链 ...

  10. Server酱

    功能:从服务器推报警和日志到手机上的工具 使用: 发送消息非常简单,只需要向以下URL发一个GET或者POST请求: https://sc.ftqq.com/SCU34756Ta63843ce61a3 ...