基于前景理论与多目标进化的电影推荐方法与流程

文档序号:20839469发布日期:2020-05-22 17:18阅读:565来源:国知局
基于前景理论与多目标进化的电影推荐方法与流程

本发明属于多目标优化算法和推荐算法技术领域。运用改进的多目标优化算法(具体涉及前景选择和多相似用户变异)和改进的基于用户的协同过滤算法做电影推荐,希望来提高电影推荐的性能。



背景技术:

随着互联网的发展,人们每天可以收集到的信息越来越多,而要从大量的数据中快速找到自己感兴趣的信息,推荐系统就显得尤为重要。推荐系统主要是根据用户以前的信息,利用推荐算法预测用户可能感兴趣的信息,从而产生推荐。它避免了用户花费大量时间查询信息的代价,提高了信息查询的效率。

传统的推荐算法大多侧重于追求推荐准确性,即通过预测用户对项目的评分,选择分值最大的前n个项目推荐给用户。然而,这些算法却忽视了非准确性评价指标。为了解决这个问题我们引入了多目标优化算法,多目标推荐算法可以很好的平衡准确性和多样性等指标,符合现代推荐系统的要求。一些多目标推荐算法相继被提出来。bingruigeng等人利用改进的免疫算法来平衡多样性与新颖性。zuoy采用nsga-ii对建模后的多目标优化问题进行个性化推荐。wangs提出了一个多目标推荐框架来推荐长尾项目和一种基于分解的多目标进化推荐算法,使预测得分和项目受欢迎程度同时最大化。耿冰蕊提出了一种多目标免疫优化的推荐算法框架,并通过改进算法来提高推荐性能。cuil提出了一种新的主题多样性指标及概率多目标进化算法,其推荐结果可以在精度和多样性之间达到很好的平衡。但是这些算法在推荐过程中并没有考虑到人的行为特征,因此针对这种问题,本发明提出基于前景理论与多目标进化的电影推荐算法,该算法利用改进的协同过滤算法来计算准确性目标,并在进化过程中利用前景理论对种群进行选择,通过与其他推荐算法的比较验证了算法的效果。



技术实现要素:

本发明的目的是提出一种基于前景理论与多目标进化的电影推荐算法。针对传统推荐算法在推荐过程中忽视了人的行为特征,提出了一种基于前景理论的多目标进化电影推荐算法,利用前景理论对项目进行评分预测,并在进化过程中考虑了个体的行为特征,加入了前景选择操作和改进变异操作,提高了推荐的性能。

本发明采用的技术方案为基于前景理论和多目标进化的电影推荐算法。首先利用前景理论对基于用户的协同过滤算法进行了改进,并利用改进算法对需要评分的电影进行预测,来作为多目标进化的其中一个目标。在进化过程中,采用一种新的基于前景理论的选择机制,它使种群个体通过满意度来选择父代进行遗传操作,并对要变异得个体基因,找到与个体的目标用户相似的多个用户,选择出现频率最大的且目标用户没有看过的项目进行变异。此过程有效的提高了推荐的性能。

该方法包括以下步骤:

s1个体多目标的设定

s1.1精度函数。用来评测用户对推荐列表中推荐项目的兴趣度。其值越高,表示推荐的越准确。其计算公式如下:

其中,s为推荐系统中的用户集合,l是用户的推荐列表集合。pui表示用户u对项目i的满意度。

满意度的计算包含三项,其一是用户u对项目i的理性预测分prui,它是通过基于用户的协同过滤算法进行计算的。其二是有限理性因素,它通过前景理论来得出。

前景理论的价值函数表示为:

其中,δxi为用户理性预测分prui和预期期望ei的差值。设定项目i的平均分为vi,则ei=m*vi,m是系数。

其三是用户u评分的偏置项pu,通过用户和项目的平均分的差值得出。考虑到用户可能比较喜欢打高分或低分,以此设计的偏置项。

最终用户u对项目i的有限理性预测分(满意度)pui表示为:

pui=(1-t)*prui+t*v(δxi)+pu;(3)

其中,t是系数。

s1.2多样性函数。用来评测给用户推荐的项目的不相似程度。其值越高,表示推荐的项目越多样。计算公式如下:

其中,r(u)是用户u的推荐列表,sim(i,j)是项目i和项目j的相似度。

s2个体编码、相关参数设定

个体的编码采用实数编码,一个个体由一个矩阵表示,其中,列数表示为某个用户推荐的电影数,行数代表要推荐的用户数,矩阵中的每一项为电影的id号。种群初始化为popsize=50,交叉概率pc为0.8,变异概率pm为0.4,个体矩阵的每行中电影编号不重复;

s3种群初始化

对于种群的初始化,我们首先选择一个个体,利用协同过滤算法进行预测评分,然后通过top-n对其进行推荐,这样得到的个体准确性很高,以此指导种群的进化方向和提高收敛速度。对于其他个体,采用随机选择没有看过的项目推荐给用户,由此完成初始化操作。

