Higher-Order Factorization Machines

本文提出了一种新的算法,用于训练任意阶的高阶因式分解机(HOFMs),解决了以往算法在高阶训练上的效率问题。通过动态规划和线性时间随机梯度算法,实现了在大规模稀疏数据上的高效学习。HOFMs在保留良好可解释性的同时,显著减少了模型大小和预测时间,适用于高维数据的分类和回归任务。
摘要由CSDN通过智能技术生成

摘要

因式分解机(FMs)是一种有监督的学习方法,即使数据是高维的,也可以使用二阶特征组合。
在本文中,我们提出了第一个训练任意阶HOFMs的通用而有效的算法。我们还提出了具有共享参数的HOFMs的新变种,这大大减少了模型大小和预测时间,同时保持相似的精度。我们在四个不同的链路预测任务上演示所建议的方法。

1介绍

FMs的核心思想是利用低秩矩阵对特征组合的权值进行建模。
好处:
首先,FMs可以达到与多项式回归或核方法相当的经验精度,但对模型的评估更小、更快
其次,FMs可以推断出训练集中未观察到的特征组合的权重。(在推荐系统中很重要)
如果没有low-rank属性,FMs将无法泛化到看不见的用户-项目交互。

HOFM目前为止没有训练任意阶的有效算法
缺点:
模型参数的计算预测会在特征数量花费多项式时间;
在最初的定义中,用不同的矩阵对多项式展开中的每一阶进行建模,因此需要估计大量的参数

本文中,我们依赖于FMs和所谓的方差分析(ANOVA)内核之间的联系。我们提出了线性时间动态规划算法来评估方差分析核和计算其梯度。在此基础上,我们提出了随机梯度和坐标下降算法来求解任意阶HOFMs。为了减少参数的数量和预测时间,我们还引入了两个来自方差分析核的新核,允许我们定义具有共享参数的HOFMs的新变量。

2分解机器(FMs)

二阶FMs

