一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于因子分解机的多任务时序推荐方法与流程

2022-04-06 18:05:01 来源:中国专利 TAG:


1.本发明属于时间序列推荐技术领域,具体涉及基于因子分解机的多任务时序推荐方法。


背景技术:

2.因子分解机(factorization machine)
1.是推荐领域中最为经典的推荐方法,由steffen rendle于2010年提出,解决了大规模稀疏数据的特征组合问题,相较于传统的线性回归(lr)和svm类
2.算法,其推荐效果有显著提升。为了更好地捕捉特征之间的交互,因子分解机衍生处理许多变体,比如nfm
3.、deepfm
4.、xdeepfm
5.等。
3.然而现实应用场景中随着电商行业、音乐娱乐的兴起,用户行为的时序性日趋重要,因此,时序推荐近年来引起业界内外广泛关注,其核心问题是围绕用户行为的时序性进行推荐模型的设计。传统因子分解机以及其对应深度和宽度扩展的方法都没有考虑时序信息,同时,现有的大多数序列推荐算法都将重点放在顺序动作之间的传递结构以及历史事件对当前预测的影响上,比如arma
6.、rnn
7.、gru
8.等经典模型,很大程度上会忽略用户固定的上下文信息、这些信息之间的特征交互以及这些信息和时间特征之间的交互,并且长序列的特征传递需要较大的数据存储空间并造成大规模的计算量。


技术实现要素:

