[发明专利]基于改进NSGA-II的个性化电影推荐方法有效
| 申请号: | 201710271129.X | 申请日: | 2017-04-24 |
| 公开(公告)号: | CN107203590B | 公开(公告)日: | 2021-02-02 |
| 发明(设计)人: | 杨新武;郭西念;赵崇 | 申请(专利权)人: | 北京工业大学 |
| 主分类号: | G06F16/735 | 分类号: | G06F16/735;G06F16/9536 |
| 代理公司: | 北京思海天达知识产权代理有限公司 11203 | 代理人: | 沈波 |
| 地址: | 100124 *** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 改进 nsga ii 个性化 电影 推荐 方法 | ||
1.基于改进NSGA-II的个性化电影推荐方法,包括以下步骤:
S1.个体编码方案、相关参数取值:
个体编码采用实数编码,每个电影的ID表示一个基因位,N个推荐电影组成一条染色体,个体编码形式为:d1,d2,di…dN,其中N表示推荐的电影个数,di表示第i个需要推荐的电影编号;种群初始化为popsize,交叉概率pc为0.9,变异概率pm为0.1,每条染色体中电影编号不重复;
S2.相对熵过滤方式初始化推荐电影种群:
Step1.随机产生s个,数目为n的推荐电影种群,记作推荐电影种群P,即推荐电影种群P的电影列表数目为m×s,s为正整数;
Step2.对推荐电影种群P中的各个电影列表计算在待优化问题中各个目标函数fit,表示为第i个电影列表在第t个目标函数上的数值;
Step3.对推荐电影种群P中的每个电影列表按照各个目标函数值fit之间的优劣关系进行非支配排序分层的计算,并标记每个电影列表所在的层级Ci,表示为第i个电影列表所在的层级;
Step4.以推荐电影种群P为全集空间,对推荐电影种群P中的每个电影列表计算拥挤距离di,表示为第i个电影列表拥挤距离的数值;
Step5.对于推荐电影种群中的每个电影列表的解向量xi和目标向量yi组成的一个完整向量作为综合相对熵计算的基本单位,计算每两个电影列表之间的相对熵rij;
Step6.对于每一个电影列表i,找出与其他电影列表相对熵最小的电影列表,并记录该电影列表的编号k和相对熵的数值rik,这两个电影列表组成一个待过滤组合;
Step7.按照相对熵过滤阈值R,过滤掉相对熵小于R的所有组合的两个电影列表中非支配排序和拥挤距离表现差的电影列表,此时剩余的电影列表组合成的候选集合为p1;
Step8.在候选集合中p1,以每个电影列表的非支配排序层级ci与拥挤距离di作为两个目标,评价电影列表之间的非支配关系来选择最优的前n个电影列表生成初始推荐电影种群p0,其中,n为推荐电影种群规模数目;
S3.选择操作
以锦标赛的方式进行电影列表的选择,即从这popsize个电影列表中随机选择k个电影列表,kpopsize,从这k个电影列表中选取一个最优的电影列表;
选择标准为以非支配排序所在层数si和拥挤距离数值di作为两个目标,按照非支配优胜关系,对各个电影列表进行比较,比较优胜的电影列表为最优电影列表;
S4.交叉操作
交叉操作采用SBX交叉算子,假设当前代进化过程中的第t代待交叉的两个电影列表为XAt、XBt,α为交叉涉及的参数取值范围为0~1,则为下一代产生的两个电影列表;形式如下:
S5.变异操作
对进化过程中的第gen代推荐电影种群Pgen中的任一电影列表pi=(pi1,pi2…pin),i∈{1,2,…popsize},以概率Pm参与变异操作:产生一个小数r∈[0,1],和一个随机整数j∈[1,N];令Pi,j=lj+r×(uj-lj),对推荐电影群体Pgen进行变异产生新推荐电影种群PgenNew其中,可行解空间为[l,u];
S6.维护推荐电影种群进化
运用综合相对熵过滤与自适应最优非劣集合填充维护推荐电影种群进化,基本流程如下:
Step1.对每一代的进化结果集合中非支配排序最优的电影列表放入到非支配集合中,作为整个进化过程中的最优电影列表集合pbest;
Step2.某一代进化结束后的推荐电影种群pnew中有n个电影列表,每个电影列表在各个维度上的坐标数值为xim,表示该电影列表在第m维度上的取值,计算在待优化问题中各个目标的数值fit,表示为该电影列表在第t个目标函数上的数值,其中,i为每个电影列表的顺次编号;
Step3.对推荐电影种群pnew中的每个电影列表按照各个目标数值fit之间的优劣关系进行非支配排序分层的计算,标记每个电影列表所在的层级ci,并计算每个电影列表的拥挤距离di;
Step4.根据电影列表所在的各个维度上的坐标值xim以及各个目标的数值fit,计算两两电影列表之间的综合相对熵,对于每个电影列表,找到与其他电影列表的最小相对熵,并记录该电影列表编号i和得到该最小相对熵的另一个电影列表的编号j以及相对熵数值sij,这样就形成多组电影列表的点对;
Step5.代入计算的所有最小相对熵数值的平均值average(d)和电影推荐种群规模pop以及当前进化代数gen,计算得到当前代的过滤阈值δgen;
Step6.将最小相对熵数值sij小于阈值δgen的电影列表点对,在非支配排序和拥挤距离中表现差的进行过滤,此时过滤mgen个电影列表;
Step7.对于非支配集合pbest中的电影列表,根据每个电影列表所在的各个维度上的坐标值xi以及各个目标的数值fit计算与当前推荐电影种群pnew中各个电影列表的最小综合相对熵,并以上述Step6.中的δgen作为阈值过滤非支配集合pbest中综合相对熵比较小的电影列表;
Step8.在过滤之后的非支配集合pbest中,选择非支配排序与拥挤距离表现比较好的与过滤个数相同的mgen个最优电影列表放入到当前推荐电影种群pnew中,以维持与推荐电影种群规模相同的数目,继续执行下一代的进化过程;
S7.终止条件判断
如果得到的结果为设定的预想结果则结束,否则转S3;
S8.进入下一个遗传循环
将推荐电影种群PgenNew作为下一代进化的初始推荐电影种群,继续进行S3步骤;
依据上面的流程实施,把改进NSGA-II方法应用到个性化电影推荐中,得到个性化的电影推荐列表。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京工业大学,未经北京工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710271129.X/1.html,转载请声明来源钻瓜专利网。





