写在前面的话

  在深度学习(Deep Learning,以下简称DL)大行其道的今天,因子分解机(Factorization Machines,以下简称FM)以其模型简单、可解释性强等优点在搜索广告与推荐算法领域中仍旧占有一席之地。笔者认为FM开拓出了两个新思路:首先就是在线性复杂度范围内实现二阶特征的自动组合;再者就是embedding思想的引入,这其实是作者始料未及的(FM原文中作者意图是通过引入隐向量来分解权重系数,而没提到embedding思想)。可以说FM对于每个特征引入权重隐向量的做法开创了高维稀疏数据embedding处理的先河。一点想法,写的不对,欢迎拍砖。

正文开始

  FM是大阪大学Steffen Rendle于2010年提出的一种自动组合高维稀疏变量二阶特征的机器学习模型。其在逻辑斯蒂回归(Logistic Regression, LR)的直观性、可解释性基础上增加了二阶特征的自动组合。在问世后的将近10年时间里,以FM为基础的模型在学术界中广泛开花。而在工业界,据我所知,FM一直作为一种baseline模型。FM本质上仍是一种广义线性模型,继承了LR的可解释性,同时其还可以挖掘原始特征中的二阶交叉组合关系,并且对计算式进行分解转换可以使模型参数复杂度从O(n2)降到约O(n),这些优点在工业界中有着举足轻重的地位。
  下文将以两条主线介绍FM的发展,一是从特征交叉本身发展来说,各大模型对FM的二阶特征组合方式进行了一系列的改进。二是从embedding角度来讲述FM的发展,从这个角度可以认为FM是DL针对于高维稀疏变量的鼻祖模型。本人一直在思考,对于图像领域对应有卷积神经网络(CNN),而对于语音等时间序列模型对应有递归神经网络(RNN)。但是对于计算广告以及推荐系统中出现的高维稀疏数据(外人看来就是一些毫无意义的高维张量形式的0和1),究竟有何种网络架构与其对应?从目前学术和业界的发展来看,由FM引进的embedding思想将原始的高维稀疏数据嵌入为低维稠密特征,之后再进入深度神经网络中(Deep Neural Networks,以下简称DNN),是目前解决此类问题的主流方法。可以说FM在创建时虽然没有谈及embedding的思想,但是在本质上还是迎合了现在DL大行其道的趋势,不得不说是一种令人惊叹的巧合。
  为了能使读者更形象的理解原始特征以及其在模型中所经历的运算,本文将原始数据实例化。独热编码(one-hot encoding)后的总的特征数量为n=10,特征领域(field)为f=3,如x=[x1,x2⎵field1,x3,x4,x5⎵field2,x6,x7,x8,x9,x10⎵field3]x{\rm{ = [}}\underbrace {{x_1},{x_2}}_{fiel{d_1}},\underbrace {{x_3},{x_4}{\rm{, }}{x_5}}_{fiel{d_2}},\underbrace {{x_6},{x_7},{x_8}{\rm{, }}{x_9},{x_{10}}}_{fiel{d_3}}{\rm{]}}x=[field1

x1,x2,field2

x3,x4,x5
,field3

x6,x7,x8,x9,x10
] 。embedding后的每个领域(field)内的特征向量维度设为k=5,如efieldi=[ei1,ei2,ei3,ei4,ei5]{e_{fiel{d_i}}} = \left[ {{e_{i1}},{e_{i2}},{e_{i3}},{e_{i4}},{e_{i5}}} \right]efieldi=[ei1,ei2,ei3,ei4,ei5]。独热编码的意思就是,在每次输入的样本中x中,每个特征领域(field)内只能有一个特征值为1,其余特征值均为0,如 x=[0,1⎵field1,1,0,0⎵field2,0,0,0,1,0⎵field3]x{\rm{ = [}}\underbrace {0,1}_{fiel{d_1}},\underbrace {1,0{\rm{, 0}}}_{fiel{d_2}},\underbrace {0,0,0{\rm{, 1}},0}_{fiel{d_3}}{\rm{]}}x=[field1

0,1
,field2

1,0,0
,field3

0,0,0,1,0
]

