美文网首页
FFM、UP-FM和CFM

FFM、UP-FM和CFM

作者: Colleen_oh | 来源:发表于2020-05-13 15:47 被阅读0次

最近在老师的推荐下,看了几篇论文。下面来总结一下FM的“延申宝宝”——FFM、UP-FM和CFM

这篇简书主要解决以下问题:

FFM、UP-FM和CFM的原理以及如何 基于FM做改变。

一、FM(Factorization Machines,因子分解机)

关于FM之前有比较详细地介绍过(https://www.jianshu.com/p/249e4a74825e),这里就不介绍了。

FM的公式为:\hat{y} (X)=w_0+\sum_{i=1}^nw_ix_i+\frac{1}{2} \sum_{f=1}^{k}[(\sum_{i=1}^n (v_{if}x_i))^2-\sum_{i=1}^n v_{if}^2x_i^2]

二、FFM(Field-aware Factorization Machine)

FFM在FM的基础上进一步改进,在模型中引入类别的概念,即field。将同一个field的特征单独进行one-hot,因此在FFM中,每一维特征都会针对其他特征的每个field,分别学习一个隐变量,该隐变量不仅与特征相关,也与field相关。

假设样本的n个特征属于f个field,那么FFM的二次项有nf个隐向量。而在FM模型中,每一维特征的隐向量只有一个。FM可以看做FFM的特例,把所有特征都归属到一个field的FFM模型。其模型方程为:\hat{y} (X)=w_0+\sum_{i=1}^nw_ix_i+\sum_{i=1}^n \sum_{j=i+1}^n <V_{i,f_j},V_{j,f_i}>x_ix_j

其中f_j是第j的特征所属的字段。

2.1 损失函数

FFM将问题定义为分类问题,使用的是logistic loss,同时加入正则项:min_w\sum_{i=1}^Llog(1+exp(-y_i\phi (w_i,x_i)))+\frac{\lambda }{2}  ||w||^2

求解方法参考FM的求解方法。

2.2 小结

与FM对比,FFM做得更精细,FM中每个特征对应一个隐变量,FFM每个特征对应多个隐变量

参考:

FM系列算法解读(FM+FFM+DeepFM)

CTR预估算法之FM, FFM, DeepFM及实践——https://blog.csdn.net/john_xyz/article/details/78933253

三、UP-FM(基于用户画像和因子分解机)

3.1 用户画像

用户画像是通过用一系列数据来构建真实用户的用户模型。用户画像技术主要通过构建用户标签的方式来表征用户信息,实现对用户特征全面、精准的刻画和描述。构建用户画像是实现个性化推荐和精准推荐的前提。

3.2 基于用户画像和因子分解机建模

在《基于用户画像和因子分解机的推荐算法研究》这篇论文中,有很详细地说明了如何基于用户画像和因子分解机的建模过程。

以上论文的做法:将用户画像的多维特征信息引入到 FM 模型中,构建基于用户画像和因子分解机的点击预测模型。主要研究框架如下图:

用户维度特征:从用户画像信息中提取。为了让因子分解机理解,首先需要将用户画像信息转化成特征向量。对于用户性别、年龄和学历等实值数据,直接将该值作为特征值。

电影维度特征:从电影信息中提取。在文中电影维度特征主要以电影类别为主,而电影类别除了与用户自然属性有关之外,还与用户的主题词有密切关系,用户的主题词总会触发特定类型的电影。(提取电影维度特征模型在论文中有提到)

显性特征:可以直接从用户和电影数据中获得。例如用户ID、电影ID

隐形特征:对用户行为数据以及电影数据进行深入挖掘、组合,从而提取到特征。例如电影类别、用户曾经评价的电影属于用户的显示反馈、用户的自然属性特征\用户-电影触发主题词(用户的主题词与电影的内容描述是有内在联系的词语)

输入数据格式转化:在进行模型训练前,需要对模型的输入数据进行格式转化,即对用户画像信息和待推荐电影信息进行有效特征编码,使之适用于 FM 这一基于特征的推荐模型,每一个特征维度对应一个低纬的隐含因子表示。

3.2.1 UP-FM模型训练

输入:用户画像特征集U 、电影特征集 M 、用户-电影触发主题词T 。

输出:中心用户对电影的点击率。

步骤 1 :从用户画像信息和电影信息中分别提取用户维度特征U 和电影维度特征M ,还包括触发主题词这一用户和电影共同的语义特征T 。

步骤 2 :为 UP-FM 模型输入进行多类别特征选择。

步骤 3 :将模型的输入数据转化为 LibFM 向量格式。

步骤 4 :采用 Adaptive SGD 训练用于用户-电影点击预测的 UP-FM 模型:

步骤 5 :重复步骤 4,直到模型参数达到最优。将训练得到的 UP-FM 模型用于测试集,得到中心用户对不同电影的点击率。

3.3 UP-FM小结

UP-FM 算法,既结合了 FM 模型刻画特征交互和较高质量预测大型稀疏矩阵的优点,又将用户画像引入进来,并且还引入触发主题词的概念,从语义方面有效的将用户画像特征和被推荐物品特征结合在一起。不仅解决了数据稀疏的问题,而且还考虑到了特征间的两两交互问题,提高了推荐的准确率。当面对新用户时,首先对新用户进行用户群体预测,然后根据不同用户群体对不同电影的点击率进行电影推荐,有效解决了冷启动问题。

参考:《基于用 户 画像和 因 子分解机的推荐算法研究》——杨 捷

四、CFM(基于交叉网络的因子分解机模型)

4.1 交叉网络(Cross Network)

交叉网络是人工神经网络模型的一种形式,其每一层的网络表达式如下:X_{l+1}=X_0X_l^TW_l+b_l+X_l=g(X_l,W_l,b_l)+X_l

其中X_l,X_{l+1}\in R^d分别表示交叉网络第l层和第l+1层的输出向量,W_l,b_l\in R^d表示该网络第l层的权重和偏置参数。交叉网络一层结构如下图所示:

4.2 基于交叉网络的因子分解机模型

4.2.1 模型框架

整个模型由3个基本模块组成:因子分解机、交互池化层和交叉网络层。基于深度学习的高阶特征交互模型框架如下图所示:

给定一个输入数据X\in R^n,CFM模型的估计目标函数可以表示为:\hat{y} CFM(X)=w_0+\sum_{i=1}^nw_ix_i+f(x)

式中前两项为因子分解机模型的线性部分,f(X)表示特征之间的高阶交互信息。

4.2.2 嵌入层

嵌入层是各维度特征到一个向量空间之间的映射,令为输入数据第i个特征的嵌入表示。可以得到V_x=\left\{ x_1v_1,...,x_nv_n \right\}

4.2.3 交互池化层

将嵌入曾集合V_x输入到交互层,一个将嵌入向量转换成一个向量的表达式:f_{BI}(V_x)=\sum_{i=1}^n \sum_{j=i+1}^nx_iv_i\circ x_jv_j

其中\circ 表示向量对应元素的乘积(v_i\circ v_j)_k=v_{ik}v_{jk},交互层的输出为一个k维向量,编码了特征在嵌入空间的二阶交互信息。

4.2.4 交互网络层

将因子分解机模型的池化输出数据输入到多层交叉网络中。多层交叉网络定义如下:

其中X_0=f_{BI}(V_x),交叉网络的每层输出X_l\in R^k,其中l为交叉网络层数。

4.2.5 预测层

将交叉网络的最后一层输出向量X_l转化为最终预测:f(X)=h^TX_l

其中,h\in R^k表示预测层的权重向量。因此,基于交叉

网络的因子分解机模型预测表达式为:

整个模型参数为:\Theta =\left\{ w_0,\left\{ w_i,v_i \right\},h,\left\{ W_l,b_l \right\}  \right\}

4.3 小结

 CFM 模型使用具有较低复杂度的交叉网络代替前馈神经网络,实验表明,CFM 模型具有很好的泛化性能。

参考:《神经因子分解机推荐模型改进研究》——吴韦俊、李烨

五、总结

FFM:

FFM在FM的基础上进一步改进,在模型中引入类别的概念,即field。FFM做得更精细,FM中每个特征对应一个隐变量,FFM每个特征对应多个隐变量。

UP-FM:

UP-FM 算法,将用户画像引入进来,并且还引入触发主题词的概念,从语义方面有效的将用户画像特征和被推荐物品特征结合在一起,提高了推荐的准确率。当面对新用户时,首先对新用户进行用户群体预测,然后根据不同用户群体对不同电影的点击率进行电影推荐,有效解决了冷启动问题。

CFM:

CFM属于神经因子分解机,CFM可以避免其他神经网络因子分解机(如NFM)复杂度较高的问题。 CFM 模型使用具有较低复杂度的交叉网络代替前馈神经网络,并且实验表明,CFM 模型具有很好的泛化性能。

相关文章

  • FFM、UP-FM和CFM

    最近在老师的推荐下,看了几篇论文。下面来总结一下FM的“延申宝宝”——FFM、UP-FM和CFM。 这篇简书主要解...

  • FFM-报文格式及示例

    1、FFM按块解读 2、FFM按行解读 3、FFM示例

  • 【活动预告】CFM荒岛特训城市公开赛武汉站本周日来袭

    荒岛特训作为CFM的新一模式,一经上线便受到广大玩家的喜爱。随着荒岛特训的上线,CFM将迎来新的比赛模式,CFM因...

  • CFM项目

     遗留问题 类似于微博刷新过后,新消息条数提醒 ??参考链接:https://blog.csdn.net/ton...

  • FFM

    1.学习美团FM Factorization Machine(因子分解)主要做特征的交叉,多项式模型是包含特征组合...

  • ffm

    1. FFM (Field Factorial Machine) FM的出现是为了解决为了得到交叉特征信息而设计的...

  • FFM

    Fileds Factorization Machine 与FM相比多了一个filed的概念; 增加field的作...

  • FFM的原理介绍及实现

    一.FFM原理介绍 FFM(Field-aware Factorization Machine)是对FM的改进,我...

  • CATIA VBA:更改工程图链接

    https://www.eng-tips.com/viewthread.cfm?qid=426477

  • FFM算法

    1、FM 1.1 背景 1.1.1 线性模型 常见的线性模型,比如线性回归、逻辑回归等,它只考虑了每个特征对结果的...

网友评论

      本文标题:FFM、UP-FM和CFM

      本文链接:https://www.haomeiwen.com/subject/nggynhtx.html