[发明专利]基于正交与聚类修剪改进多目标遗传算法的电影推荐方法有效
申请号: | 201710044461.2 | 申请日: | 2017-01-19 |
公开(公告)号: | CN106844637B | 公开(公告)日: | 2020-01-24 |
发明(设计)人: | 杨新武;赵崇;郭西念 | 申请(专利权)人: | 北京工业大学 |
主分类号: | G06F16/735 | 分类号: | G06F16/735;G06F16/9535;G06N3/12 |
代理公司: | 11203 北京思海天达知识产权代理有限公司 | 代理人: | 沈波 |
地址: | 100124 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 正交 修剪 改进 多目标 遗传 算法 电影 推荐 方法 | ||
1.基于正交与聚类修剪改进多目标遗传算法的电影推荐方法,其特征在于:该方法包括如下步骤,
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采用的是按照以下解空间离散化方式生成M个N位个体,组成临时初始种群P;
S2.1.1找到满足下式的第s维;
S2.1.2若可行解空间为[l,u],l、u是两个具体数字,分别表示可行解的上界和下界,则在第s维处将可行解空间分割成S个子空间:
[l(1),u(1)],[l(2),u(2)]...[l(s),u(s)]
其中,Is=[c1,j]1×N,Is表示一个列向量,用于计算l(i)和u(i)的具体数值,c1,j是一个根据j的取值确定的0或1的数字j=1,2,...S,用于组成列向量Is的一个元素;
上述步骤过程中由于涉及电影编号作为编码的基因位,对各个个体中的N个基因位采用取整操作,并保持个体中不出现重复的电影编号;如果出现重复的电影编号,对该编号进行去除,并补充为不重复的其他电影编号;
S2.2对种群P中的各个个体计算在待优化问题中各个目标的数值fit*,表示为第i个个体在第t*个目标函数上的数值;
S2.3对种群P中的每个个体按照各个目标数值fit之间的优劣关系进行非支配排序分层的计算,并标记每个个体所在的层级Si,表示为第i个个体所在的层级;
S2.4根据层级排名从第一层开始一层一层依次获取个体放入另一个集合中,直到这个集合的个体数目大于或等于4*popszie,如果种群P的个体数目小于4*popszie取该种群个体全集,此时集合中的不同层数个数为m,这个集合即为备选集合,其中,popszie为种群个体数目;
S2.5以备选集合为全集空间,对备选集合中的每个个体计算拥挤距离di,表示为第i个个体拥挤距离的数值;
S2.6在备选集合中,以每个个体的非支配排序层级Si与拥挤距离di作为两个目标,评价个体之间的非支配关系来选择最优的前popszie个个体生成初始种群P0;
S3选择操作
以锦标赛的方式进行个体选择,即从这popszie个个体中随机选择k*,k*<popszie个个体,这里取k*为n/2取整,从这k*个个体中选取一个最优个体;
选择标准为以非支配排序所在层数Si和拥挤距离数值di作为两个目标,按照非支配优胜关系,对各个个体进行比较,比较优胜的个体为较优个体;
S4交叉操作
交叉操作使用SBX交叉算子,假设当前代进化过程中的第t代待交叉的两个个体为XAt、XBt,α为交叉涉及的参数取值范围为0~1,则XAt+1、XBt+1为下一代产生的两个个体;形式如下:
S5变异操作
对进过过程中的第gen代种群Pgen中的任一个体pi=(pi1,p i2…p iN),i∈{1,2,…n},以概率Pm参与变异操作:产生一个小数r∈[0,1],和一个随机整数j∈[1,N];令pi,j=lj+r*(uj-lj),对群体Pgen进行变异产生新种群PgenNew;
S6自适应聚类局部修剪策略
S6.1设种群PgenNew中有popszie个个体,使用K-means聚类算法对该种群进行聚类,得到k个类;
S6.2对S6.1中聚类结果的k个类中的类内两两个体之间计算相似度,然后计算类内的平均相似度Pk;
S6.3根据S6.2中计算的各个类中的类内平均相似度Pk自适应的计算各个类中保留的个体数目,保留类内个体数目的百分比计算公式参考如下,其中,修剪参数δ为0.12~0.15;
1-δ*Pk
S6.4按照S6.3中计算的保留个体数目,修剪掉非支配分层排名与拥挤距离计算较差以及远离理想前沿面的少量个体;
S6.5将这些修剪后剩下的个体重新组成新的种群PgenNew,继续执行下一代的进化过程;
S7终止条件判断
若达到规定的代数或者得到满意的结果,则结束并输出结果,否则转S3步骤;
S8进入下一遗传循环
将种群PgenNew作为下一代进化的初始种群,继续进行S3步骤;
以上为基于正交与聚类修剪的改进多目标遗传算法的主要流程步骤,使用该算法流程应用于电影个性化推荐问题得到电影的推荐列表。
2.根据权利要求1所述的基于正交与聚类修剪改进多目标遗传算法的电影推荐方法,其特征在于:计算种群内个体适应度值的方法如下,
在本应用场景中,对于多目标优化问题的个体适用度的计算,需要计算多个目标函数,然后用非支配排序的方法计算各个个体所在的层数,将层数作为个体的虚拟适用度值;
这里涉及到两个目标函数,分别指的是使用用户相似度矩阵中最相近的K个用户计算N部电影编号对应的预测评分之和以及使用电影属性相似度矩阵计算相似电影得到的N个电影编号对应的预测评分之和;对于已经使用上述两种方式计算出来的单部电影预测评分记录下来,下次计算同样的电影编号对应的电影评分则不需要计算,直接读取该评分数值求和即可;
其中,非支配排序指的是著名的多目标优化研究学者Pareto提出的针对多目标优化问题两个解之间的优胜方式:如果一个解Pi对应的所有目标值都优于另一个解Pj对应的所有目标值,认为Pi优于Pj;如果两个解Pi和Pj对应的所有目标之间不具备这样的优劣关系,则认为两者是非支配关系;按照这样的方式选择个体,在整个种群中首先被选出的非支配个体集合C1作为第1层,然后在剩下的所有个体中继续进行选择得到的非支配个体集合C2为第2层,一直进行下去直到找到最后一个个体集合Cm,其中m为总的层数;
其中,在第一代进化之前,该算法根据用户所看电影的评分数值,计算两两用户之间的相似度,并选出与待推荐用户的相似度从大到小排序前K个用户;在进化过程中,该算法以上述K个用户相似度数值为权重,利用这些用户的评分数据计算当前用户的N部待推荐电影预测评分,并求和,作为第一个目标数值;
同时,在第一代进化之前,该算法根据电影之间的属性数值,计算各个电影之间的相似度大小;在进化过程中,该算法以待推荐用户已经看过的电影评分为权重,计算当前用户的N部待推荐电影相关程度的预测评分,并求和,作为第二个目标数值,从而形成该多目标电影推荐问题的函数值计算方式;
对于已经使用上述两种方式计算出来的单部电影预测评分记录下来,下次计算同样的电影编号对应的电影评分则不需要计算,直接读取该评分数值求和即可。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京工业大学,未经北京工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710044461.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:用于存放干燥剂的容纳袋及包装箱
- 下一篇:一种迷迭香精油香皂包装纸盒