[发明专利]基于网格与差异替换改进多目标遗传算法的电影推荐方法有效
申请号: | 201710381920.6 | 申请日: | 2017-05-26 |
公开(公告)号: | CN107256241B | 公开(公告)日: | 2021-06-25 |
发明(设计)人: | 杨新武;郭西念;赵崇 | 申请(专利权)人: | 北京工业大学 |
主分类号: | G06F16/9535 | 分类号: | G06F16/9535;G06F16/9536;G06F16/35;G06K9/62;G06N3/12 |
代理公司: | 北京思海天达知识产权代理有限公司 11203 | 代理人: | 沈波 |
地址: | 100124 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 基于网格与差异替换改进多目标遗传算法的电影推荐方法,针对NSGA‑II中存在的分布性和收敛性两方面的不足而提出了改进算法GDNSGA‑II,可以用于求解多目标组合优化问题。该算法设计多目标网格划分方式初始化种群,避免了个体不均匀而导致分布性缺失;并运用聚类选择与差异替换算子维护种群进化过程,选择适当数目的劣质个体局部搜索,保持了种群的收敛性和分布性。结合用户行为与电影属性的挖掘,将该算法应用于电影个性化推荐这一实际问题,通过和现有的算法进行测试对比说明了算法的通用性和有效性,得到了更为优良的推荐结果,提高了推荐的F调和率、多样性和新颖性,并提供了更为丰富的推荐方案组合,有利于充分挖掘用户的兴趣提供更为可靠的推荐服务。 | ||
搜索关键词: | 基于 网格 差异 替换 改进 多目标 遗传 算法 电影 推荐 方法 | ||
【主权项】:
基于网格与差异替换改进多目标遗传算法的电影推荐方法,其特征在于:该方法包括如下步骤,S1进行个体编码、初始化数据,并设定参数所述个体表示N个电影的编号,其中N表示需要推荐的电影个数;用di表示第i个需要推荐的电影编号,为了应用于解决个性化推荐领域的TOP‑N问题,采用N个电影编号组合,个体编码形式为:<d1,d2,di;;;dN>,采用实数编码方式,编码范围为电影编号所在的范围并且为整数形式;所述初始化数据将种群大小初始化为popszie,每次后代都产生popsize大小的种群;所述设定参数包括:设定交叉概率Pc为0.9,变异概率Pm为0.1,个体长度为N位,保持编码中电影编号有序且不重复,以作为待推荐的N部不同电影的一种组合方式;S2多目标网格划分方式初始化种群S2.1随机产生s倍于种群规模数目n的临时种群P,即种群P的个体数目为s×n,这里s为一位十进制正整数;S2.2对临时种群P中的各个个体计算在待优化问题中各个目标的数值fit,表示为第i个个体在第t个目标函数上的数值;S2.3对临时种群P中的每个个体按照各个目标数值fit之间的优劣关系进行非支配排序分层的计算,并标记每个个体所在的层级ci,表示为第i个个体所在的层级;S2.4以种群P为全集空间,对种群P中的每个个体计算拥挤距离di,表示为第i个个体拥挤距离的数值;S2.5在种群P中,以每个个体的非支配排序层级ci与拥挤距离di作为两个目标,评价个体之间的非支配关系来选择最优的前(s×n)/2个个体组成候选集合P1,其中,n为种群规模数目;S2.6根据候选集合P1中所有点在各个目标上的数值,找到各个优化方向上的最大值和最小值,并将数值进行归一化处理;S2.7按照S2.6中的归一化最大值与最小值将空间划分为K个网格,并将属于对应网格的个体标记网格的编号k;S2.8第一次个体选择:统计含有点的所有网格的个数M,并计算这些网格的中心位置的坐标,如果M大于种群规模n,则从M个网格中选择n个网格,然后计算这n个网格的点与中心位置的距离,选择每个网格中最近的点组成初始种群,终止该操作过程;如果M等于种群规模n,则计算各个网格的点到中心位置的距离,选择最近的点刚好组成初始种群,终止该操作过程;如果M小于种群规模n,则计算各个网格的点到中心位置的距离,选择最近的点作为第一次选择集合,并继续执行Step 9进行第二次个体选择;S2.9根据种群规模数目与第一次个体选择的个体数目之间的差值u进行第二次个体选择,如果u<w,则在所有含有点的w个网格中随机选择u个网格,从每个网格中随机选择一个点与之前第一次选择的点集合并,生成初始种群,如果u>w,潜在可能的极少数情况,则在随机选择w个网格中选择随机点作为第二次选择集合,继续该步骤进行第三次选择,直到达到种群规模为止;S3选择操作以锦标赛的方式进行个体选择,即从这popszie个个体中随机选择k,k<popszie个个体,这里取k为n/2取整,从这k个个体中选取一个最优个体;选择标准为以非支配排序所在层数Si和拥挤距离数值di作为两个目标,按照非支配优胜关系,对各个个体进行比较,比较优胜的个体为较优个体;S4交叉操作交叉操作使用SBX交叉算子,假设当前代进化过程中的第t代待交叉的两个个体为XAt、XBt,α为交叉涉及的参数取值范围为0~1,则XAt+1、XBt+1为下一代产生的两个个体;形式如下:XAi+1=αXAi+(1-α)XBi]]>XBi+1=(1-α)XAi+αXBi]]>S5变异操作对进化过程中的第gen代种群Pgen中的任一个体pi=(pi1,pi2…piN),i∈{1,2,…n},以概率Pm参与变异操作:产生一个小数r∈[0,1],和一个随机整数j∈[1,N];令pi,j=lj+r*(uj‑lj),对群体Pgen进行变异产生新种群PgenNew;S6聚类选择与差异替换局部搜索S6.1某一代进化结束后的种群Pnew中有n个个体,每个个体在各个维度上的坐标数值为xim,表示该个体在第m维度上的取值,计算在待优化问题中各个目标的数值fit,表示为该个体在第t个目标函数上的数值,其中,i为每个个体的顺次编号;S6.2对种群Pnew中的每个个体按照各个目标数值fit之间的优劣关系进行非支配排序分层的计算,标记每个个体所在的层级ci,并计算每个个体的拥挤距离di;S6.3根据个体所在的各个维度上的坐标值xim以及非支配分层排名ci与拥挤距离di的数值,使用自适应最小生成树聚类算法对该种群中的个体进行聚类,得到k个类别,作为k个特征相近的个体集合{U1,U2,...,Uk};S6.4对特征相近的各个集合{U1,U2,...,Uk}中的个体,根据个体所在的各个维度上的坐标值xim以及各个目标的数值fit计算两两个体之间的相似度pij,其中,i,j为每个个体的顺次编号;S6.5计算类内两两个体之间的相似度pij,并计算各个集合内的平均相似度Pk;S6.6计算将各个集合中的平均相似度Pk,并计算各个类中需要保留的个体数目nk;S6.7按照计算的各个类保留的个体数目nk,选择非支配分层排名和拥挤距离数值较差的(n(Uk)‑nk)个体以及远离理想前沿面的个体,其中,n(Uk)为第k个集合的个体数目;S6.8对这些选择的个体各个维度上的解数值在较小范围内随机替换,形成多组可以替换被选择个体的备选集合,并将这些备选集合中的个体按照非支配排序与拥挤距离的选择方式选择最优个体与原有个体进行比较,如果优于原有个体则进行替换,否则,保留原有个体;S6.9将这些经过替换操作的各个集合中的优良个体与保留的个体集合合并,重新组成新的种群Pnew,继续执行下一代的进化过程;S7终止条件判断若达到规定的代数或者得到满意的结果,则结束并输出结果,否则转S3步骤;S8进入下一遗传循环将种群PgenNew作为下一代进化的初始种群,继续进行S3步骤;以上为基于网格与差异替换的改进多目标遗传算法的主要流程步骤,使用该算法流程应用于电影个性化推荐问题得到电影的推荐列表。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京工业大学,未经北京工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710381920.6/,转载请声明来源钻瓜专利网。