融合网格存优策略的多目标优化的个性化电影推荐方法与流程

文档序号:15932381发布日期:2018-11-14 01:50阅读:282来源:国知局
本发明属于多目标优化算法和推荐算法
技术领域
:。运用改进的多目标优化算法ers-smocde(具体涉及网格存优策略,自适应正交交叉初始化种群,自适应多目标正交交叉算子)做个性化电影推荐,希望用多目标优化算法来提高个性化电影推荐的性能。
背景技术
:随着互联网技术的发展,网上信息量呈指数式的增长,在信息爆炸中,用户无法快速,有效的获取自己感兴趣的内容,出现了所谓的信息超载问题。解决信息超载问题一个非常有潜力的方法是推荐系统。推荐系统通过研究用户的兴趣爱好,进行个性化计算,发现用户的兴趣点,从而引导用户发现自己的信息需求。传统的推荐算法以准确度作为评价指标,而一个好的推荐算法不仅要以准确度作为衡量标准,还应该考虑非准确率。大多数传统的推荐算法关注项目的评分,即项目按评分排序,并且选择前n项推荐给用户,然而,它们不能兼顾非准确度的评价指标,为了解决这个问题我们引入了多目标优化算法,多目标个性化推荐算法不仅可以关注准确性还可以兼顾多样性,符合现代推荐系统的要求。一些多目标推荐算法相继被提出来,张等人把准确性和多样性看作二次规划问题,设计出多种策略来解决这个优化问题。在推荐列表中应该设置控制参数来衡量多样性的重要性。周等人提出了一种结合热传播算法解决多样性问题和概率传播算法解决准确性的混合推荐算法,该混合方法是使用加权线性组合的方法。结果是权重参数应该适当调整来保持推荐的多样性和准确性。adomavicius等人,开发了一系列排序算法在保持准确性的情况下产生多样性,公茂果等人用经典多目标遗传算法nsga-ii来优化这两个目标。但是此算法的收敛速度和最终推荐列表存在多样性和准确性的缺失。后来有人提出了自适应正交交叉的多目标差分进化算法,该算法利用自适应多目标正交交叉算子生成均匀分布的初始种群,以保证初始种群的多样性,在交叉操作中利用多目标正交交叉算子进行正交交叉操作,提高了精度,加快了收敛速度。但是此算法的多样性表现不是很好,因此针对这种问题,本发明提出融合网格存优策略的自适应正交交叉的多目标优化算法,该算法利用网格存优策略对种群进一步优化,增加种群的多样性,有效的提高了种群多样性的保持。将该改进算法应用于个性化电影推荐的具体问题上,通过与其他推荐算法的比较验证了算法的效果。技术实现要素:本发明的目的是提出一种融合网格存优策略的自适应正交交叉的多目标优化算法的个性化电影推荐方法。针对smocde的多样性表现不好的问题,将网格存优策略融合到smocde中,提出了融合网格存优策略的自适应正交交叉的多目标差分进化算法,该算法利用网格存优策略对种群进一步优化,增加种群的多样性,有效的提高了种群多样性的保持。本发明采用的技术方案为融合网格存优策略的多目标优化的个性化电影推荐方法,该方法是融合网格存优策略的自适应正交交叉的多目标优化算法的个性化电影推荐方法,网格存优方法能够保持解集的分布性,并且被多个进化算法所采用。ε-moea是由deb提出的一种网格存优方法,ε-moea采用了一种新的支配关系即ε支配,这种支配关系比普通的支配关系要弱,它使本来没有支配关系的两个个体之间可能具有了支配关系,而且网格中的每个单元格只保留一个个体,经过网格存优后,种群能保持较好的分布性。通过融合网格存优策略保持了种群的多样性,其中归档集利用ε支配进行网格划分,使归档集中的种群分布均匀;该方法包括以下步骤:s1个体编码、相关参数设定;个体的编码采用实数编码,基因位为电影的id号,n个电影组成一个个体,个体编码形式为:<d1,d2,dg…dn>,其中n表示电影个数,dg表示第g个需要推荐的电影编号;种群初始化为popsize=100,交叉概率pc为0.9,变异概率pm为0.1,每条染色体中电影编号不重复;s2种群初始化利用正交实验方法初始化的种群具有均匀分散、齐整可比的特点,该方法产生的初始个体能够均匀分散地分布在整个解空间中,但当可行解空间[l,u]大时,其中,l为可行解空间的下限,u为可行解空间的上限,为提高搜索效率和精度,先将种群分割成s个子空间,利用自适应多目标正交交叉算子对每一个子空间进行交叉操作,产生新的种群p,对种群p进行快速非支配排序,从排序后的种群p中选择靠近pareto最近的n个个体组成初始种群p0;计算种群中个体的标识向量,并将初始种群的ε非支配个体复制到归档集合中,至此种群初始化完成。s3变异操作采用自适应变异,根据种群的进化代数自适应的调整变异,即从归档集中随机选择两个不同于待变异的个体xb,xc按选择的顺序求这两个向量的差值,其公式描述如下:f=f0*2t其中gm为进化代数,g为总共迭代次数,e是指数,f为收缩因子,f0为初始值,a,b,c,为个体编号。s4交叉操作使用自适应多目标正交交叉算子,分别从当前种群中选取一个个体,然后从当前归档集中选取另一个个体,然后进行自适应多目标正交交叉操作,从产生的新个体中选取需要的个体。其中自适应多目标正交交叉算子的实现如下:s4.1.设p1=(p1,1,p1,2,…,p1,n),p2=(p2,1,p2,2,...,p2,n)为参与交叉操作的两个父代个体,由p1和p2所确定的可行解空间为[lparent,uparent],接着把空间[lparent,uparent]中的第h维离散化为q个水平,即bh,1,bh,2,...,bh,q,h属于{1,2,...,n},记bh=(bh,1,bh,2,...,bh,q),其中:n是种群的维度,q是水平数,bh,1代表第h维的第一个元素s4.2.令向量k=[k1,k2,...,kt],并且满足:ks∈j且1≤k1<k2<…≤kt≤n,s=1,2,…,t,集合j的定义为:j={h||p1h-p2h|>δ0,h=1,2,...,n},t为p1,p2中相似度低的分量的个数,其中δ0是给定的接近于0的正实数,向量k保存了相似度低的分量在p1,p2中的位置,即进行因素的位置,设x为p1,p2中的任一个体,把个体x=(x1,x2,...,xn)分成t份,此处t是相似度低的分量的个数,一个t中有可能包含几个分量,如果一个t包含一个分量,t就是n份如公式(5)所示;其中每一份表示个体x的一个因素,f代表因素;令k0=0,则第h个因素fh的q个水平表示为:s4.3.构造正交表lm(qf)=[bh,q]m×f,其中f=t,m=qj,q为水平数,利用正交表lm(qf)来对公式5和公式6中的每一个因素对应的q个水平进行正交实验设计,将产生m个子代个体如公式7:s4.4.将m个子代应用到k个目标函数y1,y2,...,yk的多目标优化问题中,计算每个因素对应的每个水平数的k个目标函数的均值矩阵[δq,h,k]q×h×k;记h个因素在q个不同水平下的k个目标的目标均值;s4.5.由目标均值矩阵计算出每个因素u,u=1,2,...,n的非劣集合m(lu,<ux);s4.6.创建n个非劣集合的卡式积m(l1,<1)×m(l2,<2)×,...,×m(ln,<n)n代表维度数,lh表示第h维的非劣集合,1≤h≤ns4.7对s4.6求得的子代个体进行快速非支配排序,从中挑选出靠近pareto前沿的优秀个体加入到下一代中;s5选择操作采用轮盘赌的方式进行,对变异个体和交叉个体产生的新个体与父代中的全部个体采用轮盘赌的方式进行选择操作。其公式如下:其中,fw为个体w的适应度值,n为种群中的个体数目。从公式中可知,随着适应度值的增加,个体被选中的概率也变大,从而有利于较优个体的保留。s6更新种群p和更新归档集as6.1.种群更新方法将种群中的所有个体和子个体进行比较,如果种群中的个体支配子个体,则拒绝接受子个体;如果子个体支配种群中的个体,则随机选择种群中被子个体支配的个体与子个体进行交换;如果子个体与种群中的个体互不支配,则子个体替代种群中的任一个体。s6.2.归档集更新方法子个体和归档成员的标识向量计算完之后,对子个体和归档集成员做ε支配比较,如果子个体支配归档集的任何一个体,则从归档集中删除这些被支配的个体,将子个体加入到归档集合中;如果子个体被归档集中的任一个体支配则拒绝接受子个体;若子个体和归档集中的个体都相互不支配,分情况讨论a)如果子个体的标识向量与归档集中某个体的标识向量相同,则表明它们之间互不ε支配,这时比较它们的pareto支配,接受支配者。若互不支配,则计算它们与标识向量的空间距离,保留距离较短者。b)如果子个体不和任一归档集成员在同一超立方体中则接受此子个体。s7.终止条件判断:若达到规定的代数或得到预定的结果,则结束并且输出结果,否则计算个体适应度值和变量,更新种群和归档集,继续交叉、变异、选择等操作。与现有技术相比,本发明具有如下有益效果。融合网格存优策略的自适应正交交叉的多目标优化算法的个性化电影推荐方法,算法在进化之前,采用一种新的支配关系即ε支配,它使本来没有支配关系的两个个体间可能具有了支配关系,而且网格中的每个单元格只保留一个个体,经过网格存优后,种群能保持较好的分布性。该算法利用网络存优策略对种群进一步优化,增加种群的多样性,有效的提高了种群多样性的保持。用改进的算法做电影推荐使获得的推荐列表的准确性和多样性更加丰富,通过与其他推荐算法的实验对比验证了算法的有效性。附图说明图1为ers-smocde算法整体流程图图2基于自适应正交交叉的多目标优化算法的个性化电影推荐方法整体流程图。图3为基于用户的协同过滤推荐算法主要流程图。图4为基于内容的推荐算法主要流程图。具体实施方式下面结合附图和具体实例对本发明做进一步说明。本发明采用movielens作为电影推荐的数据集,该数据集包括943个用户的信息,1682部电影的信息,100,000条用户对电影的评分,把smocde和nsga-ii以及传统的推荐方法基于用户的协同过滤算法(usercf)、基于内容的推荐算法(cb)进行实验对比。在nsga-ii和smocde两种多目标优化算法中,以电影id号作为基因位,每条染色体代表n部电影,实验中n取值为(5,10,15,20),运行代数gen=100,种群规模设置为popsize=50,交叉概率pc=0.9,变异概率pm=0.1,以准确性和多样性为两个优化目标函数,公式如下:d(i,j)=1-sim(i,j)(11)其中fd(r)为多样性目标函数,r为推荐列表集合,sim(i,j)为相似性计算函数,l为推荐列表长度。gm(i,pu)=sim(i,j)i∈r,j∈pu(13)其中fm(pu,r)为准确性目标函数,l为推荐列表长度,r推荐集合,pu为用户评分项目集合,gm(i,pu)为用户评分集合和推荐列表相似性计算函数。推荐算法性能评估函数为:precision为准确率评价函数,r(i)为用户推荐的列表集合,l(i)为用户喜欢的列表集合。div(u)为多样性评价函数,r(i)为推荐列表集合,sim(i,j)为物品i和物品j的相似性,n(i)表示喜欢物品i的集合。本发明提出的融合网格存优策略的自适应正交交叉的多目标优化算法的个性化电影推荐方法的主要流程如图1所示,整个流程运用自适应多目标正交交叉算子初始化种群,并在此基础上初始化归档集,和自适应多目标正交交叉算子参与交叉操作的方法,主要分为初始化种群、选择操作、自适应多目标正交交叉操作、变异操作等四部份。结合图2对本发明的实施过程作详细的说明。本发明的实例是在以本发明技术方案为前提下进行实施的,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述实例。实例选用电影个性化推荐问题对本文中提出的多目标改进算法smocde和基于用户的协同过滤算法(usercf)、基于内容的推荐算法(cb)以及nsga-ii进行测试和比较。其中,基于用户的协同过滤算法(usercf)根据用户所看电影的评分数值,计算两两用户之间的相似度,并选出与待推荐用户相似度最接近的topk个用户,以这些相似度数值为权重,利用这些用户已看过并评分的电影对待推荐的用户未看过的电影进行预测评分。主要流程如图3所示。基于内容的推荐算法(cb)根据电影类型的所属关系计算各个电影之间的相似度值,并对待推荐的用户已经看过的电影评分较高的电影,按照相似度大小对未看过的电影进行预测评分。主要流程如图4所示。基于nsga-ii和smocde的推荐算法而言,使用准确度和多样性作为两个优化目标函数,使推荐的电影列表多样性和准确度两个指标能够同时达到比较优秀。目的在于求解n个不同电影的编号组合,即每个个体的基因位为一部电影的编号,用di表示第i部电影的编号,个体编码形式为:<d1,d2,di。。。dn>,采用实数编码方式,编码范围为电影编号所在的范围并且为整数形式,保持编码中电影编号有序且不重复,以作为待推荐的n部不同电影的一种组合方式。下面详细给出该发明技术方案中所涉及的各个细节问题的说明:s1个体编码、相关参数设定;个体的编码采用实数编码,基因位为电影的id号,n个电影组成一个个体,个体编码形式为:<d1,d2,dg…dn>,其中n表示电影个数,dg表示第g个需要推荐的电影编号;种群初始化为popsize=100,交叉概率pc为0.9,变异概率pm为0.1,每条染色体中电影编号不重复;s2种群初始化利用正交实验方法初始化的种群具有均匀分散、齐整可比的特点,该方法产生的初始个体能够均匀分散地分布在整个解空间中,但当可行解空间[l,u]大时,(其中,l为可行解空间的下限,u为可行解空间的上限),为提高搜索效率和精度,先将种群分割成s个子空间,利用自适应多目标正交交叉算子对每一个子空间进行交叉操作,产生新的种群p,对种群p进行快速非支配排序,从排序后的种群p中选择靠近pareto最近的n个个体组成初始种群p0;计算种群中个体的标识向量,并将初始种群的ε非支配个体复制到归档集合中,至此种群初始化完成。s3变异操作采用自适应变异,根据种群的进化代数自适应的调整变异,即从归档集中随机选择两个不同于待变异的个体xb,xc按选择的顺序求这两个向量的差值,其公式描述如下:f=f0*2t其中gm为进化代数,g为总共迭代次数,e是指数,f为收缩因子,f0为初始值,a,b,c,为个体编号。s4交叉操作使用自适应多目标正交交叉算子,分别从当前种群中选取一个个体,然后从当前归档集中选取另一个个体,然后进行自适应多目标正交交叉操作,从产生的新个体中选取需要的个体。其中自适应多目标正交交叉算子的实现如下:s4.1.设p1=(p1,1,p1,2,…,p1,n),p2=(p2,1,p2,2,…,p2,n)为参与交叉操作的两个父代个体,由p1和p2所确定的可行解空间为[lparent,uparent],接着把空间[lparent,uparent]中的第h维离散化为q个水平,即bh,1,bh,2,...,bh,q,h属于{1,2,...,n},记bh=(bh,1,bh,2,…,bh,q),其中:n是种群的维度,q是水平数,bh,1代表第h维的第一个元素s4.2.令向量k=[k1,k2,...,kt],并且满足:ks∈j且1≤k1<k2<…≤kt≤n,s=1,2,…,t,集合j的定义为:j={h||p1h-p2h|>δ0,h=1,2,...,n},t为p1,p2中相似度低的分量的个数,其中δ0是给定的接近于0的正实数,向量k保存了相似度低的分量在p1,p2中的位置,即进行因素的位置,设x为p1,p2中的任一个体,把个体x=(x1,x2,...,xn)分成t份,此处t是相似度低的分量的个数,一个t中有可能包含几个分量,如果一个t包含一个分量,t就是n份如公式(5)所示;其中每一份表示个体x的一个因素,f代表因素;令k0=0,则第h个因素fh的q个水平表示为:s4.3.构造正交表lm(qf)=[bh,q]m×f,其中f=t,m=qj,q为水平数,利用正交表lm(qf)来对公式5和公式6中的每一个因素对应的q个水平进行正交实验设计,将产生m个子代个体如公式7:s4.4.将m个子代应用到k个目标函数y1,y2,...,yk的多目标优化问题中,计算每个因素对应的每个水平数的k个目标函数的均值矩阵[δq,h,k]q×h×k;记h个因素在q个不同水平下的k个目标的目标均值;s4.5.由目标均值矩阵计算出每个因素u,u=1,2,...,n的非劣集合m(lu,<ux);s4.6.创建n个非劣集合的卡式积m(l1,<1)×m(l2,<2)×,...,×m(ln,<n)n代表维度数,lh表示第h维的非劣集合,1≤h≤ns4.7对s4.6求得的子代个体进行快速非支配排序,从中挑选出靠近pareto前沿的优秀个体加入到下一代中;s5选择操作采用轮盘赌的方式进行,对变异个体和交叉个体产生的新个体与父代中的全部个体采用轮盘赌的方式进行选择操作。其公式如下:其中,fw为个体w的适应度值,n为种群中的个体数目。从公式中可知,随着适应度值的增加,个体被选中的概率也变大,从而有利于较优个体的保留。s6更新种群p和更新归档集as6.1.种群更新方法将种群中的所有个体和子个体进行比较,如果种群中的个体支配子个体,则拒绝接受子个体;如果子个体支配种群中的个体,则随机选择种群中被子个体支配的个体与子个体进行交换;如果子个体与种群中的个体互不支配,则子个体替代种群中的任一个体。s6.2.归档集更新方法子个体和归档成员的标识向量计算完之后,对子个体和归档集成员做ε支配比较,如果子个体支配归档集的任何一个体,则从归档集中删除这些被支配的个体,将子个体加入到归档集合中;如果子个体被归档集中的任一个体支配则拒绝接受子个体;若子个体和归档集中的个体都相互不支配,分情况讨论a)如果子个体的标识向量与归档集中某个体的标识向量相同,则表明它们之间互不ε支配,这时比较它们的pareto支配,接受支配者。若互不支配,则计算它们与标识向量的空间距离,保留距离较短者。b)如果子个体不和任一归档集成员在同一超立方体中则接受此子个体。s7.终止条件判断:若达到规定的代数或得到预定的结果,则结束并且输出结果,否则计算个体适应度值和变量,更新种群和归档集,继续交叉、变异、选择等操作。下面详述说明本发明的实验结果:为了证明本发明所述方法在电影个性化推荐问题中的有效性,分别采用ers-smocderm(本发明中的方法)和content、usercf、itemcf以及nsga-iirm对电影个性化推荐中的top-n问题进行优化,实验结果如表4-8所示。表4-8推荐方法评价指标对比表table4-8comparisontableofevaluationindexofrecommendationmethod由表格4-8可以看出ers-smocderm推荐方法在整体上都优秀于其它四个算法,由于ers-smocderm是基于多目标优化算法的推荐方法,相比于content、usercf、itemcf而言其具有明显的优势,其可以从多个方面考量推荐列表的性能,可以对上述多个指标进行优势互补,使获得的推荐列表能在多个评价指标中保持较好的性能,而content、usercf、itemcf则对某一个指标优势明显,无法兼顾多个方面;而相对于nsga-iirm推荐算法来说,由于nsgaii算法本身存在的一些缺陷,包括种群初始化使初始种群分布性不好,拥挤距离计算导致优秀个体被丢掉,从而导致所获得的解集存在一定的不足,而ers-smocde算法通过自适应多目标正交交叉算子使种群能够快速收敛到pareto解集,通过网格存优策略使种群能够保持较好的分布性,使获得的推荐列表在性能上要优于nsga-iirm推荐算法所获得的结果。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1