推荐系统-CTR-FM

FM简介

解决的问题:

1、特征组合问题

  传统的特征组合是在原始特征的基础上进行横向和纵向的分析,尽管对模型的准确率有一定的提高,但是由于人为组合的成分比较多,且人脑的存储和精力有限,还是不能很好的挖掘特征间的深层关系。
  FM(Factor Machine)因子分解机,因子分解机在对特征进行组合时,不仅考虑了特征间的线性组合,还考虑了特征间的交叉组合。

2、数据稀疏问题

  数据稀疏问题主要是由,对原始特征进行one-hot编码造成的。数据稀疏对模型训练的影响:一个是训练时间长;另一个是模型准确率不高。
  FM在进行特征组合之前,要对稀疏数据进行Embedding处理,Embedding可以将one-hot编码之后的数据统一到相同的维度。这是一个由高维稀疏向低维稠密的转变。

一、FM的网络结构图

二、FM的网络结构介绍

1、Sparse Features

  Input:Field 1......Field N是对原始数据进行one-hot编码以后的数据,所以数据比较稀疏。

2、Dense Embeddings

Embedding的网络结构图


  将Sparse Features部分的输出输入到Embedding层,可将高维稀疏数据转化为低维稠密的数据。这样相当于变相的提取Sparse Features中的重要特征。
  Embedding层的特点:1、尽管输入特征的长度不同,但是输出的长度都一样;2、Embedding层的参数其实是全连接的Weights。

3、FM Layer

  FM Layer的输入包括:Sparse Features部分的输出和Dense Embeddings层的输出。
  FM Layer的输出包括Inner Product(内积)和Sparse Features部分的输出的线性变换。
FM的公式:

进一步展开


内积举一个简单的例子:



下面对非线性部分的公式进行化简。

化简后该部分的复杂度由O(knn)变为O(k*n)。
非线性部分的化简主要利用的原理是:

4、Output Units

Reference

https://xueshu.baidu.com/usercenter/paper/show?paperid=b4073416c77339fb66794106f1543955&site=xueshu_se

原文地址:https://www.cnblogs.com/wisteria68/p/13470331.html