1.   二阶特征组合思路

  如何高效的进行数据特征交叉是FM设计的初衷,以下几个模型由浅及深地介绍了二阶特征交叉模型的发展轨迹。

1.1 Logistic Regression(LR)[1]

  在说FM之前,先介绍一下最基本的一个模型–LR,可以说LR是点击率(click through rate,以下简称CTR)预估的开山鼻祖。LR模型简单易懂,将数据的一阶特征进行线性组合后再压缩到0~1的概率范围内进行分类。LR模型具有很强的可解释性,权重因子的大小说明了对应特征对预测结果影响大小。但也是因为LR模型太简单,只能做输入特征的一阶线性组合,所以需要进行复杂的特征工程,用人工的方法进行特征交叉组合,再进入LR模型中。可以说特征工程加广义线性模型LR的做法在2005年到2015年间广泛统治着工业界的CTR预估。
  LR模型的具体形式如下:
(1)yLR=ω0+∑i=1nωixi{y_{LR}} = {\omega _0} + \sum\limits_{i = 1}^n {{\omega _i}{x_i}} \tag{1}yLR=ω0+i=1nωixi(1)
式中,ω0{\omega _0}ω0代表偏置, ωi{\omega _i}ωi代表权重系数, xi{x_i}xi代表原始输入的数据特征。而最终的CTR预估值为
(2)y^LR=sigmod(yLR)=11+e−yLR{\hat y_{LR}} = sigmod({y_{LR}}) = {1 \over {1 + {e^{ - {y_{LR}}}}}} \tag{2}y^LR=sigmod(yLR)=1+eyLR1(2)
  结合式(1)-(2)和图1,可以从另一个角度来看待LR模型,其就是一个单层的神经网络,将输入值与各自的权重系数相乘后进行累加,再经过一个sigmod神经单元,将输出值由 (−∞,+∞)\left( { - \infty , + \infty } \right)(,+)压缩到值域为 (0,1)\left( {0,1} \right)(0,1)范围内的概率值。

图1  LR模型

1.2 poly2[2]

  LR是将输入的特征元素进行简单的一维线性加权,人们很自然的想到在LR基础上通过暴力的方式直接添加上二阶特征交叉方式的代数组合,其具体模型如式(3)所示(注:后文所提的模型方程均省略了sigmod激活单元)。可以看出poly2模型与LR本质上基本相同,二阶特征的交叉组合省去了部分特征工程的同时,也大幅度的提升了模型复杂度。
(3)ypoly2=ω0+∑i=1nωixi+∑i=1n∑j=i+1nωijxixj{y_{poly2}} = {\omega _0} + \sum\limits_{i = 1}^n {{\omega _i}{x_i}} {\rm{ + }}\sum\limits_{i = 1}^n {\sum\limits_{j = i + 1}^n {{\omega _{ij}}{x_i}{x_j}} }\tag{3} ypoly2=ω0+i=1nωixi+i=1nj=i+1nωijxixj(3)

图2  poly2模型

    但是poly2模型存在两个致命缺陷:一就是one-hot方式对category类型变量进行编码时导致输入特征的非零有效值非常稀疏,如果 xi{x_i}xixj{x_j}xj 的非零有效值在样本中没有同时出现, ωij{\omega _{ij}}ωij根本无法通过训练计算得到,这就造成了模型的推理泛化能力较差。第二个缺陷就是poly2将模型复杂度从 O( n)提升到了 O( n 2),增加了训练的复杂度。

1.3 FM[3]

  在LR和poly2基础上,介绍本文的核心–FM模型。可以说FM既相较于LR增加了二阶特征的自动组合,又完美的解决了上文所提的poly2模型的两个缺陷。通过FM模型(4)可以看出,FM并不是暴力的加上二阶特征组合,而是赋予每个特征 xi{x_i}xi一个专属的隐向量vi{v_i}vi,从而用两个隐向量的内积替代poly2中的单一权重。这样只要xi{x_i}xi 在样本中出现,模型就可以学习更新vi{v_i}vi,从而一定程度上增加了模型泛化能力。