4.本发明的目的在于提供一种计算量小、推荐效果好的基于因子分解机的时间序列推荐方法。
5.本发明提出的基于因子分解机的时间序列推荐方法,将原始因子分解机模型
1.的一阶、二阶交互和时序模型
9.相结合,一方面能够学习非时序性特征的上下文信息,另一方面能够学习时间序列所蕴含的时序信息,同时又能够将两部分信息结合进一步学习以提升推荐效果,从广度和深度的多维角度解决原始因子分解机在时序推荐上表现欠佳的问题。具体步骤如下。
6.步骤1:将原始数据整理并拆分为用户非时序的静态上下文和历史时间序列信息,在此基础上生成用户-物品矩阵;其中,将用户输入特征分为用户静态特征和用户时序特征两部分:[s1,s2,...,sn,d1,d2,...,dm,target];
[0007]
其中,s为英文static的首字母,总共有n维,表示非时序特征,d为英文dynamic的首字母,代表时序特征,总共有m维,target表示目标物品。
[0008]
步骤2:根据步骤1中的用户-物品矩阵按照cosine(余弦)相似性对步骤1中分割出的时间序列进行重要性筛选,在有限的时序输入长度内保留最相关的时间序列:
[0009]
[0010]
式中,sim为相似性函数,i为物品,i1,i2表示两种物品,r表示评分,分别为用户a,用户b对某个物品i的评分。
[0011]
步骤3:对非时序特征和筛选过后的时序特征进行二维特征嵌入:
[0012]estatic
=embedding(d
feature
,d
embedding
)
[0013][0014][0015]
其中,e
static
为非时序特征embedding的结果,d
feature
表示需要embedding的特征维度,d
embedding
表示最终需要得到的embedding结果的维度,f为英文feature的首字母,表示特征,θ为embedding过程中的超参,wi为模型需要学习一阶参数,vi为模型需要学习的二阶参数。
[0016]
步骤4:对于非时序的嵌入结果采用因子分解机进行一阶、二阶特征交互:
[0017][0018]
其中f,同上为输入的特征,w为线性部分权重,w0为全局权重,公式中的n表示输入的特征数,k表示隐向量v的维度,在因子分解机中用于得到二阶交互,为非时序特征fi的预测结果。
[0019]
步骤5:对于时序特征进行一维嵌入:
[0020]etime
=embedding(d
feature
,d
embedding
)
[0021][0022]
其中,e
time
,表示时序特征embedding的结果,和步骤3中类似,d
feature
和d
embedding
分别表示需要embedding的特征维度和最终需要得到的embedding结果的维度,θ为embedding的超参,t表示时序特征,u为模型需要学习的参数。
[0023]
步骤6:使用自注意力机制提取时序各嵌入项的权重,之后推入因子分解机进行交互:
[0024][0025][0026]
其中,t为attention权重,k,q,v分别为自注意力机制中的参数,wq、wk、wv为q,k,v的线性变换参数,dk表示k的维度,最后为ti时刻的预测结果。
[0027]
步骤7:将非时序和时序特征的嵌入进行拼接,用自注意力机制和因子分解机获取两者的结合特征:
[0028]ecross
=[e
static
,e
time
]
[0029][0030][0031]
同步骤6,c为自注意力学习到的权重,为交叉特征c的预测结果。
[0032]
步骤8:对步骤4、步骤6、步骤7的结果采用线性层进行整合,最后得到预测结果:
[0033][0034]
其中,分别表示步骤4、步骤6、步骤7的和
[0035]
步骤9:对于步骤4、步骤6、步骤7、步骤8的结果与目标结果进行比较,介入辅助损失提升训练效果和效率:
[0036][0037][0038][0039][0040]
其中,w1,w2,w3分别为模型需要更新的各部分损失loss1,loss2,loss3的权重,最终的损失为loss。
[0041]
步骤10:根据步骤9中的损失更新模型超参,不断训练,最后达到训练收敛条件,结束训练保存模型。
[0042]
步骤11:对于新数据,用步骤1的数理方法得到模型的输入和用户-物品矩阵输入到加载的步骤10里保存的模型中,对得到的结果进行排序得到推荐结果。
[0043]
本发明采用和多任务学习相似的框架结构,将用户交互时序特征和非时序特征分开学习,避免了时序推荐中常见的噪声问题,同时又通过中间交叉层的学习有效避免了交互信息的丢失。再有,本发明基于因子分解机,充分利用因子分解机的优点,能够融入数据中的上下文特征,提升了推荐结果的准确性,并解决了推荐系统中常见的数据稀疏性问题。同时在训练过程中,本发明巧妙使用自注意力机制获取时序数据的重要性,进一步提升了时序推荐的效果。最后,本发明的并行结构能够并行学习时序、非时序以及交叉特征,在时序推荐上有很高的效率。
附图说明
[0044]
图1为本发明方法框图。
[0045]
图2为本发明中模型架构图。
[0046]
图3为本发明中辅助损失示意图。
[0047]
图4为本发明方法流程图示。
具体实施方式
[0048]
下面结合附图和发明内容对本发明的方法做进一步说明。
[0049]
由于推荐涉及到不同的任务,具体的数据处理方法不尽相同,这里首先说明两种情况(rank和regression)下的数据输入格式:
[0050]
格式1:对于rank任务,数据自带评分所以只需要对数据进行筛选,排除掉历史交互数过少的用户:
[0051]
[s1,s2,...,sn,d1,d2,...,dm,target]
[0052]
格式2:对于regression任务,数据没有label列,通过随机负采样n个样本,将正例本身和n个负样本绑定作为输入的最小单元:
[0053]
[[s1,s2,...,sn,d1,d2,...,dm,positivetarget],
[0054]
[s1,s2,...,sn,d1,d2,...,dm,negtivetarget1],
[0055]
[s1,s2,...,sn,d1,d2,...,dm,negtivetarget2],
[0056]

[0057]
[s1,s2,...,sn,d1,d2,...,dm,negtivetargetn]]
[0058]
输入数据按照规定的格式生成之后,步骤1中的原始数据拆分,分为非时序特征和时序特征;
[0059]
在生成输入数据的同时可以得到步骤2中需要得到用户-物品矩阵,然后根据cosine相似性在所有时间序列中选出和用户当前时间所对应的物品最相似的若干个物品;
[0060]
接下来是模型训练部分,本发明模型架构参见图2所示,图中展示了模型的框架个实现细节。模型架构中,包括非时序特征学习、时序特征学习、交叉学习单元;其中,非时序特征学习部分对于非时序输入embedding之后的结果采用因子分解机中的交互方法得到非时序特征的结果(即图的最左边部分);时序特征学习部分对于时序特征embedding后的结果通过自注意力机制学习到注意力权重,然后进一步输入因子分解机进行二阶交互学习,得到时序部分的预测结果(即图的最右边部分);交叉学习单元将时序特征和非时序特征拼接之后先后输入自注意力机制和二阶因子分解机得到交叉学习预测结果(即图的中间部分);最后一层整合三部分结果得到最终的综合预测结果。
[0061]
所以在训练过程中,对于步骤3中的非时序嵌入,这里和常规因子分解机的one-hot热编码输入不同,将embedding之后的结果看成是权重,一阶交互使用一阶embedding,维度为n,二阶交互使用二阶embedding,维度为n*k(k的选择需要能够挖掘尽可能多的的二阶交互特征信息,同时又能保证模型较强的泛化能力)。
[0062]
由于在one-hot中只需要将值为1的输入与权重进行计算,步骤4只需要从embedding结果中提取出对应位置的权重进行计算即可,进一步简化了计算过程,提升模型效率,得到第一个任务的预测结果y1。
[0063]
步骤5对时序数据进行二维embedding,将得到的embedding结果和步骤3中的embedding进行连接,分别先后输入到各自任务的self-attention层和因子分解机层中,得到第二、三个任务的预测结果y2、y3。
[0064]
模型的最后一层为线性整合层,为了进一步提升训练结果和速度,在线性整合层中加入辅助损失,通过回归得到y1、y2、y3的综合结果y。
[0065]
模型达到训练结束条件之后会保存模型,对于新的用户数据,进行和步骤1、步骤2一样的数据处理之后,加载模型,得到物品的推荐结果,选取topn进行推荐。
[0066]
参考文献:
[0067]
[1]rendle s.factorization machines[c].2010ieee international conference on data mining.ieee,2010:995-1000.
[0068]
[2]zhang,hao,et al.svm-knn:discriminative nearest neighbor classification for visual category recognition[c].2006ieee computer society conference on computer vision and pattern recognition(cvpr'06).ieee,2006(2):2126-2136.
[0069]
[3]he,xiangnan,and tat-seng chua.neural factorization machines for sparse predictive analytics[c].proceedings of the 40th international acm sigir conference on research and development in information retrieval.2017:(355-364).
[0070]
[4]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.
[0071]
[5]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.2018:1754-1763.
[0072]
[6]benjamin,michael a.,robert a.rigby,and d.mikis stasinopoulos.generalized autoregressive moving average models[j].journal of the american statistical association 98.461(2003):214-223.
[0073]
[7]zaremba,wojciech,ilya sutskever,and oriol vinyals.recurrent neural network regularization[j].arxiv preprint arxiv:1409.2329(2014).
[0074]
[8]dey,rahul,and fathi m.salem.gate-variants of gated recurrent unit(gru)neural networks[c].2017 ieee 60th international midwest symposium on circuits and systems(mwscas).ieee,2017.
[0075]
[9]wang s,hu l,wang y,et al.sequential recommender systems:challenges,progress and prospects[j].arxiv preprint arxiv:2001.04830,2019。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献