因式分解机(FMs)可以有效地在分类或回归任务中使用二阶特征组合,即使数据是非常高维的。设w∈Rd, P∈Rd×k,其中k∈N是秩超参数。用·pj表示P的行,ps表示列,j∈[d]和s∈[k], [d]:={1,…d}。然后,FMs从向量x = [x1,…,xd]T中预测输出y∈R。( := 定义为
在这里插入图片描述
(1)的一个重要特征是它只考虑不同特征的组合(即特征的平方x21,……, x2d被忽略)。与朴素多项式回归相比,FMs的主要优点是要估计的参数数是O(dk)而不是O(d2)。此外,我们可以用O(2dk)时间计算预测
在这里插入图片描述
表示元素的乘积。训练集X = [x1,…,xn]∈Rd×n且y = [y1,…,yn]T∈Rn,w和P可以通过最小化下面的非凸目标来学习
在这里插入图片描述
在这里插入图片描述是凸损失函数,β1 > 0, β2 > 0是超参数。流行的libfm库实现了有效的随机梯度和坐标下降算法来获得一个(2)的平稳点。这两种算法的运行时间复杂度都是O(2dkn) / epoch。

高阶FMs (HOFMs)

P(t)∈Rd×kt,t∈{2,…, m}考虑特征组合的序或度,且kt∈N是秩超参数。`p(t)j是p(t)的第j行。那么m阶HOFMs可以定义为
在这里插入图片描述
在这里插入图片描述
(元素乘积的和)
HOFMs的目标函数可以用与(2)类似的方式表示:
在这里插入图片描述
β1,…, βm > 0为超参数。为了避免超参数组合搜索的组合爆炸,在我们的实验中我们将简单地设置β1 =···= βm和k2 =···= km。虽然(3)看起来相当令人生畏,但[4]最近表明,FMs可以从更简单的内核角度表达。定义2≤m≤d阶的ANOVA核
在这里插入图片描述
为了以后方便起见,我们还定义A0(p, x):= 1和A1(p, x):= <p, x>。然后证明
在这里插入图片描述
其中ps(t)是P(t)的第s列。这一观点表明,我们可以将FMs和HOFMs视为一种内核机器,其“支持向量”直接从数据中学习。直观地,方差分析(ANOVA)核可以被认为是一种多项式核,它使用不替换的特征组合(即不同特征)。方差分析(ANOVA)核的一个关键性质是多重线性[4]:
在这里插入图片描述
其中,在这里插入图片描述p-j表示(d-1)维向量去掉pj,x-j也是如此。也就是说,在其他条件不变的情况下,Am(p, x)是pj ∀j∈[d]的仿射函数。(4)基于(7)显示,尽管非凸,但任意阶HOFMs的目标函数在w和P(2),……,P(m)的每一行分别都是凸的。

HOFMs的可解释性

FMs和HOFMs的一个优点是它们的可解释性。为什么会这样,注意我们可以把(3)改写成
在这里插入图片描述
在这里插入图片描述
直观地说,W(t)∈Rdt是一个低秩t-way张量,它包含t次特征组合的权值。例如,当t = 3时,W(3)i,j,k是xixjxk的权值。类似于函数的方差分析(ANOVA)分解,HOFMs只考虑不同特征的组合(即xj1 xj2…xjm for jm >··> j2 > j1)。

本文

计算(5)需要O(dm),即多项式时间。下面,我们介绍线性时间算法。此外,HOFMs,如[13,14]最初定义的,需要估计m-1矩阵P(2),……,P(m)。因此,当m很大时,HOFMs可以生产大模型。为了解决这个问题,我们提出了具有共享参数的HOFMs的新变体。

3HOFMs的线性时间随机梯度算法

dynamic programming (DP) :动态规划
在第2节中展示的内核视图允许我们将重点放在方差分析内核上训练HOFMs的“计算单元”。在本节中,我们开发动态规划(DP)算法来评估方差分析内核并仅在O(dm)时间内计算其梯度。

评估

主要的观察(参见[18,9.2节])是,我们可以使用(7)递归地删除特性,直到计算内核变得非常简单。让我们用p1:j∈Rj表示p的子向量,对于x也一样。让我们引入简写aj,t:= At(p1:j, x1:j)。然后,从(7),
在这里插入图片描述
为了方便起见,我们还定义aj,0 = 1 ∀j≥0,因为A0(p, x) = 1和aj,t = 0 ∀j < t,因为在j < t维向量中不存在任何 t 特征组合。
我们要计算的量是Am(p, x) = ad,m。我们使用自底向上的方法,并在DP表中组织计算,而不是简单地使用递归(8),这会导致许多冗余计算。我们从左上角开始初始化递归,并遍历表以到达右下角的解决方案。这个过程,在算法1中总结,需要O(dm)的时间和内存。
在这里插入图片描述

梯度

为了计算Am(p, x) 关于p的梯度,我们采用了反向模式微分法(在神经网络环境中也称为反向传播),因为它允许我们在一次传递中计算整个梯度。我们用一个所谓的伴随项来补充DP表中的每个变量aj,t在这里插入图片描述,表示ad,m = Am(p, x) 关于aj,t的灵敏度。从递归(8)中,除了边界情况,aj,t影响aj+1,t+1和aj+1,t。利用链式法则,我们得到
在这里插入图片描述
类似地,我们引入伴随函数在这里插入图片描述由于pj影响aj,t ∀t∈[m],我们有在这里插入图片描述
我们可以从在这里插入图片描述开始,按照DP表的相反顺序执行递归(9)。利用该方法,我们可以在O(dm)时间和内存内计算关于p的整个梯度∇Am(p, x) = [rd - p1,…], p ~ d]T w.r.t. p in O(dm) time and memory
。程序总结在算法2中。
在这里插入图片描述

随机梯度(SG)算法

基于算法1和算法2,我们可以很容易地使用基于梯度的优化算法学习任意阶HOFMs。这里我们主要讨论SG算法。如果我们交替地最小化关于P(2),…,P(m),那么与m次相关的子问题是这样的
在这里插入图片描述
其中o1,…,on∈R是固定的偏移量,它解释了除m以外的度数对预测的贡献。这个子问题在P的每一行都是凸的。对于(10)里的关于某些实例xi的ps的SG更新可以通过在这里插入图片描述来计算,其中η为学习速率,我们定义
在这里插入图片描述
。因为计算Am(p, x)和计算其梯度都需要O(dm),所以每个epoch,即访问所有实例的代价为
O (mdkn)。当m = 2时,这与libfm中实现的SG算法的代价相同。

稀疏数据

让我们用
在这里插入图片描述
表示支持向量
在这里插入图片描述
定义,
在这里插入图片描述
由(7)可以看出,梯度与x有相同的支持,即
在这里插入图片描述
另一个有用的说明是
在这里插入图片描述
条件是m≤nz(x),其中nz(x)是x中非零元素的个数。
因此,当数据是稀疏的时,我们只需要迭代算法1和算法2中的非零特征。因此,它们的时间和内存开销仅为O(nz(x)m),因此SG算法的每epoch开销为O (mknz(X))。

4任意阶HOFMs的坐标下降算法

我们现在描述任意阶HOFMs的坐标下降(CD)求解器。CD是学习HOFMs的一个很好的选择,因为它们的目标函数是坐标态凸的,这要感谢方差分析核[4]的多重线性。我们的算法可以看作是对[14,4]中提出的CD算法的更高阶的推广。

另一种递归

高效的CD实现通常需要维护每个训练实例的统计信息,比如当前迭代的预测。当坐标更新时,统计数据需要同步。不幸的是,我们在上一节中使用的递归不适合CD算法,因为它需要在坐标更新时存储和同步每个训练实例的DP表。因此,我们转向另一种递归:
在这里插入图片描述
我们定义
在这里插入图片描述
请注意,递归在传统的内核方法(c.f.,[19,第11.8节])中已经为人所知,但它在HOFMs中的应用是新颖的。
因为我们知道A0(p, x) = 1, A1(p, x) = hp, xi,我们可以用(11)计算A2(p, x),然后A3(p, x),以此类推。任意m∈N的总评价代价为O(md + m2)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值