(4)yFM=ω0+∑i=1nωixi+∑i=1n∑j=i+1n⟨vi⋅vj⟩xixj{y_{FM}} = {\omega _0} + \sum\limits_{i = 1}^n {{\omega _i}{x_i}} {\rm{ + }}\sum\limits_{i = 1}^n {\sum\limits_{j = i + 1}^n {\langle {v_i} \cdot {v_j}\rangle {x_i}{x_j}} }\tag{4} yFM=ω0+i=1nωixi+i=1nj=i+1nvivjxixj(4)
  另一方面,模型中的 ∑i=1n∑j=i+1n⟨vi,vj⟩xixj\sum\limits_{i = 1}^n {\sum\limits_{j = i + 1}^n {\langle {v_i},{v_j}\rangle {x_i}{x_j}} }i=1nj=i+1nvi,vjxixj可以进行参数简化,通过多项式化简可将模型复杂度从O(n2)降到O(n),如式(5)所示,简化过程的本质就是元素之间的二次多项可化为元素之间和的平方减去平方的和。
(5)∑i=1n∑j=i+1n⟨vi⋅vj⟩xixj=12∑f=1k((∑i=1nvi,fxi)2−∑i=1nvi,f2xi2)\sum\limits_{i = 1}^n {\sum\limits_{j = i + 1}^n {\langle {v_i} \cdot {v_j}\rangle {x_i}{x_j}} } {\rm{ = }}{1 \over 2}\sum\limits_{f = 1}^k {\left( {{{\left( {\sum\limits_{i = 1}^n {{v_{i,f}}{x_i}} } \right)}^2} - \sum\limits_{i = 1}^n {v_{i,f}^2x_i^2} } \right)} \tag{5}i=1nj=i+1nvivjxixj=21f=1k(i=1nvi,fxi)2i=1nvi,f2xi2(5)

图3  FM模型

    网上查阅FM模型的资料,大多直接甩给读者式(4)和式(5)来展现FM。但是隐藏在公式后面的FM本质其实是embedding加interaction。其赋予每个输入特征值 xi{x_i}xi一个特征权重向量 vi=[vi,1,vi,2,vi,3,vi,4,vi,5]{v_i} = \left[ {{v_{i,1}},{v_{i,2}},{v_{i,3}},{v_{i,4}},{v_{i,5}}} \right]vi=[vi,1,vi,2,vi,3,vi,4,vi,5] ,将高维稀疏的数据通过embedding层嵌入为低维稠密的特征向量 efieldi=[ei1,ei2,ei3,ei4,ei5]{e_{fiel{d_i}}}=\left[ {{e_{i1}},{e_{i2}},{e_{i3}},{e_{i4}},{e_{i5}}} \right]efieldi=[ei1,ei2,ei3,ei4,ei5],之后模型将嵌入后的隶属于不同领域的特征向量 ei{e_i}ei之间进行内积,从而实现特征交互。

                

图4  xi的嵌入

   通过阅读原文,作者在设计FM算法时本意是将交互因子分解为两个特征向量权重的内积 ,但这却在另一方面引入了embedding思想。可以说FM为后面DL大行其道打通了一条坦途,这应该也是作者始料未及的。

1.4 Field-aware Factorization Machines(FFM)[4]

   FFM是台湾大学的三个学生在Kaggle比赛中提出并使用的一种FM改进版,在Criteo和Avazu的CTR比赛中均取得佳绩。相较于FM,FFM就是把隐向量 vi{v_i}vi变成与其相对应的交互对象 xj{x_j}xjvi,fj{v_{i,{f_j}}}vi,fj,这样就更精细地刻画了特征直接交互的关系,但也极大增加了模型参数的复杂度。
(6)yFFM=ω0+∑i=1nωixi+∑i=1n∑j=i+1n⟨vi,fj⋅vj,fi⟩xixj{y_{FFM}} = {\omega _0} + \sum\limits_{i = 1}^n {{\omega _i}{x_i}} {\rm{ + }}\sum\limits_{i = 1}^n {\sum\limits_{j = i + 1}^n {\langle {v_{i,{f_j}}} \cdot {v_{j,{f_i}}}\rangle {x_i}{x_j}} } \tag{6}yFFM=ω0+i=1nωixi+i=1nj=i+1nvi,fjvj,fixixj(6)

