一种基于嵌入式特征选择的冷启动项目推荐方法与流程

文档序号:18217741发布日期:2019-07-19 22:46阅读:222来源:国知局
一种基于嵌入式特征选择的冷启动项目推荐方法与流程
本发明属于智能推荐领域,具体涉及一种基于嵌入式特征选择的冷启动项目推荐方法。
背景技术
:在线电子商务的快速增长和产品的急剧增长要求系统能够有效地帮助客户识别最符合其个人偏好的产品。top-n推荐系统通过为用户提供排好序的物品列表来填补这一空白。由于在许多真实世界场景中,top-n推荐具有很强的实用性,因此,在过去的几十年中,各种努力都在致力于提供top-n推荐。传统的top-n推荐通过用户喜欢物品的历史信息来确定要被推荐物品的集合。然而,在许多推荐应用中,最近添加了一些新物品,系统没有这些物品的相关历史信息。推荐新物品被称为冷启动推荐,这个问题对很多的top-n推荐方法提出挑战。现在,由于新物品以前所未有的速度不断出现,冷启动问题变得更加严重。对于解决物品冷启动top-n推荐的问题,与物品相关的附加信息(称为辅助信息)被广泛使用。典型的辅助信息包括在电影推荐中的电影描述,在工作匹配中求职者的简历,在垃圾电子邮件检测中邮件的内容,网上购物中产品的评论等等。在大数据时代,辅助信息一般都是高维度的。例如,与物品相关的常见类型的辅助信息是文本描述,如果将语料库中的每个不同的术语视为特征的一个维度,其显然是高维度的。在更广泛的应用场景中,辅助信息也可以是图像形式甚至是视频,在这种情况下,维度会更高。在使用高维辅助信息的过程中,一个关键问题变得突出,其被称为维数诅咒,即(1)数据在高维特征空间中变得稀疏并且质量很差;(2)针对低维空间设计的算法被广泛观察到负面影响。由于具有大量特征,模型学习倾向于过拟合,这可能会降低未出现在数据集中的数据对物品偏好的影响;(3)同时,高维数据显著增加了数据处理时占用的内存和计算成本。显然,现有方法要把注意力放在高维辅助信息上,但是已有的利用现有辅助信息来推荐top-n个新物品的方法对于这一方面却考虑的很少。并且,通过观察用户偏好与特征之间的差异,可以知道为所有用户进行全局特征选择,对于top-n推荐效果来说都是不令人满意的,因为top-n推荐的性能在很大程度上依赖于个性化程度。由此,提出一种专门为每个用户选择特征,而不是选择一组所有用户通用的特征,且能够综合考虑个性化特征权重和共同特征权重的特征选取方法,是较好地解决上述问题的一个基础。在现有的研究中,a.elbadrawy在文章《user-specificfeaturebasedsimilaritymodelsfortop-nrecommendationofnewitems》中谈到个性化特征权重(pfw)的制定,它通过为每个用户学习一组单独的特征权重来实现个性化。但是,由于pfw分别为每个用户学习特征权重,因此无法保证协同过滤的有效性。于是,a.elbadrawy提出了基于特征的用户特征相似度模型(ufsm)来克服pfw的缺点。ufsm通过估计多组全局特征权重来保证协同过滤的有效性。但是,ufsm独立地衡量每个特征的权重,忽视了不同特征之间的相互作用。因此,m.sharma在《featurebasedfactorizedbilinearsimilaritymodelforcold-starttop-nitemrecommendation》中进一步研究基于特征的分解双线性相似性模型(fbsm),该模型学习了分解双线性相似性模型以捕获不同特征之间的相互作用。虽然这些可以保证state-of-the-arttop-n新物品推荐方法的高性能,但是当辅助信息是高维的时,这些方法的性能会急剧下降。除了专门针对top-n推荐进行优化的方法之外,还有几种方法利用辅助信息来解决新物品推荐的问题。大多数情况下,这些方法通过将物品特征作为输入来构建回归模型。l.zhang在《generalizingmatrixfactorizationthroughflexibleregressionpriors》提出的基于回归的潜在因子模型(rlfm)可以同时学习用户潜在因子和映射函数,映射函数用于将物品特征转换为潜在物品因子。特征选择通常是许多高维数据任务的主要组成部分。已经提出的各种特征选择方法,其大致可以分为三种不同类型,即滤波方法、包装方法和嵌入方法。滤波方法在不涉及任何学习算法的情况下评估特征。包装方法需要用到学习算法并使用其性能来评估特征的好坏。嵌入方法将特征选择作为学习过程的一部分,使用模型学习到的目标函数来指导相关特征的搜索。对于不同的特征选择方法,具体内容可参考g.chandrashekar的《asurveyonfeatureselectionmethods》和j.li,k的《featureselection:adataperspective》。技术实现要素:本发明的目的在于提供一种基于嵌入式特征选择的冷启动项目推荐方法,用于对冷启动项目为用户提供更有针对性的推荐。基于上述目的本发明提供的一种基于嵌入式特征选择的冷启动项目推荐方法,包括以下步骤:获取用户集u、项目集i和特征集f;根据用户对项目的行为交互生成用户项目交互矩阵r;根据项目的高维辅助信息生成项目特征矩阵fa;建立用户项目的评级预测模型和基于嵌入式特征选择的用户项目预测的优化模型;利用监督学习的方法,对所述的优化模型进行参数优化;将优化后的参数带入所述的评级预测模型中,计算项目的预测评级分数;根据所述的预测评级分数对用户进行项目推荐。所述的用户项目预测的优化模型中的损失函数包括,评级预测任务的损失和特征选择的稀疏正则化惩罚两部分,所述的预测任务的损失用于描述预测结果与实际结果之间的差异性,所述的特征选择的稀疏正则化惩罚用于防止模型优化过程中过拟合。所述的用户项目预测的优化模型为:使得:w=[w1,…wm]其中,m是用户数量,n是项目数量,d是特征数量,rui是用户u对项目i给出的评级;是用户u对项目i的预测评级,w是大小为d×m的特征权重矩阵,w1,…,wm是w的各个列,wu是w的第u列,表示用户u特征权重;给定矩阵x,xij表示第i行和第j列的项目,使用xi,xj作为x的第i行和第j列,注意xi和xj都是列向量,其对应的运算符分别表示为||x||1=∑i|xi|,||x||2=(∑ix2)1/2,||x||2,1=∑i||xi||2。所述的用户项目的评级预测模型为:其中,sij是项目i和j之间的相似性,r+u代表用户u评定的一组项目,j∈r+u\{i}表示,预测某一用户对某一项目评级时,不使用该用户对该项目已有的评级信息rui;所述的sij的计算方法为:其中,wu是w的第u列,表示用户u特征权重,fi是fa的第i列,代表项目i的特征向量,ο代表两个向量或两个矩阵的乘积。由此,所述的参数优化包括利用随机梯度下降来优化wu,进而获得优化后的特征权重矩阵w,wu的迭代更新式为:其中,η是学习率,所述的利用随机梯度下降来优化wu,获得特征权重矩阵w,包括以下步骤:对w进行初始化赋值;对每一个用户计算迭代更新wu:若达到迭代最大次数或误差达到预设值时停止迭代;输出迭代优化后的w。进一步的,还包括对优化后的用户项目的预测模型进行评估,评估指标为n度量的recall,记为rec@n,所述的评估指标是指,在给定用户u的n个推荐项目列表中,有多少个是用户u所喜欢的项目,为所有的用户分别计算rec@n,然后对所有用户求平均值。评价指标还可以为n的折扣累积增益,记为dcg@n,用户u的dcg@n定义为:前n个推荐项目的列表中排名为p的项目的重要性分数impp为:本发明一种基于嵌入式特征选择的冷启动项目推荐方法,在模型的建立过程中首先提出一组个性化特征权重,为了选择每个用户特定的特征,令个性化特征权重规范化,以保证稀疏性,其次,考虑用户在功能偏好方面或多或少都具有一些共性,对所有用户的特征权重进行规范化,以找到一个共同的特征模式。这种嵌入式特征选择方法与一般监督特征选择的主要区别在于确保了top-n推荐的特征个性化,同时实现了降维,通过引入和规范化个性特征权重来选择每个用户独有的特征。本发明提出的方法与其他冷启动top-n推荐方法在具有高维辅助信息的数据集进行了实验,通过对比评估指标发现,本发明提出的方法非常有效。附图说明图1为本发明中一种基于嵌入式特征选择的冷启动项目推荐方法的流程示意图;图2为本发明中用户特征权重w的迭代优化流程示意图;图3为本发明实施例中不同推荐方法的评价指标的对比图;具体实施方式下面结合附图对本发明作进一步的说明,但不以任何方式对本发明加以限制,基于本发明教导所作的任何变换或替换,均属于本发明的保护范围。作为本发明的实施例,参阅图1所示,为本发明实施例一种基于嵌入式特征选择的冷启动项目推荐方法的流程示意图。所述的一种基于嵌入式特征选择的冷启动项目推荐方法,包括:步骤1,获取用户集u、项目集i和特征集f;步骤2,根据用户对项目的行为交互生成用户项目交互矩阵r,根据项目的高维辅助信息生成项目特征矩阵f;步骤3,建立用户项目的预测模型和基于嵌入式特征选择的用户项目预测的优化模型;步骤4,利用监督学习的方式,对所述的优化模型进行参数优化;步骤5,将优化后的参数带入所述的预测模型中,计算项目的预测评级分数;步骤6,根据所述的预测评级分数对项目进行推荐。本发明中用集u、i和f分别表示用户,物品和功能集,用m,n和d分别表示用户,物品和特征的数量。用户反馈(显式和隐式)显示用户购买,查看或评级的物品,用r∈rm×n表示,可以将反馈视为二进制值,例如如果用户u为物品i提供反馈rui(r的项目)则反馈值1,否则为0。引入特征矩阵,用于高维辅助信息表示,用f∈rn×d表示。为了选择用户特定的特征,引入特征权重矩阵w∈rd×m,其中矩阵的每列,即wu,是与用户u相关的个性化特征权重向量。在使用时,通过使用物品特征和已知反馈来预测未观察到的项目本发明中采用的用户特定特征选择方法,以减少用于top-n新物品推荐方法的辅助信息的维度,给定具有d维的特征集合f,本发明方法是为每个用户选择一个子集,该子集具有k个特征,以降低基于特征的相似性模型的复杂度并提高性能。在采用嵌入式方法进行特征选择。在进行推荐时,特征是用户特定的,权重取决于用户;换言之,对于不同的用户,每个特征的权重是不同的。作为嵌入式方法之一,稀疏性诱导特征选择(ssfs)使用稀疏性诱导的正则化技术,例如,“1-范数约束”或“惩罚项”。具体而言,ssfs旨在最小化拟合误差和一些稀疏正则化项。稀疏正则化器迫使许多特征系数很小或恰好为零,然后可以简单地消除相应的特征。这些方法已经在机器学习领域进行了深入研究,因为它们带来了有趣的理论问题和有用的特性。ssfs方法通常分为两类:基于矢量和基于矩阵。前者基于套索实现特征选择,而后者基于组套索,本发明中应用基于矢量的ssfs来选择每个用户特定的特征和基于矩阵的ssfs来选择全局特征集。本发明采用有监督的嵌入式特征选择来选择用户特定的特征。这可以表示为如下的优化问题:其中,w=[w1,…,wm],w1,…,wm是用户特定的特征权重,λ1和λ2是正则化参数,reg(w)向w引入稀疏性,以便为所有用户选择共同特征,reg(wu)诱导稀疏到wu以选择用户特定的特征,pred(w)形成评级预测的损失函数,以便选择特定特征。由此,本发明需要分别对预测任务的公式和正则化进行讨论和计算。在评级预测中,受top-n推荐规则的限制,推荐物品列表是基于预测评级的降序形成的。因此,发明中只需要设计用于评级预测的模型,即pred(w)。至于任务的具体形式,用pred(w)来保证top-n推荐的高性能。特别的,pred(w)能够满足以下两个属性:(1)基于项目的协同过滤:构建物品-物品矩阵,确定回归期间物品对之间的关系;(2)个性化特征级别偏好:捕获用户对物品特征的个性化偏好。遵循物品协同过滤的通用设定,所述的用户项目的预测模型定义为:其中,sij是物品i和j之间的相似性,r+u代表用户u评定的一组物品,上述公式表示,预测某一用户对某一物品评级时,不使用该用户对该物品已有的评级信息rui;根据物品特征计算sij,即fi和fj。为了获得个性化特征的偏好,引入了wu∈rd,它表示用户u各个特征的权重。为了将wu合并到sij之中,使用pfw方法,它使用物品特征的点积衡量物品相似度,由wu加权。故所述的sij的计算方法为:其中,wu是w的第u列,表示用户u特征权重,fi是f的第i列,代表物品i的特征向量,ο代表两个向量或两个矩阵的乘积。本发明中使用物品特征的点积衡量物品相似度。由此,对评级预测任务应用逐点损失函数,可以应用排名损失函数(成对或列表方式),但最近的工作已经表明,对于top-n推荐,排名损失函数的表现并不比逐点损失好很多,因为精心设计的逐点损失可以具有足够的辨别力来模拟用户的偏好。为了提高学习效率,发明对模型应用了逐点损失函数。因此,评级预测任务可以表述如下:其中rui是用户u对物品i给出的评级。是预测的评级,pred(w)定义的损失函数是在r(评级和未评级)的所有项目上计算的。另一方面,正则化损失即reg(w)。为了选择用户特定的功能,本发明为wu引入了规则化以引入稀疏性。一个直接的选择是通过“1范数”来规范wu,这被称为基于套索的特征选择。套索具有可以在p>>n情况下最多选择n个变量的限制。为了克服这个问题,采用了弹性网络,它将通过“1范数”和“2范数”的组合来惩罚wu。另一方面,在实际的top-n推荐场景中,一些特征通常是强相关的。在这种情况下,套索倾向于仅选择一个相关特征。相比之下,弹性网鼓励分组效应,其中强相关预测器倾向于一起进出模型。wu上的弹性网正则化给出如下:虽然找到特定于用户的功能很重要,但是不同的用户或多或少地具有一些优先于功能的共性。因此,本发明还从全局角度选择特征的w的正则化,将组套索正则化引入w以实现行稀疏度:reg(w)=||w||2,1,其中。由此,所述的用户项目预测的优化模型为:s.t.w=[w1,…,wm]∈rd×m其中,m是用户数量,n是项目数量,d是特征数量,rui是用户u对项目i给出的评级;是用户u对项目i的预测评级,w是大小为d×m的特征权重矩阵,w1,…,wm是w的各个列,wu是w的第u列,表示用户u特征权重;给定矩阵x,xij表示第i行和第j列的项目,使用xi,xj作为x的第i行和第j列,注意xi和xj都是列向量,其对应的运算符分别表示为||x||1=∑i|xi|,||x||2=(∑ix2)1/2,||x||2,1=∑i||xi||2。所述的用户项目预测的优化模型综合考虑了观察到的和未观察到的等级,其优化目标可以用于隐式反馈,本发明的推荐方法的优点在于它将用户特定的特征选择嵌入到学习过程中。因此,它可以使底层学习算法具有很好的性能。此外,由于特征权重的稀疏性,该模型能够解释为什么要进行这样的预测,具有良好的可解释性。对于如何解决优化问题,可以通过随机梯度下降来优化wu。首先定义然后通过如下方式得到其中,其中,由此可得:软阈值操作定义如下:wu可由下列等式更新:由此,所述的参数优化包括利用随机梯度下降来优化wu,进而获得优化后的特征权重矩阵w,wu的迭代更新式为:其中,η是学习率,所述的利用随机梯度下降来优化wu,获得特征权重矩阵w,如图2所示包括以下步骤:对w进行初始化赋值;对每一个用户计算迭代更新wu:若达到迭代最大次数或误差达到预设值时停止迭代;输出迭代优化后的w。进一步的,还包括对优化后的用户项目的预测模型进行评估,评估指标为n度量的recall,记为rec@n,所述的评估指标是指,在给定用户u的n个推荐项目列表中,有多少个是用户u所喜欢的项目,为所有的用户分别计算rec@n,然后对所有用户求平均值。评价指标还可以为n的折扣累积增益,记为dcg@n,用户u的dcg@n定义为:前n个推荐项目的列表中排名为p的项目的重要性分数impp为:本发明的实施例中,将本发明提出的方法在两个不同的用例上进行评估:科学论文推荐和产品推荐。1、数据集首先分别介绍数据集如下:cul:从citeulike1获得的用户及其文章库的数据集。使用收集的数据集。数据集中不包括少于10个用户添加的文章和少于10篇文章的用户。两个数据集中的每篇文章都有标题和摘要。文章的内容信息是标题和摘要的串联。删除停用词后,根据每个单词的tf-idf值选择每个数据集的词汇表;sp&od:亚马逊产品在线评论数据集2。使用sports&outdoors类别中的数据集。体育包含用户对项目的明确评级,从1到5。我们将产品评论作为产品项目的附带信息。我们从评论文章中提取一元模型特征并删除停用词。我们选择最常见的8,000个特征作为项目特征,并将每个产品项目表示为一个包含字的特征向量。表1dataset#users#items#feedsdesity#featurescul5480115641761280.278%7988sp&od7722178521221050.089%10000表1总结了两个数据集的统计数据,其中#users,#item,#feed和#features分别代表用户,项目,反馈和特征的数量。密度表示反馈的稀疏性,定义为:cul和sp&od有不同的特点。cul包含来自用户的隐式反馈,例如,文章是否被添加到用户的库中。相比之下,sp&od的反馈是明确的。遵循前n推荐的通用做法,我们将两个数据集的评级二值化。具体来说,对于cul,如果项目i在用户u的库中,那么rui=1;否则rui=0.对于sp&od,如果等级不小于3则设置rui=1,否则设置为0。2、对比方法实施例中除了与最先进的基于特征的相似性模型,如文献m.sharma的《featurebasedfactorizedbilinearsimilaritymodelforcold-starttop-nitemrecommendation》进行比较之外,还将ufs与两种非协作用户建模技术进行了比较。基线描述如下:(1)非协作用户建模技术。简单的余弦相似度(cosim):个性化的用户建模技术。使用以下等式估计项目i的用户u的偏好分数rui:个性化特征称量(pfw):一种独立学习用户模型的非协作技术。为每个用户u估计特征加权向量wu∈rd,以反映每个用户的不同项目特征的重要性。注意,项目i的用户u的偏好分数rui像ufs类似地估计。(2)基于项目特征的相似度模型。用户特定的基于特征的相似性模型(ufsm):基于特征的相似性模型(fsm),用于学习多个全局相似性函数。通过将全局相似度与个性化权重进行聚合来计算用户特定相似度函数;基于特征的分解双线性相似性模型(fbsm):模拟特征之间相互作用的fsm。进一步分解交互矩阵以降低复杂性。为了公平比较,除了cosim,实施例中训练所有具有逐点损失函数的基线(方程2)。通过网格搜索调整方法的参数。从{0.01,0.1,1,10}中搜索pfw的“2范数”的正则化参数λ。对于ufsm,从{0.01,0.1,1,10}中搜索关于用户关系模型的“1范数”的正则化参数λ以及关于特征权重的“2范数”的正则化参数μ1;μ2。还从{1,2,3,4,5,}中搜索全局相似度函数l的数量.对于fbsm,从{0.01,0.1,1,10}中搜索关于特征交互矩阵的对角线和非对角线部分的“1范数”的正则化参数λ和β。还从{16,32,64,128}中搜索潜在维度k。对于ufs,从{0.01,0.1,1,10}中搜索α,β和γ。3、评估方法为了评估项目冷启动设置下的top-n推荐的表现,将评级矩阵r分成三个不相交的子数据集,分别为rtrain;rvalid和rtest,包含随机选择的r列的80%,10%和10%。rtrain,rvalid和rtest中的选定项目是相互不相交的。使用rtrain训练模型并调整rvalid上的参数。为每种方法选择在rvalid上具有最佳性能的模型,并在rtest上评估最终性能。使用两个指标来评估性能。第一个是n度量的recall(rec@n)。第二个指标是n的折扣累积增益(dcg@n)。4、评价表2各种方法的评估指标值我们在本节中介绍实验结果。top-n建议的表现比较见表2。pfw,ufsm,fbsm和ufs的参数分别是{λ},{μ1,μ2,λ,l},{α,β,λ}。当推荐n=10项时,我们会显示recall和dcg的性能。相比之下,cul数据集的性能略优于sp&od数据集。背后的原因很明显,因为cul具有相对较低的特征维度和较少的推荐项目。从表2可以看出,ufs在数据集和指标上都优于最先进的基线。令人惊讶的是,两种基于协作的方法ufsm和fbsm无法提供良好的性能。这表明辅助信息的高维度可能会对基于协作的方法产生更大的影响。原因可能是基于协同过滤的方法估计了全局特征权重且高维度的影响遍及所有用户。为了在推荐不同数量的项目时进一步评估top-n推荐的表现,实施例将n的值分别设为5;10;15;20;30;100;200;500;1000。将结果如图3所示,如图3(a)和3(c)所示,recall的性能随着n的增长而增加,cul数据集的一般趋势是recall性能的差异随着n的增长而缩小。当n=1000时,所有方法的召回都接近1。当在测试集中有大约1,000个新项目表现得很直观sp&od数据集揭示了类似的趋势。图3(b)和3(d)描绘了具有不同n的dcg的结果。相反,性能随着n的增长而降低。虽然ufs优于具有不同n的其他方法,但ufs与第二最佳基线之间的差距逐渐减小。虽然sp&od数据集也显示了类似的趋势,但fbsm和cosim的线分别逐渐优于ufsm和pfw。综上所述,本发明一种基于嵌入式特征选择的冷启动项目推荐方法,用于利用高维度辅助信息来推荐top-n个新项目,嵌入式的的特征选择可以克服高维诅咒所带来的负面影响,还可以考虑个人对特征的偏好。具体来说,引入个性化的特征权重,并建议通过弹性网络正则化来处罚权重。除了个性化,我们还观察用户的共同特征偏好。因此,通过套索组对所有用户的功能权重进行规范。提出了一种基于软阈值的高效算法来优化模型。在不同的数据集进行了广泛的实验,结果证明了本发明方法的优越性。所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明它们没有在细节中提供。本发明的实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本发明的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1