s4变异操作

先随机选择一个基因,然后找到与对应用户相似的n个用户,计算相似用户集中不同基因出现的次数,选择出现频率最高的且目标用户没有看过的项目进行变异选择。

s5交叉操作

两个父母都包含的项目全部遗传给孩子,不同的项目,则产生一个随机数,若其小于交叉概率,再进行交叉,否则不变

s6选择操作

当父代进行遗传操作产生子代后,子代个体将以父代个体为参考,若是子代比父代的目标高,表明得到的子代的满意度增加,若是子代比父代的目标低,表明得到的子代的满意度降低。通过比较子代与父代的目标值得到子代个体的前景值,在以后进行种群选择时,再对个体的前景进行比较,选择前景较大的个体作为父代进行遗传操作。

个体前景的计算公式为:

qi=v(δx1)*π(p1)+v(δx2)*π(p2)(6)

其中,v(δx1)为子代个体目标1的前景值,根据公式2计算得到,式中δx1是子代与父代目标1的差值。π(p1)为v(δx1)对应的概率权重,根据公式7计算得到,式中p为1与种群大小的比值,γ根据δx1的大小设定。

s7更新种群

将种群中的所有个体和子个体进行合并,计算混合种群中个体的支配关系和同一支配等级个体间的拥挤距离。选择支配等级高的和拥挤距离大的个体进入下一代。

s8.终止条件判断:

若达到规定的代数或得到预定的结果,则结束并且输出结果,否则计算个体适应度值和变量,更新种群,继续交叉、变异、选择等操作。

与现有技术相比,本发明具有如下有益效果。

基于前景理论与多目标进化的电影推荐算法,在准确性目标上采用了基于前景理论的协同过滤算法,对准确性指标和非准确性指标有一定的平衡作用。在进化过程中,考虑到人的损失厌恶特征,在推荐过程中加入了这种有限理性,并应用到了个体选择中。最后个体要进行变异的目标用户,选择其相似用户容易接受的基因项目进行变异。用改进的电影推荐算法使获得的推荐列表的准确性和多样性更加丰富,通过与其他推荐算法的实验对比验证了算法的有效性。

附图说明

图1基于前景理论与多目标进化的电影推荐方法整体流程图。

图2为基于用户的协同过滤推荐算法主要流程图。

图3为算法评价指标随有限理性因素的参数t值的变化情况。

图4为评价指标随预期期望的参数m值变化而改变的情况

图5为本方法实施流程图。

具体实施方式

下面结合附图和具体实例对本发明做进一步说明。

本发明采用movielens作为电影推荐的数据集,该数据集包括943个用户的信息,1682部电影的信息,100,000条用户对电影的评分,把epmoea和改进前的多目标进化推荐算法moea以及传统的推荐方法基于用户的协同过滤算法(usercf)、基于项目的推荐算法(itemcf)、基于二部图的推荐算法(probs)进行实验对比。

在moea和epmoea两种多目标优化算法中,为每个用户推荐10和20个电影,运行代数gen=400,种群规模设置为popsize=50,交叉概率pc=0.8,变异概率pm=0.4.

推荐算法性能评估函数为:

精度是衡量推荐结果的准确性。如果用户对推荐结果更满意,则该推荐算法具有更高的精度。具体定义如下:

其中l表示给用户推荐的项目个数,di(l)表示推荐系统给出的推荐项目在测试集中同样出现的项目个数。

多样性表示给用户推荐的项目的差异性,推荐列表中项目越不相似,表示多样性越好。这里的多样性同目标多样性。

新颖性是指推荐列表中项目的受欢迎程度。如果推荐列表中的项目更受欢迎,则此推荐列表的新颖性较低。

其中m表示用户总数,l表示推荐列表的长度,nα表示项目α的度。

本发明提出的基于前景理论与多目标进化的电影推荐方法的主要流程如图1所示,整个流程运用使用协同过滤的特例个体和随机产生的个体得到初始化种群,然后进行选择、交叉变异等遗传操作,最后得到推荐结果。

选用本文提出的epmoea算法和基于用户的协同过滤算法(usercf)、基于项目的协同过滤(itemcf)以及moea算法进行测试和比较。

其中,基于用户的协同过滤算法(usercf)根据用户所看电影的评分数值,计算两两用户之间的相似度,并选出与待推荐用户相似度最接近的topk个用户,以这些相似度数值为权重,利用这些用户已看过并评分的电影对待推荐的用户未看过的电影进行预测评分。主要流程如图2所示。

对于moea和epmoea推荐算法而言,使用准确度和多样性作为两个优化目标函数,使推荐的电影列表多样性和准确度两个指标能够同时达到比较优秀。目的在于求解多个种群个体,即要推荐的用户数和电影数得到的矩阵数组,每一项代表一个电影编号。采用实数编码方式,编码范围为电影编号所在的范围并且为整数形式,保持编码中电影编号有序且不重复。