图5  FFM模型

1.5 Field-weighted Factorization Machines(FwFM)[5]

   FFM虽然效果优良,但是成倍的增加了模型参数复杂度,所以需要在预测准确性和模型复杂度上做 trade off。FwFM就是按照这个思路,蕴含FFM精细划分的思想,又在此基础上简化权重数量,引入隶属度关系 r(fi,fj){r_{({f_i},{f_j})}}r(fi,fj)来描述领域 i{i}i 和领域 j{j}j 交互强度,这样就省去了引入多重隐向量来刻画领域间交互信息的FFM方式。
(7)yFwFM=ω0+∑i=1nωixi+∑i=1n∑j=i+1n⟨vi⋅vj⟩xixjr(fi,fj){y_{FwFM}} = {\omega _0} + \sum\limits_{i = 1}^n {{\omega _i}{x_i}} {\rm{ + }}\sum\limits_{i = 1}^n {\sum\limits_{j = i + 1}^n {\langle {v_i} \cdot {v_j}\rangle {x_i}{x_j}} } {r_{({f_i},{f_j})}} \tag{7}yFwFM=ω0+i=1nωixi+i=1nj=i+1nvivjxixjr(fi,fj)(7)

图6  FwFM模型

1.6 Bilinear-FM[6]

  Bilinear-FM也是按照FwFM的思路,增加权重矩阵 WWW来描述领域 i{i}i 和领域 j{j}j 交互关系。
(8)yBiFM=ω0+∑i=1nωixi+∑i=1n∑j=i+1n(viTWvj)xixj{y_{BiFM}} = {\omega _0} + \sum\limits_{i = 1}^n {{\omega _i}{x_i}} {\rm{ + }}\sum\limits_{i = 1}^n {\sum\limits_{j = i + 1}^n {(v_i^TW{v_j}){x_i}{x_j}} }\tag{8} yBiFM=ω0+i=1nωixi+i=1nj=i+1n(viTWvj)xixj(8)
式中权重矩阵WWW 可以有两种类型:1.所有特征共享WWW ;2.一个领域组合一个Wij{W_{ij}}Wij

图7  Bil-FM模型

2.  embedding深度学习思路

  以上主要介绍的是由FM带来的更深一步刻画二阶特征交叉思路所出现的论文,下面介绍由FM的embedding思想所带来的DNN架构模型和算法。有的DNN模型可能不属于FM意义内的范畴,但是其用到的embedding加DNN的非线性特征组合的思想与FM的本质不谋而合。

2.1 Wide&Deep[7]

  Wide&Deep模型是由Google在2016年提出来的,其有两点新意。一是开创embedding在CTR计算广告领域开始正式使用的先河,提出了group-wise embedding的思路(用一组低维稠密向量来表示同一个领域内的输入特征)。二是将浅层线性模型的LR与非线性模型DNN合并起来一起应用。后面出现的DeepFM、DCN与xDeepFM都按照此种预设的代数式结构与黑箱式的非线性DNN双通道并行思路。时至今日,Wide&Deep看起来非常浅显易懂,但是在2016年之前线性模型LR大行其道的时候,能提出这样的非线性模型还是需要相当大的勇气和技术实践的。
(9)yWide=ω0+∑i=1nωixi{y_{Wide}} = {\omega _0} + \sum\limits_{i = 1}^n {{\omega _i}{x_i}} \tag{9} yWide=ω0+i=1nωixi(9)
(10)yDeep=DNN(xembbeding){y_{Deep}}{\rm{ = }}DNN{\rm{(}}{x_{embbeding}}{\rm{)}}\tag{10}yDeep=DNN(xembbeding)(10)
(11)yW&D=sigmod(WWideyWide+WDeepyDeep){y_{W\& D}} = sigmod({W_{Wide}}{y_{Wide}} + {W_{Deep}}{y_{Deep}})\tag{11}yW&D=sigmod(WWideyWide+WDeepyDeep)(11)
  通过表达式(9)-(11)以及图8可知,Wide&Deep模型非常直白,Wide部分为经典的LR,负责模型的记忆功能。Deep部分为传统的前馈DNN,将embedding后的特征向量进行非线性组合,体现了模型的推理功能。最后整个模型输出为Wide和Deep的共同加权值,表达了整个模型集记忆与推理功能融于一身。

图8  Wide&Deep模型

2.2 Factorization Machine supported Neural Network(FNN)[8]

    究竟如何将FM和DNN结合起来,FNN给出了一种较为直接的方式–预训练。为了解决DNN训练时embedding层的权重系数初始化问题,FNN先用FM模型对embedding层进行预训练,然后再用训练好的embedding层来当做DNN的embedding层。模型虽然没有什么理论上创新内容,但是采用预训练的方法进一步揭示了FM算法的本质是一种embedding思想。

图9  FNN模型

2.3 Deep crossing[9]

    Deep crossing是微软于2016年提出的一种利用DNN来预测CTR的模型。其首先将原始数据embedding后,再将向量进行拼接,之后输入到DNN中。Deep crossing中的DNN采用的是残差结构(ResNet),如图10所示。

图10  Deep crossing模型

2.4 Neural Factorization Machines(NFM)[10]

  NFM是新加坡国立大学何向南于2017年提出的一种将FM同DNN串行融合的模型。其前半部分为FM,利用所设计的Bi-interaction Pooling层来对embedding后的向量进行二阶特征交叉,如式(12)所示。再将交叉后的特征输入到DNN中,以获得更高阶的特征组合关系。其实从原文中可以看出,何老师认为FM的本质是就是一种DNN的特殊形式,这种基础模型神经网络化的思想在何老师的协同过滤[11]论文中也有体现。
(12)fBI(Vx)=∑i=1n∑j=i+1n⟨xivi⋅xjvj⟩{f_{BI}}({V_x}) = \sum\limits_{i = 1}^n {\sum\limits_{j = i + 1}^n {\langle {x_i}{v_i} \cdot {x_j}{v_j}\rangle } } \tag{12}fBI(Vx)=i=1nj=i+1nxivixjvj(12)

图11  NFM模型

2.5 Field-aware Neural Factorization Machine(FNFM)[12]

  NFM把FM视为一种特殊形式的DNN,自然而然地会想到能否更进一步在DNN中体现FFM中的field-aware思想,更精细的刻画基于领域信息的二阶特征交互,FNFM既是按照这种思路来实现的模型。如图12所示,FNFM在Bi-Interaction Layer中实现了基于领域信息的二阶特征交叉。

图12  FNFM模型

2.6 Attentional Factorization Machines(AFM)[13]

    在FM中,n个特征向量 xi{x_i}xi共有n(n−1)2{\textstyle{{n(n - 1)} \over 2}}2n(n1)个交叉组合,很明显这 xi{x_i}xi共有n(n−1)2{\textstyle{{n(n - 1)} \over 2}}2n(n1)个特征交互对最后的CTR预估值的影响程度也是不一样的。AFM就是按照这种思路,在二阶特征交互后引入Attention机制,利用Attention网络学习到的权重因子 αij{\alpha _{ij}}αij来更精细的刻画二阶交叉特征的重要程度,如式(13)。
(13)yAFM=∑i=1n∑j=i+1nαij⟨vi⋅vj⟩xixj{y_{AFM}} = \sum\limits_{i = 1}^n {\sum\limits_{j = i + 1}^n {{\alpha _{ij}}\langle {v_i} \cdot {v_j}\rangle {x_i}{x_j}} } \tag{13}yAFM=i=1nj=i+1nαijvivjxixj(13)

图13  AFM模型

2.7 Product-based Neural Networks(PNN)[14]

  在数学上表示两个特征的交互一般都是用乘积来体现。PNN按照NFM式的串行结构,利用所设计的Product-layer层,将embedding向量之间的交互分别用内积或者外积来刻画,然后再将乘积组合后的二阶特征输入到DNN中,如图14所示。

图14  PNN模型