下面详细给出该发明技术方案中所涉及的各个细节问题的说明:

s1个体多目标的设定

s1.1精度函数。用来评测用户对推荐列表中推荐项目的兴趣度。其值越高,表示推荐的越准确。其计算公式如下:

其中,s为推荐系统中的用户集合,l是用户的推荐列表集合。pui表示用户u对项目i的满意度。

满意度的计算包含三项,其一是用户u对项目i的理性预测分prui,它是通过基于用户的协同过滤算法进行计算的。其二是有限理性因素,它通过前景理论来得出。

前景理论的价值函数表示为:

其中,δxi为用户理性预测分prui和预期期望ei的差值。设定项目i的平均分为vi,则ei=m*vi,m是系数。

其三是用户u评分的偏置项pu,通过用户和项目的平均分的差值得出。考虑到用户可能比较喜欢打高分或低分,以此设计的偏置项。

最终用户u对项目i的有限理性预测分(满意度)pui表示为:

pui=(1-t)*prui+t*v(δxi)+pu;

其中,t是系数。

s1.2多样性函数。用来评测给用户推荐的项目的不相似程度。其值越高,表示推荐的项目越多样。计算公式如下:

其中,r(u)是用户u的推荐列表,sim(i,j)是项目i和项目j的相似度。

s2个体编码、相关参数设定

个体的编码采用实数编码,一个个体由一个矩阵表示,其中,列数表示为某个用户推荐的电影数,行数代表要推荐的用户数,矩阵中的每一项为电影的id号。种群初始化为popsize=50,交叉概率pc为0.8,变异概率pm为0.4,个体矩阵的每行中电影编号不重复;

s3种群初始化

对于种群的初始化,我们首先选择一个个体,利用协同过滤算法进行预测评分,然后通过top-n对其进行推荐,这样得到的个体准确性很高,以此指导种群的进化方向和提高收敛速度。对于其他个体,采用随机选择没有看过的项目推荐给用户,由此完成初始化操作。

s4变异操作

先随机选择一个基因,然后找到与该用户相似的n个用户,计算相似用户集中不同基因出现的次数,选择出现频率最高的且目标用户没有看过的项目进行变异选择。

s5交叉操作

两个父母都包含的项目全部遗传给孩子,不同的项目,则产生一个随机数,若其小于交叉概率,再进行交叉,否则不变

s6选择操作

当父代进行遗传操作产生子代后,子代个体将以父代个体为参考,若是子代比父代的目标高,表明得到的子代的满意度增加,若是子代比父代的目标低,表明得到的子代的满意度降低。通过比较子代与父代的目标值得到子代个体的前景值,在以后进行种群选择时,再对个体的前景进行比较,选择前景较大的个体作为父代进行遗传操作。

个体前景的计算公式为:

qi=v(δx1)*π(p1)+v(δx2)*π(p2)

其中,v(δx1)为子代个体目标1的前景值,根据公式2计算得到,式中δx1是子代与父代目标1的差值。π(p1)为v(δx1)对应的概率权重,根据公式7计算得到,式中p为1与种群大小的比值,γ为δx1的大小。

s7更新种群

将种群中的所有个体和子个体进行合并,计算混合种群中个体的支配关系和同一支配等级个体间的拥挤距离。选择支配等级高的和拥挤距离大的个体进入下一代。

s8.终止条件判断:

若达到规定的代数或得到预定的结果,则结束并且输出结果,否则计算个体适应度值和变量,更新种群,继续交叉、变异、选择等操作。

下面详述说明本发明的实验结果:

图3和图4为在改进的协同过滤中,即在原始基于用户的协同过滤算法中加入前景理论,考虑用户的心理行为特征后,算法评价指标的分析情况。

由图3可见,一定有限理性因素可以提高推荐的准确性,而当考虑过多的有限理性因素时,准确性会有所下降,但多样性和新颖性会有很大提高。当t=0.25时,准确性降低很少,多样性和新颖性却有明显的提高。

由图4可得出,当预期期望设置较小时,推荐预测主要由理性预测分决定,对整个推荐结果几乎没有影响。而当预期期望设置较大时,会大幅降低准确性,而提高多样性和新颖性。

为了证明本发明所述方法的有效性,分别采用epmoea(本发明中的方法)和probs、usercf、itemcf以及moea对电影推荐中的top-n问题进行优化,实验结果如表1所示。

表1推荐方法评价指标对比表

表中描述了不同算法得到的推荐列表的准确性、多样性和新颖性。改进的算法较原始的推荐算法,牺牲了很小的精度,但是非准确性指标有所提高。可以得出,epmoea算法可以很好的平衡这三个指标。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1