2.8 DeepFM[15]

    DeepFM是在Wide&Deep基础上发展起来的,将Wide&Deep模型中的Wide部分替换为FM,并且使FM与DNN共享embedding输入值,这样就省去了原来Wide中的特征工程部分。由图15可知,DeepFM不同于NFM的串行结构,而将FM与DNN做并行处理,在保留二阶特征组合的架构基础上进一步加上非线性结构,成为Wide&Deep后利用先验代数式的网络架构和非线性DNN结构并行挖掘不同的信息后进行组合的经典模型。

图15  DeepFM模型

2.9 Deep & Cross Network(DCN)[16]

    DCN是在DeepFM基础上进一步升级而来。如图16所示,DCN将DeepFM中的二阶特征组合部分升级为更高阶的代数多项式特征组合。DCN将embedding后所有特征向量拼接成一个一维向量x0{x_0}x0,再将x0{x_0}x0输入到Cross Network中以获得特征的多项式交叉。通过改变Cross Network中的层数,特征交叉的多项式阶数可以人为设定。

图16  DCN模型

  Cross Network单层中的特征高阶组合如式(14)和图17所示

(14)xl+1=x0xlTwl+bl+xl{x_{l + 1}} = {x_0}x_l^T{w_l} + {b_l} + {x_l}\tag{14}xl+1=x0xlTwl+bl+xl(14)

图17  Cross Network特征交叉

2.10 xDeepFM[17]

    xDeepFM可以说是FM的究极进化形式,这种用人工设计的代数式结构网络与传统前馈DNN并行的组合挖掘数据的模型经由Wide&Deep→DeepFM→DCN,最终发展到了xDeepFM。与DCN相比,xDeepFM将embedding后x0{x_0}x0拼接成矩阵形式,在Compressed Interaction Network(CIN)中实现特征向量的向量级别的多项式交叉组合(DCN实现的是特征向量元素级别的多项式交叉组合),可以看出xDeepFM更符合FM的本质(embedding后的特征向量做二阶特征交叉组合)。

图18  xDeepFM模型

    CIN单层中的特征高阶组合如式(15)和图19所示

(15)Xh,∗k=∑i=1Hk−1∑j=1mWijk,h(Xi,∗k−1∘Xj,∗0)X_{h,*}^k = \sum\limits_{i = 1}^{{H_{k - 1}}} {\sum\limits_{j = 1}^m {W_{ij}^{k,h}\left( {X_{i,*}^{k - 1} \circ X_{j,*}^0} \right)} } \tag{15}Xh,k=i=1Hk1j=1mWijk,h(Xi,k1Xj,0)(15)

图19  CIN特征交叉

3.   其他FM模型

    还有一些FM模型涌现出来,主要是在实际应用等方面进行各种优化改进,见表1。

写在结尾的话

    本文总结了大约20多个有关FM的模型,从中可以发现出一些规律。将FM与DNN结合主要有两种方式,一种就是FM与DNN串行组合,浅层特征交叉完成后直接喂给DNN(如FNN、NFM、FNFM、AFM与PNN)。另一种就是FM与DNN并行组合,将预先设计的多项式交叉特征与高阶特征拼接在一起作为最后的结果输出(如DeepFM、DCN与xDeepFM)。FM模型的多项式特征组合与embedding思想给后世的CTR模型带来深远影响,指明了后LR(海量人工特征加浅层线性模型)时代CTR模型发展的新方向。

参考文献

[1]  Richardson M, Dominowska E, Ragno R. Predicting clicks: estimating the click-through rate for new ads[C]. Proceedings of the 16th international conference on World Wide Web. ACM, 2007: 521-530.
[2]  Chang Y W, Hsieh C J, Chang K W, et al. Training and testing low-degree polynomial data mappings via linear SVM[J]. Journal of Machine Learning Research, 2010, 11(Apr): 1471-1490.
[3]  Rendle S. Factorization machines[C].2010 IEEE International Conference on Data Mining. IEEE, 2010: 995-1000.
[4]  Juan Y, Zhuang Y, Chin W S, et al. Field-aware factorization machines for CTR prediction[C].Proceedings of the 10th ACM Conference on Recommender Systems. ACM, 2016: 43-50.
[5]  Pan J, Xu J, Ruiz A L, et al. Field-weighted factorization machines for click-through rate prediction in display advertising[C].Proceedings of the 2018 World Wide Web Conference on World Wide Web. International World Wide Web Conferences Steering Committee, 2018: 1349-1357.
[6]  https://www.infoq.cn/article/vKoKh_ZDXcWRh8fLSsRp
[7]  Cheng H T, Koc L, Harmsen J, et al. Wide & deep learning for recommender systems[C]. Proceedings of the 1st workshop on deep learning for recommender systems. ACM, 2016: 7-10.
[8]  Zhang W, Du T, Wang J. Deep learning over multi-field categorical data[C].European conference on information retrieval. Springer, Cham, 2016: 45-57.
[9]  Shan Y, Hoens T R, Jiao J, et al. Deep crossing: Web-scale modeling without manually crafted combinatorial features[C].Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. ACM, 2016: 255-262.
[10]  He X, Chua T S. Neural factorization machines for sparse predictive analytics[C].Proceedings of the 40th International ACM SIGIR conference on Research and Development in Information Retrieval. ACM, 2017: 355-364.
[11]  He X, Liao L, Zhang H, et al. Neural collaborative filtering[C].Proceedings of the 26th International Conference on World Wide Web. International World Wide Web Conferences Steering Committee, 2017: 173-182.
[12]  Zhang L, Shen W, Li S, et al. Field-aware Neural Factorization Machine for Click-Through Rate Prediction[J]. arXiv preprint arXiv:1902.09096, 2019.
[13]  Xiao J, Ye H, He X, et al. Attentional factorization machines: Learning the weight of feature interactions via attention networks[J]. arXiv preprint arXiv:1708.04617, 2017.
[14]  Qu Y, Cai H, Ren K, et al. Product-based neural networks for user response prediction[C].2016 IEEE 16th International Conference on Data Mining (ICDM). IEEE, 2016: 1149-1154.
[15]  Guo H, Tang R, Ye Y, et al. DeepFM: a factorization-machine based neural network for CTR prediction[J]. arXiv preprint arXiv:1703.04247, 2017.
[16]  Wang R, Fu B, Fu G, et al. Deep & cross network for ad click predictions[C].Proceedings of the ADKDD’17. ACM, 2017: 12.
[17]  Lian J, Zhou X, Zhang F, et al. xDeepFM: Combining explicit and implicit feature interactions for recommender systems[C].Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. ACM, 2018: 1754-1763.
[18]  Liu H, He X, Feng F, et al. Discrete factorization machines for fast feature-based recommendation[J]. arXiv preprint arXiv:1805.02232, 2018.
[19]  Blondel M, Fujino A, Ueda N, et al. Higher-order factorization machines[C].Advances in Neural Information Processing Systems. 2016: 3351-3359.
[20]  Punjabi S, Bhatt P. Robust factorization machines for user response prediction[C].Proceedings of the 2018 World Wide Web Conference on World Wide Web. International World Wide Web Conferences Steering Committee, 2018: 669-678.
[21]  Ma C, Liao Y, Wang Y, et al. F2M: Scalable Field-Aware Factorization Machines[J]. Proc. of the MLSys on NIPS, 2016.
[22]   Li M, Liu Z, Smola A J, et al. Difacto: Distributed factorization machines[C].Proceedings of the Ninth ACM International Conference on Web Search and Data Mining. ACM, 2016: 377-386.
[23]  Luo L, Zhang W, Zhang Z, et al. Sketched follow-the-regularized-leader for online factorization machine[C].Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. ACM, 2018: 1900-1909.

因子分解机(FM)家族相关推荐

  1. 保持函数依赖的模式分解可以减轻或解决什么_推荐系统玩家 之 因子分解机FM(Factorization Machines)...

    前言 因子分解机 (Factorization Machines) 是CTR预估的重要模型之一.自2010年被提出后,得到了大规模的应该,也是美团和头条做推荐和CTR预估的方法之一.要讲述因子分解机F ...

  2. 推荐系统入门(三):矩阵分解MF因子分解机FM(附代码)

    推荐系统入门(三):矩阵分解MF&因子分解机FM(附代码) 目录 推荐系统入门(三):矩阵分解MF&因子分解机FM(附代码) 一. 矩阵分解MF 1. 隐含语义分析技术 1.1 隐语义 ...

  3. 【机器学习】因子分解机(FM) 原理及在召回中的应用(python实现)

    FM 原理及在召回中的应用(python实现) 1. 综述 为了学习推荐系统的召回模型,首先梳理了一下FM模型,权当是学习笔记,记录一下. FM(factor Machine,因子分解机)算法是一种基 ...

  4. 6、因子分解机FM介绍

    前言 在进行CTR(click through rate)预估时,除了单个特征外,通常要进行特征组合,FM算法是进行特征组合时的常见算法. 因子分解机(Factorization Machine),是 ...

  5. 因子分解机FM算法(Factorization Machine)

    背景 数据输入 以一个广告分类的问题为例,根据用户画像.广告位以及一些其他的特征,来预测用户是否会点击广告(二分类问题).数据如下: Clicked Country Sex Ad_type 1 USA ...

  6. TransFM:基于因子分解机的序列推荐方法

    ▌概述 今天解读的论文是由 Rajiv Pasricha 和 Julian McAuley 两位大佬提出的发表在 RecSys18 上的,是 TransRec 和 FM 的结合版本.论文下载地址: h ...

  7. 《推荐系统笔记(七)》因子分解机(FM)和它的推广(FFM、DeepFM)

    b### 前言 不同于线性模型只能从利用数据的一阶特征,FM可以通过特征组合,利用数据的二阶甚至更高阶的特征,从而更好的完成回归或者分类任务. 下面,我们将分别介绍因子分解机(FM).FFM以及Dee ...

  8. FM算法详解(因子分解机)

    1. 什么是FM? FM即Factor Machine,因子分解机. 任意的 N×N 实对称矩阵都有 N 个线性无关的特征向量.并且这些特征向量都可以正交单位化而得到一组正交且模为 1 的向量.故实对 ...

  9. 【机器学习】因子分解机(Factorization Machine)原理与java实现

    [机器学习]因子分解机(Factorization Machine)原理与java实现 1.因子分解机原理 1.1.分离超平面 1.2.阈值函数 1.3.样本概率 1.4.损失函数 1.5.随机梯度下 ...

最新文章

  1. Shell-/bin/bash和/bin/sh解释器的误用引起的脚本语法错误
  2. rust(60)-opencv(1)
  3. 【PHP】伪静态 - 1. 使用正则表达式实现
  4. .pfx 证书和 .cer 证书
  5. 计算机专业学术论文精选,计算机科学与技术专业本科生毕业论文精选.doc
  6. py2exe打包pyqt程序
  7. 微信超赞新功能上线,终于知道钱花哪儿了
  8. 计算机网络实训室建设设备,计算机网络技术综合实训室建设方案.doc
  9. Go接口(Interface)的使用方法
  10. 入门python之前,应该先了解这些
  11. css实现时间数字特效字体格式
  12. Matlab R2018b简体中文版完整安装图文教程(附安装包下载)
  13. 如何使用 ELEMENTOR
  14. 社交网络时代下的网络营销
  15. matlab scatter3点颜色,使用for循环MATLAB时,scatter3中的系列颜色与Legend不匹配
  16. 使用python将pdf转化为长图片
  17. 拉曼光谱避免荧光效应的方法
  18. css打印适应纸张_CSS print 样式 css控制打印样式 分页 页面大小
  19. Delphi-UpperCase 函数
  20. 设置长方体的长宽高;求长方体的体积和底面积

热门文章

  1. oracle异构迁移mysql方案实施(含原理)——已迁移成功
  2. 会签是什么,何时使用会签,如何设计使用会签
  3. Tiny语言编译器简单介绍
  4. 技术管理如何做?管理者应具备哪些能力?
  5. 【MySQL】java编程器宣传费湖南岚鸿驱动
  6. 【无标题】灵遁者相观天下,相学培训书籍
  7. 社群运营 ≠ 微信客服
  8. 计算机中各成绩所占成绩的比例计算方法,考研总成绩的计算方法和各科分数的比例占多少?...
  9. 在VB环境中操作三维模型的实现方法
  10. iOS App审核遇到的问题(持续更新)