CN107609033A - 基于自适应协同进化算法的信息核提取方法 - Google Patents

基于自适应协同进化算法的信息核提取方法 Download PDF

Info

Publication number
CN107609033A
CN107609033A CN201710678050.9A CN201710678050A CN107609033A CN 107609033 A CN107609033 A CN 107609033A CN 201710678050 A CN201710678050 A CN 201710678050A CN 107609033 A CN107609033 A CN 107609033A
Authority
CN
China
Prior art keywords
user
information
population
core
parent
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201710678050.9A
Other languages
English (en)
Inventor
慕彩红
刘逸
冯伟
刘若辰
田小林
张丹
缑水平
侯彪
焦李成
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xidian University
Original Assignee
Xidian University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xidian University filed Critical Xidian University
Priority to CN201710678050.9A priority Critical patent/CN107609033A/zh
Publication of CN107609033A publication Critical patent/CN107609033A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Other Investigation Or Analysis Of Materials By Electrical Means (AREA)

Abstract

一种基于自适应协同进化算法的信息核提取方法,主要解决现有技术不能保证推荐效果最优的问题。其实现步骤为:(1)构建用户评分矩阵;(2)初始化父代种群;(3)自适应调整交叉算子选择概率;(4)自适应调整变异算子选择概率;(5)对父代种群分类;(6)组建团队;(7)判断每个团队成员是否来源于父代精英种群;(8)更新子代精英种群;(9)更新子代普通种群;(10)判断父代精英种群的所有信息核是否为中心信息核;(11)更新父代种群;(12)判断迭代次数是否等于200次;(13)输出最佳信息核。通过实验仿真结果表明,本发明与现有信息核提取方法相比推荐效果更高。

Description

基于自适应协同进化算法的信息核提取方法
技术领域
本发明属于物理技术领域,更进一步涉及项目推荐技术领域中的一种基于自适应协同进化算法的信息核提取方法。本发明可根据用户对物品的评分信息,通过自适应协同进化算法提取信息核,由此根据信息核引导用户发现自己需要的物品,从而提高在线推荐的效率,解决传统协同过滤的可扩展性问题。
背景技术
大数据时代的到来导致了信息过载问题日益严重,如何从海量信息中快速有效获取自己感兴趣的信息已经成为一个亟需解决的问题。面临上述问题,推荐系统应运而生并且受到广泛关注。推荐系统通过分析用户的历史行为数据,分析发现用户的兴趣爱好,并为用户推荐其感兴趣的物品或是信息。现如今,已存在的推荐方法有很多,其中协同过滤是应用最为广泛且最为成功的一种推荐方法。然而协同过滤算法存在着可扩展性问题的固有缺陷,可扩展性问题指的是协同过滤算法的时间消耗会随着数据规模的增大呈指数型增长。这个可扩展性问题大大抑制了协同过滤算法的发展,是一个亟需解决的问题。
电子科技大学在其申请的专利文献“一种基于关键用户的个性化推荐方法和系统”(申请号:201510157504.9,申请公布号:CN 104778237 A)中公开了一种基于关键用户的个性化推荐方法。该方法的实施步骤是:步骤1,基于所采集的用户数据为每个用户查找N个相似度最高的邻居得到各用户邻居列表,且各邻居按照相似度从高到低进行排列。步骤2,基于每个用户邻居列表分别计算各用户的权重:用户在用户邻居列表中出现次数越多,排列位置越靠前,权重越大。步骤3,查找权重最大的P个用户作为关键用户。步骤4,基于关键用户对产品的操作数据计算目标用户对平台系统的各产品的推荐度,查找推荐度最大的M个产品作为目标用户的推荐结果。该方法存在的不足之处是,利用相似度构造一个人为设定的信息核选择标准,具有一定的主观性,不能保证获得的信息核对于推荐效果最优。
Caihong Mu等人发表的论文“Information core optimization usingEvolutionary Algorithm with Elite Population in recommender systems”(Congresson Evolutionary Computation(CEC),2017 IEEE)中提出了一种基于精英种群的进化算法提取信息核的方法。该方法的实施步骤是:步骤1,建立用户和物品的稀疏评分矩阵信息。步骤2,根据M精英的进化算法提取信息核。步骤3,根据信息核计算目标用户对平台系统的各产品的评分,并进行推荐。该方法虽然利用了进化算法提取信息核,但是,该方法仍然存在的不足之处是,使用进化算法时,采用了传统遗传算法框架,在搜索效率上不足,还能够进一步提高。
发明内容
本发明的目的是针对现有技术的信息核提取方法依据相似性作为信息核提取指标存在的缺陷与不足,提出了一种基于自适应协同进化算法的信息核提取方法。本发明的具体思路是以推荐误差值作为信息核选择的标准,结合算子自动选择机制和协同进化算法提取信息核。
本发明针对评分数据结合协同进化算法与自适应算子选择方法提取信息核,有效克服了以相似性作为信息核选择指标,不能保证获得的信息核对推荐结果最优。
为了实现上述目的,本发明的具体实现步骤如下:
(1)构建用户评分矩阵:
从用户项目的评分数据集中提取评分信息,将未评过分的项目的评分用0表示,将评过分的项目的评分用对应评分值表示,组成用户评分矩阵;
(2)初始化父代种群:
(2a)将评分信息中用户数目的20%作为信息核长度;
(2b)从评分信息的用户ID集合中,随机选取50个与信息核长度相等的用户ID子集组成初始化父代种群;
(2c)将迭代次数初始化为1;
(3)自适应调整交叉算子选择概率:
(3a)按照下式,计算每个自适应调整交叉算子的比例适应度值:
其中,Hj(t)表示第t次迭代时,第j个自适应调整交叉算子的比例适应度值,j=1,2,3,Hj(t-1)表示第t-1次迭代时,第j个自适应调整交叉算子的比例适应度值,表示第j个自适应调整交叉算子的积极影响系数,表示第j个自适应调整交叉算子的消极影响系数;
(3b)按照下式,计算每个自适应调整交叉算子的选择概率:
其中,sn表示第n个自适应调整交叉算子的选择概率,n=1,2,3,Hn表示第n个自适应调整交叉算子的比例适应度值,He表示第e个自适应调整交叉算子的比例适应度值;
(3c)将每个自适应调整交叉算子的积极影响系数和消极影响系数设定为0;
(4)自适应调整变异算子选择概率:
(4a)按照下式,计算每个自适应调整变异算子的比例适应度值:
其中,Jw(t)表示第t次迭代时,第w个自适应调整变异算子的比例适应度值,w=1,2,Jw(t-1)表示第t-1次迭代时,第w个自适应调整变异算子的比例适应度值,表示第w个自适应调整变异算子的积极影响系数,表示第w个自适应调整变异算子的消极影响系数;
(4b)按照下式,计算每个自适应调整变异算子的选择概率:
其中,qh表示第h个自适应调整变异算子的选择概率,h=1,2,Jh表示第h个自适应调整变异算子的比例适应度值,Jb表示第b个自适应调整变异算子的比例适应度值;
(4c)将每个自适应调整变异算子的积极影响系数和消极影响系数设定为0;
(5)对父代种群分类:
(5a)利用推荐误差方法,获得父代种群中每个信息核的推荐误差值;
(5b)将父代种群中每个信息核,按照其对应的推荐误差值由小到大进行排序,将前5个推荐误差值小的信息核划分到父代精英种群中,其余的信息核划分到父代普通种群中;
(6)组建团队:
(6a)从父代精英种群中选择一个未曾选作中心的信息核;
(6b)按照下式,计算每个团队的成员总数:
其中,G表示每个团队的成员总数,表示向上取整操作,N表示父代种群的规模,M表示父代精英种群的规模;
(6c)从父代精英种群和父代普通种群随机选取与团队的成员数相同数目的信息核;
(6d)将所选取的信息核组成团队;
(7)判断每个团队成员是否来源于父代精英种群;若是,则执行步骤(8),否则,执行步骤(9);
(8)更新子代精英种群:
(8a)在(0,1)区间,生成一个随机数ε;
(8b)判断随机数ε是否满足0<ε<s1,若是,执行步骤(8c),否则,执行步骤(8e),其中,s1表示第1个自适应调整交叉算子的选择概率;
(8c)在(0,1)区间,随机生成一个与步骤(2a)所设定的信息核长度相等的随机数序列,将生成的随机数序列带入下式,生成两个候选精英信息核;
其中,zu表示第一候选精英信息核,μ表示生成的随机数序列,x表示中心信息核,y表示来源于父代精英种群的团队成员,zv表示第二候选精英信息核,[·]表示四舍五入取整操作;
(8d)利用自适应调整交叉算子影响系数公式,更新第1个自适应调整交叉算子的影响系数;
(8e)判断随机数ε是否满足s1≤ε≤s1+s2,若是,执行步骤(8f),否则,执行步骤(8h),其中,s2表示第2个自适应调整交叉算子的选择概率;
(8f)利用集合{0,1}中的元素,随机生成一个与信息核长度相等的随机整数序列,将生成的随机整数序列带入下式,生成两个候选精英信息核;
其中,φ表示生成的随机整数序列;
(8g)利用自适应调整交叉算子影响系数公式,更新第2个自适应调整交叉算子的影响系数;
(8h)判断随机数ε是否满足s1+s2<ε<s1+s2+s3,若是,执行步骤(8i),否则,执行步骤(8l),其中,s3表示第3个自适应调整交叉算子的选择概率;
(8i)在区间,随机生成两个整数g1、g2,满足g1<g2,生成一个与信息核长度相等的序列,按照下式,确定序列中每个元素的值,其中,表示信息核长度:
其中,λk表示序列λ第k个元素,||表示或操作符号;
(8j)将步骤(8i)生成的序列带入下式,生成两个候选精英信息核;
(8k)利用自适应调整交叉算子影响系数公式,更新第3个自适应调整交叉算子的影响系数;
(8l)将子代精英种群初始化为父代精英种群;
(8m)将两个生成的候选精英信息核与子代精英种群的每个信息核,按其对应的推荐误差值从小到大排序,用前5个推荐误差值小的信息核分别替换子代精英种群中每一个信息核;
(9)更新子代普通种群:
(9a)在(0,1)区间,生成一个随机数η;
(9b)判断随机数η是否满足0<η<q1,若是,执行步骤(9c),否则,执行步骤(9f),其中,q1表示第1个自适应调整变异算子的选择概率;
(9c)在(-1,1)区间,随机生成一个与步骤(2a)中所设定的信息核长度相等的随机数序列,将生成的序列带入下式,生成一个候选普通信息核:
c=[x+τ×(x-d)]
其中,c表示候选普通信息核,d表示来源于父代普通种群的团队成员,τ表示生成的随机数序列;
(9d)利用修正公式,修正候选普通信息核的每个用户ID;
(9e)利用自适应调整变异算子影响系数公式,更新第1个自适应调整变异算子的影响系数;
(9f)判断随机数η是否满足q1≤η<q1+q2,若是,执行步骤(9g),否则,执行步骤(9j),其中,q2表示第2个自适应调整变异算子的选择概率;
(9g)在(0,1)区间,随机生成两个与信息核长度相等的随机数序列,按照下式,计算候选普通信息核的所有的用户ID;
其中,表示生成的第一个随机数序列中第l个元素的值,γl表示生成的第二个随机数序列γ中第l个元素的值,xl表示中心信息核x中第l个用户ID;
(9h)利用修正公式,修正候选普通信息核的每个用户ID;
(9i)利用自适应调整变异算子影响系数公式,更新第2个自适应调整变异算子的影响系数;
(9j)将子代普通种群初始化为父代普通种群;
(9k)将生成的候选普通信息核与子代普通种群的每个信息核,按其对应的推荐误差值从小到大排序,用将前45个推荐误差值小的信息核分别替换子代普通种群中每一个信息核;
(10)判断父代精英种群的所有信息核是否为中心信息核,若是,执行步骤(11),否则,执行步骤(6);
(11)更新父代种群:
将子代精英种群与子代普通种群合并组成过渡种群,用过渡种群的信息核依次替换种群的每一个信息核;
(12)判断迭代次数是否等于200次,若是,则执行步骤(13),否则,将迭代次数加1后执行步骤(3);
(13)输出最佳信息核:
(13a)利用推荐误差方法,获得父代种群中所有信息核的推荐误差值;
(13b)将父代种群中推荐误差值最小的信息核作为最佳信息核输出。
本发明与现有技术相比有以下优点:
第1,由于本发明采用了以推荐误差作为信息核选择标准,选择种群中最小推荐误差对应的用户ID子集为最佳信息核的方法,克服了现有技术利用相似度构造一个人为设定的信息核选择标准,不能保证获得的信息核对于推荐效果最优的不足,使得本发明具有选择信息核更加准确,继而提高推荐效果的优点。
第2,由于本发明首次将协同进化算法用于信息核提取,提出了利用协同操作、引导操作生成候选信息核,并设计算子自动选择机制,自适应调整每个协同操作和引导操作额的选择概率地信息核提取方法,克服了现有技术进化过程中采用传统遗传算法框架,在收敛效率上不足的缺点,使得本发明具有在进化过程更加有效进而提升搜索效率的优点。
附图说明
图1是本发明的流程图;
图2是本发明的更新子代精英种群流程图;
图3是本发明的更新子代普通种群流程图;
图4是本发明与现有基于Rank的信息核提取技术和基于Frequence的信息核提取技术在Data1~Data5测试数据子集上平均绝对误差均值随邻居用户数量K变化的仿真结果图;
图5是本发明与现有基于遗传算法的信息核提取技术在Data1~Data5训练数据子集上推荐误差均值随迭代次数变化的仿真结果图。
具体实施方式
以下结合附图对本发明的具体实施措施进行详细描述。
参照图1,本发明的实现步骤如下。
步骤1,构建用户评分矩阵。
从用户项目的评分数据集中提取提取评分信息,评分信息包括用户ID、项目ID以及用户对项目的评分,将未评过分的项目的评分用0表示,将评过分的项目的评分用对应评分值表示,组成用户评分矩阵。
步骤2,初始化父代种群。
将评分信息中用户ID集合的用户数目的20%作为信息核长度。
从评分信息的用户ID集合,随机选取50个与信息核长度相等的用户ID子集组成初始化父代种群。
将迭代次数初始化为1。
步骤3,自适应调整交叉算子选择概率。
按照下式,计算每个自适应调整交叉算子的比例适应度值。
其中,Hj(t)表示第t次迭代时,第j个自适应调整交叉算子的比例适应度值,j=1,2,3,Hj(t-1)表示第t-1次迭代时,第j个自适应调整交叉算子的比例适应度值,表示第j个自适应调整交叉算子的积极影响系数,表示第j个自适应调整交叉算子的消极影响系数。
按照下式,计算每个自适应调整交叉算子的选择概率。
其中,sn表示第n个自适应调整交叉算子的选择概率,n=1,2,3,Hn表示第n个自适应调整交叉算子的比例适应度值,He表示第e个自适应调整交叉算子的比例适应度值。
将每个自适应调整交叉算子的积极影响系数和消极影响系数设定为0。
步骤4,自适应调整变异算子选择概率。
按照下式,计算每个自适应调整变异算子的比例适应度值。
其中,Jw(t)表示第t次迭代时,第w个自适应调整变异算子的比例适应度值,w=1,2,Jw(t-1)表示第t-1次迭代时,第w个自适应调整变异算子的比例适应度值,表示第w个自适应调整变异算子的积极影响系数,表示第w个自适应调整变异算子的消极影响系数。
按照下式,计算每个自适应调整变异算子的选择概率。
其中,qh表示第h个自适应调整变异算子的选择概率,h=1,2,Jh表示第h个自适应调整变异算子的比例适应度值,Jb表示第b个自适应调整变异算子的比例适应度值。
将每个自适应调整变异算子的积极影响系数和消极影响系数设定为0。
步骤5,对父代种群分类。
利用推荐误差方法,按照如下步骤,获得父代种群中每个信息核的推荐误差值。
第1步,按照信息核中的用户ID从评分信息数据集中提取对应的评分信息,评分信息包括用户ID、项目ID以及用户对项目的评分,将未评过分的项目的评分用0表示,将评过分的项目的评分用对应评分值表示,组成信息核评分矩阵将父代种群中每个信息核,按照其对应的推荐误差值由小到大进行排序,将前5个推荐误差值小的信息核划分到父代精英种群中,其余的信息核划分到父代普通种群中。
第2步,按照下式,计算用户评分矩阵的任意ID用户与信息核评分矩阵任意ID用户的相似度。
其中,sim(u,v)表示用户评分矩阵中任意ID用户u与信息核评分矩阵中任意ID用户v的相似度,∑表示求和操作,i表示任意ID项目,∈表示属于符号,I(u)表示用户评分矩阵中ID用户u评过分的ID项目集合,∩表示求交集操作,I(v)表示信息核评分矩阵中ID用户v评过分的ID项目集合,rui表示用户评分矩阵中任意ID用户u对ID项目i的实际评分,表示用户评分矩阵中任意ID用户u的平均评分,rvi表示信息核评分矩阵中任意ID用户v对ID项目i的实际评分,表示信息核评分矩阵中任意ID用户v的平均评分,表示开平方操作,min(·)表示求最小值操作,〈I(u)∩I(v)>表示两个项目集和的交集中元素的数目。
第3步,判断是否计算完用户评分矩阵中所有ID用户与信息核矩阵中所有ID用户的相似度,若是,执行本步骤的第4步,否则,执行本步骤的第2步。
第4步,选择用户评分矩阵中任意一个ID用户作为目标ID用户。
第5步,将信息核评分矩阵中所有ID用户组成的集合作为目标ID用户的邻居ID用户集。
第6步,按照下式,计算用户评分矩阵中目标ID用户对评过分的ID项目的预测评分:
其中,pai表示用户评分矩阵中目标ID用户a对评过分的ID项目i的预测评分,表示用户评分矩阵中目标ID用户a的平均评分,s表示信息核评分矩阵中任意ID用户,Hai表示目标ID用户a邻居ID用户集中对ID项目i评过分的邻居ID用户子集,Hai={s∈Ka|rsi≠0},其中,Ka目标ID用户a的邻居ID用户集,|表示集合定义符号,rsi表示信息核评分矩阵中ID用户s对ID项目i的实际评分,sim(a,s)表示用户评分矩阵中目标ID用户a与信息核评分矩阵中ID用户s的相似度,|·|表示绝对值操作。
第7步,判断用户评分矩阵中所有ID用户是否均被选为目标ID用户,若是,则执行本步骤的第8步,否则,执行本步骤的第4步。
第8步,按照下式,计算信息核的推荐误差值。
其中,f(g)表示信息核g的推荐误差值,<T>表示用户评分矩阵中评过分ID项目的集合T中元素的数目,T={rmi|rmi≠0},rmi表示用户评分矩阵中任意ID用户m对ID项目i的实际评分,pui表示用户评分矩阵中任意ID用户u对ID项目i的预测评分。
将父代种群中每个信息核,按照其对应的推荐误差值由小到大进行排序,将前5个推荐误差值小的信息核划分到父代精英种群中,其余的信息核划分到父代普通种群中。
步骤6,组建团队。
从父代精英种群中选择一个未曾选作中心的信息核。
按照下式,计算每个团队的成员总数。
其中,G表示每个团队的成员总数,表示向上取整操作,N表示父代种群的规模,M表示父代精英种群的规模。
从父代精英种群和父代普通种群随机选取与团队的成员数相同数目的信息核。
将所选取的信息核组成团队。
步骤7,判断每个团队成员是否来源于父代精英种群,若是,则执行步骤8,否则,执行步骤9。
步骤8,更新子代精英种群。
参照图2,对本发明的更新子代精英种群的步骤详细描述如下。
第1步,在(0,1)区间,生成一个随机数ε。
第2步,判断随机数ε是否满足0<ε<s1,若是,执行本步骤的第3步,否则,执行本步骤的第5步,其中,s1表示第1个自适应调整交叉算子的选择概率。
第3步,在(0,1)区间,随机生成一个与步骤2所设定的信息核长度相等的随机数序列,将生成的随机数序列带入下式,生成两个候选精英信息核。
其中,zu表示第一候选精英信息核,μ表示生成的随机数序列,x表示中心信息核,y表示来源于父代精英种群的团队成员,zv表示第二候选精英信息核,[·]表示四舍五入取整操作。
第4步,利用自适应调整交叉算子影响系数公式,按照下式,更新第1个自适应调整交叉算子的影响系数。
其中,表示第ρ个自适应调整交叉算子的积极影响系数,f(zu)表示第一候选信息核zu的推荐误差值,f(ep)表示父代精英中任意信息核ep的推荐误差值,f(x)表示中心信息核x的推荐误差值,表示第ρ个自适应调整交叉算子的积极影响系数,f(zv)表示第二候选信息核zv的推荐误差值,f(y)表示来源于父代精英种群的团队成员y的推荐误差值。
第5步,判断随机数ε是否满足s1≤ε≤s1+s2,若是,执行本步骤的第6步,否则,执行本步骤的第8步,其中,s2表示第2个自适应调整交叉算子的选择概率。
第6步,利用集合{0,1}中的元素,随机生成一个与信息核长度相等的随机整数序列,将生成的随机整数序列带入下式,生成两个候选精英信息核。
其中,φ表示生成的随机整数序列。
第7步,利用自适应调整交叉算子影响系数公式,按照下式,更新第1个自适应调整交叉算子的影响系数:
其中,表示第ρ个自适应调整交叉算子的积极影响系数,f(zu)表示第一候选信息核zu的推荐误差值,f(ep)表示父代精英中任意信息核ep的推荐误差值,f(x)表示中心信息核x的推荐误差值,表示第ρ个自适应调整交叉算子的积极影响系数,f(zv)表示第二候选信息核zv的推荐误差值,f(y)表示来源于父代精英种群的团队成员y的推荐误差值。
第8步,判断随机数ε是否满足s1+s2<ε<s1+s2+s3,若是,执行本步骤的第9步,否则,执行本步骤的第12步,其中,s3表示第3个自适应调整交叉算子的选择概率。
第9步,在(1,β)区间,随机生成两个整数g1、g2,满足g1<g2,生成一个与信息核长度相等的序列,按照下式,确定序列中每个元素的值,其中,β表示信息核长度。
其中,λk表示序列λ第k个元素,||表示或操作符号。
第10步,将步骤(8i)生成的序列带入下式,生成两个候选精英信息核。
第11步,利用自适应调整交叉算子影响系数公式,按照下式,更新第1个自适应调整交叉算子的影响系数。
其中,表示第ρ个自适应调整交叉算子的积极影响系数,f(zu)表示第一候选信息核zu的推荐误差值,f(ep)表示父代精英中任意信息核ep的推荐误差值,f(x)表示中心信息核x的推荐误差值,表示第ρ个自适应调整交叉算子的积极影响系数,f(zv)表示第二候选信息核zv的推荐误差值,f(y)表示来源于父代精英种群的团队成员y的推荐误差值。
第12步,将子代精英种群初始化为父代精英种群。
第13步,将两个生成的候选精英信息核与子代精英种群的每个信息核,按其对应的推荐误差值从小到大排序,用前5个推荐误差值小的信息核分别替换子代精英种群中每一个信息核。
步骤9,更新子代普通种群。
参照图3,对本发明的更新子代普通种群的步骤详细描述如下。
第1步,在(0,1)区间,生成一个随机数η。
第2步,判断随机数η是否满足0<η<q1,若是,执行本步骤的第3步,否则,执行本步骤的第6步,其中,q1表示第1个自适应调整变异算子的选择概率。
第3步,在(-1,1)区间,随机生成一个与步骤(2a)中所设定的信息核长度相等的随机数序列,将生成的序列带入下式,生成一个候选普通信息核。
c=[x+τ×(x-d)]
其中,c表示候选普通信息核,d表示来源于父代普通种群的团队成员,τ表示生成的随机数序列。
第4步,利用修正公式,按照下式,修正候选普通信息核的每个用户ID。
其中,cl表示候选普通信息核c中第l个用户ID,σ表示评分信息中最小的用户ID,表示评分信息中最大的用户ID。
第5步,利用自适应调整变异算子影响系数公式,按照下式,更新第1个自适应调整变异算子的影响系数。
其中,表示第ψ个自适应调整变异算子的积极影响系数,表示第ψ个自适应调整变异算子的消极影响系数,f(c)表示候选普通信息核的推荐误差值,f(cp)表示父代普通种群中任意信息核cp的推荐误差值,f(d)表示来源于父代普通种群中的团队成员d的推荐误差值。
第6步,判断随机数η是否满足q1≤η<q1+q2,若是,执行本步骤的第7步,否则,执行本步骤的第10步,其中,q2表示第2个自适应调整变异算子的选择概率。
第7步,在(0,1)区间,随机生成两个与信息核长度相等的随机数序列,按照下式,计算候选普通信息核的所有的用户ID。
其中,表示生成的第一个随机数序列中第l个元素的值,γl表示生成的第二个随机数序列γ中第l个元素的值,xl表示中心信息核x中第l个用户ID。
第8步,利用修正公式,按照下式,修正候选普通信息核的每个用户ID。
其中,cl表示候选普通信息核c中第l个用户ID,σ表示评分信息中最小的用户ID,表示评分信息中最大的用户ID。
第9步,利用自适应调整变异算子影响系数公式,按照下式,更新第1个自适应调整变异算子的影响系数。
其中,表示第ψ个自适应调整变异算子的积极影响系数,表示第ψ个自适应调整变异算子的消极影响系数,f(c)表示候选普通信息核的推荐误差值,f(cp)表示父代普通种群中任意信息核cp的推荐误差值,f(d)表示来源于父代普通种群中的团队成员d的推荐误差值。
第10步,将子代普通种群初始化为父代普通种群。
第11步,将生成的候选普通信息核与子代普通种群的每个信息核,按其对应的推荐误差值从小到大排序,用将前45个推荐误差值小的信息核分别替换子代普通种群中每一个信息核。
步骤10,判断父代精英种群的所有信息核是否为中心信息核,若是,执行步骤11,否则,执行步骤6。
步骤11,更新父代种群。
将子代精英种群与子代普通种群合并组成过渡种群,用过渡种群的信息核依次替换种群的每一个信息核。
步骤12,判断迭代次数是否等于200次,若是,则执行步骤13,否则,将迭代次数加1后执行步骤3。
步骤13,输出最佳信息核。
利用推荐误差方法,按照如下步骤,获得父代种群中每个信息核的推荐误差值。
第1步,按照信息核中的用户ID从评分信息数据集中提取对应的评分信息,评分信息包括用户ID、项目ID以及用户对项目的评分,将未评过分的项目的评分用0表示,将评过分的项目的评分用对应评分值表示,组成信息核评分矩阵将父代种群中每个信息核,按照其对应的推荐误差值由小到大进行排序,将前5个推荐误差值小的信息核划分到父代精英种群中,其余的信息核划分到父代普通种群中。
第2步,按照下式,计算用户评分矩阵的任意ID用户与信息核评分矩阵任意ID用户的相似度。
其中,sim(u,v)表示用户评分矩阵中任意ID用户u与信息核评分矩阵中任意ID用户v的相似度,∑表示求和操作,i表示任意ID项目,∈表示属于符号,I(u)表示用户评分矩阵中ID用户u评过分的ID项目集合,∩表示求交集操作,I(v)表示信息核评分矩阵中ID用户v评过分的ID项目集合,rui表示用户评分矩阵中任意ID用户u对ID项目i的实际评分,表示用户评分矩阵中任意ID用户u的平均评分,rvi表示信息核评分矩阵中任意ID用户v对ID项目i的实际评分,表示信息核评分矩阵中任意ID用户v的平均评分,表示开平方操作,min(·)表示求最小值操作,<I(u)∩I(v)>表示两个项目集和的交集中元素的数目。
第3步,判断是否计算完用户评分矩阵中所有ID用户与信息核矩阵中所有ID用户的相似度,若是,执行本步骤的第4步,否则,执行本步骤的第2步。
第4步,选择用户评分矩阵中任意一个ID用户作为目标ID用户。
第5步,将信息核评分矩阵中所有ID用户组成的集合作为目标ID用户的邻居ID用户集。
第6步,按照下式,计算用户评分矩阵中目标ID用户对评过分的ID项目的预测评分。
其中,pai表示用户评分矩阵中目标ID用户a对评过分的ID项目i的预测评分,表示用户评分矩阵中目标ID用户a的平均评分,s表示信息核评分矩阵中任意ID用户,Hai表示目标ID用户a邻居ID用户集中对ID项目i评过分的邻居ID用户子集,Hai={s∈Ka|rsi≠0},其中,Ka目标ID用户a的邻居ID用户集,|表示集合定义符号,rsi表示信息核评分矩阵中ID用户s对ID项目i的实际评分,sim(a,s)表示用户评分矩阵中目标ID用户a与信息核评分矩阵中ID用户s的相似度,|·|表示绝对值操作。
第7步,判断用户评分矩阵中所有ID用户是否均被选为目标ID用户,若是,则执行本步骤的第8步,否则,执行本步骤的第4步。
第8步,按照下式,计算信息核的推荐误差值。
其中,f(g)表示信息核g的推荐误差值,<T>表示用户评分矩阵中评过分ID项目的集合T中元素的数目,T={rmi|rmi≠0},rmi表示用户评分矩阵中任意ID用户m对ID项目i的实际评分,pui表示用户评分矩阵中任意ID用户u对ID项目i的预测评分。
将父代种群中推荐误差值最小的信息核作为最佳信息核输出。
下面结合仿真实验对本发明的效果做进一步的说明。
1.仿真实验的条件:
本发明的仿真实验运行环境:CPU为Intel(R)Core(TM)i5-6500U@3.20GHz,内存为8GB,编译环境为Matlab2016b。
2.仿真实验数据与评价指标:
本发明的仿真实验中采用推荐系统领域常用的数据集MovieLens-100K,为了验证本发明在提取信息核上的有效性,将数据集中的评分信息随机按照4:1的比例分割5次,获得五个原始数据集Data1~Data5,每个原始数据集包含训练数据子集Train和测试数据子集Test,以Data1为例,具体数据统计信息见表1。
表1数据集统计信息表
其中,表1中英文Dataset(original)表示原始数据集Data1~Data5,Dataset(subset)表示每个原始数据集中的子集,包括训练数据子集Train和测试数据子集Test,#User表示ID用户数量,#Item表示ID项目数量,#Ratings表示评分数量,其中,R表示ID用户对ID用户的评分,U表示ID用户集合,I表示ID项目集合。
本发明采用推荐系统领域常用的评价指标为平均绝对误差MAE,按如下步骤,计算信息核在测试数据上的MAE:
第1步,按照信息核中的用户ID从训练数据子集中提取对应的评分信息,评分信息包括用户ID、项目ID以及用户对项目的评分,将未评过分的项目的评分用0表示,将评过分的项目的评分用对应评分值表示,组成信息核评分矩阵。
第2步,按照下式,计算用户评分矩阵的任意ID用户与信息核评分矩阵任意ID用户的相似度。
其中,sim(u,v)表示用户评分矩阵中任意ID用户u与信息核评分矩阵中任意ID用户v的相似度,∑表示求和操作,i表示任意ID项目,∈表示属于符号,I(u)表示用户评分矩阵中ID用户u评过分的ID项目集合,∩表示求交集操作,I(v)表示信息核评分矩阵中ID用户v评过分的ID项目集合,rui表示用户评分矩阵中任意ID用户u对ID项目i的实际评分,表示用户评分矩阵中任意ID用户u的平均评分,rvi表示信息核评分矩阵中任意ID用户v对ID项目i的实际评分,表示信息核评分矩阵中任意ID用户v的平均评分,表示开平方操作,min(·)表示求最小值操作,<I(u)∩I(v)>表示两个项目集和的交集中元素的数目。
第3步,判断是否计算完用户评分矩阵中所有ID用户与信息核矩阵中所有ID用户的相似度,若是,执行本步骤的第4步,否则,执行本步骤的第2步。
第4步,选择用户评分矩阵中任意一个ID用户作为目标ID用户。
第5步,将信息核评分矩阵中所有ID用户组成的集合作为目标ID用户的邻居ID用户集。第6步,选择用户评分矩阵中任意一个用户作为目标用户。
第7步,将目标用户与其它用户的相似度值按照从大到小排序,选取排序中前K个用户,作为目标用户的邻居用户集,1≤K≤β。
第8步,按照下式,计算用户评分矩阵中目标ID用户评分为0的ID项目预测评分:
其中,PaQ表示测试矩阵中目标ID用户a对评过分的ID项目Q的预测评分,HaQ表示目标ID用户a邻居ID用户集中对项目Q评过分的邻居ID用户子集,HaQ={s∈Ka|rsQ≠0},其中Ka目标ID用户a的邻居ID用户集。
第9步,判断用户评分矩阵中所有ID用户是否均被选为目标ID用户,若是,则执行第10步,否则,执行第6步。
第10步,按照信息核中的用户ID从测试数据子集中提取对应的评分信息,评分信息包括用户ID、项目ID以及用户对项目的评分,将未评过分的项目的评分用0表示,将评过分的项目的评分用对应评分值表示,组成信息核评分矩阵。
第11步,按照下式,计算信息核的MAE值。
其中,MAE表示平均绝对误差,<Test>表示测试矩阵中评过分ID项目的集合T中元素的数目,其中,Test={Rmi|Rmi≠0},Rmi表示测试矩阵中任意ID用户m对ID项目i的实际评分,表示测试矩阵中任意ID用户u对ID项目Q的预测评分,表示ID用户u对ID项目Q的实际评分。
3.仿真实验结果与内容:
本发明的仿真实验1是在Data1~Data5测试数据子集上,以平均绝对误差MAE为评价指标,本发明ACEA与现有技术的基于Rank的信息核提取方法、基于Frequence的信息核提取方法进行对比,对比的结果如图4所示。图4中的纵坐标表示5个数据集测试的MAE的平均值,横坐标表示邻居用户数。图4中以正方形标记的曲线表示采用现有技术的基于Rank的信息核提取方法获得的平均绝对误差平均值。图4中以三角形标记的曲线表示现有技术的基于Frequence的信息核提取方法获得的平均绝对误差平均值。图4中以星形标记的曲线表示本发明获得的平均绝对误差平均值。从图4可以看出,总体上本发明的曲线位于其他现有两种技术的下方,因此说明本发明的平均绝对误差是最低的。
为了进一步验证本发明提取信息核的优势,当邻居数目K为189时,比较各原始数据集的MAE值,具体数据统计信息见表2。
表2平均绝对误差的数据统计信息表
Frequence Rank 本发明
Data1 0.8101 0.8325 0.7786
Data2 0.8193 0.8333 0.7706
Data3 0.8153 0.8395 0.7662
Data4 0.8045 0.8111 0.7667
Data5 0.8154 0.8238 0.7679
平均值 0.8129 0.8280 0.7700
从表2可以看出,本发明的MAE值在Data1~Data5数据集中都低于其他现有两种方法的MAE值。
本发明的仿真实验2是在Data1~Data5训练数据子集上,以推荐误差作为评价指标,本发明ACEA与现有技术的基于遗传算法的信息核提取方法进行对比,对比结果如图5所示。图5中的纵坐标表示5个数据集的推荐误差的平均值,横坐标表示迭代次数。图5中以双划线表示现有技术的基于遗传算法的信息核提取方法获得的推荐误差平均值。图5中以实线表示本发明获得的推荐误差平均值。从图5中可以看出,本发明的曲线位于基于遗传算法的信息核提取方法下方,因此说明本发明在迭代过程中的搜索效率更高。

Claims (6)

1.一种基于自适应协同进化算法的信息核提取方法,包括如下步骤:
(1)构建用户评分矩阵:
从用户项目的评分数据集中提取评分信息,将未评过分的项目的评分用0表示,将评过分的项目的评分用对应评分值表示,组成用户评分矩阵;
(2)初始化父代种群:
(2a)将评分信息中用户数目的20%作为信息核长度;
(2b)从评分信息的用户ID集合中,随机选取50个与信息核长度相等的用户ID子集组成初始化父代种群;
(2c)将迭代次数初始化为1;
(3)自适应调整交叉算子选择概率:
(3a)按照下式,计算每个自适应调整交叉算子的比例适应度值:
<mrow> <msub> <mi>H</mi> <mi>j</mi> </msub> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msub> <mi>H</mi> <mi>j</mi> </msub> <mrow> <mo>(</mo> <mi>t</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>&amp;times;</mo> <mn>0.7</mn> <mo>+</mo> <mrow> <mo>(</mo> <mfrac> <mrow> <msubsup> <mi>CO</mi> <mi>j</mi> <mo>+</mo> </msubsup> <mo>+</mo> <mn>1</mn> </mrow> <mrow> <msubsup> <mi>CO</mi> <mi>j</mi> <mo>-</mo> </msubsup> <mo>+</mo> <mn>1</mn> </mrow> </mfrac> <mo>)</mo> </mrow> <mo>&amp;times;</mo> <mn>0.3</mn> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mi>i</mi> <mi>f</mi> </mrow> </mtd> <mtd> <mrow> <mi>t</mi> <mo>&gt;</mo> <mn>1</mn> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mn>10</mn> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mi>i</mi> <mi>f</mi> </mrow> </mtd> <mtd> <mrow> <mi>t</mi> <mo>=</mo> <mn>1</mn> </mrow> </mtd> </mtr> </mtable> </mfenced> </mrow>
其中,Hj(t)表示第t次迭代时,第j个自适应调整交叉算子的比例适应度值,j=1,2,3,Hj(t-1)表示第t-1次迭代时,第j个自适应调整交叉算子的比例适应度值,表示第j个自适应调整交叉算子的积极影响系数,表示第j个自适应调整交叉算子的消极影响系数;
(3b)按照下式,计算每个自适应调整交叉算子的选择概率:
<mrow> <msub> <mi>s</mi> <mi>n</mi> </msub> <mo>=</mo> <mfrac> <msub> <mi>H</mi> <mi>n</mi> </msub> <mrow> <msubsup> <mi>&amp;Sigma;</mi> <mrow> <mi>e</mi> <mo>=</mo> <mn>1</mn> </mrow> <mn>3</mn> </msubsup> <msub> <mi>H</mi> <mi>e</mi> </msub> </mrow> </mfrac> </mrow>
其中,sn表示第n个自适应调整交叉算子的选择概率,n=1,2,3,Hn表示第n个自适应调整交叉算子的比例适应度值,He表示第e个自适应调整交叉算子的比例适应度值;
(3c)将每个自适应调整交叉算子的积极影响系数和消极影响系数设定为0;
(4)自适应调整变异算子选择概率:
(4a)按照下式,计算每个自适应调整变异算子的比例适应度值:
<mrow> <msub> <mi>J</mi> <mi>w</mi> </msub> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msub> <mi>J</mi> <mi>w</mi> </msub> <mrow> <mo>(</mo> <mi>t</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>&amp;times;</mo> <mn>0.7</mn> <mo>+</mo> <mrow> <mo>(</mo> <mfrac> <mrow> <msubsup> <mi>LD</mi> <mi>w</mi> <mo>+</mo> </msubsup> <mo>+</mo> <mn>1</mn> </mrow> <mrow> <msubsup> <mi>LD</mi> <mi>w</mi> <mo>-</mo> </msubsup> <mo>+</mo> <mn>1</mn> </mrow> </mfrac> <mo>)</mo> </mrow> <mo>&amp;times;</mo> <mn>0.3</mn> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mi>i</mi> <mi>f</mi> </mrow> </mtd> <mtd> <mrow> <mi>t</mi> <mo>&gt;</mo> <mn>1</mn> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mn>10</mn> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mi>i</mi> <mi>f</mi> </mrow> </mtd> <mtd> <mrow> <mi>t</mi> <mo>=</mo> <mn>1</mn> </mrow> </mtd> </mtr> </mtable> </mfenced> </mrow>
其中,Jw(t)表示第t次迭代时,第w个自适应调整变异算子的比例适应度值,w=1,2,Jw(t-1)表示第t-1次迭代时,第w个自适应调整变异算子的比例适应度值,表示第w个自适应调整变异算子的积极影响系数,表示第w个自适应调整变异算子的消极影响系数;
(4b)按照下式,计算每个自适应调整变异算子的选择概率:
<mrow> <msub> <mi>q</mi> <mi>h</mi> </msub> <mo>=</mo> <mfrac> <msub> <mi>J</mi> <mi>h</mi> </msub> <mrow> <msubsup> <mi>&amp;Sigma;</mi> <mrow> <mi>b</mi> <mo>=</mo> <mn>1</mn> </mrow> <mn>2</mn> </msubsup> <msub> <mi>J</mi> <mi>b</mi> </msub> </mrow> </mfrac> </mrow>
其中,qh表示第h个自适应调整变异算子的选择概率,h=1,2,Jh表示第h个自适应调整变异算子的比例适应度值,Jb表示第b个自适应调整变异算子的比例适应度值;
(4c)将每个自适应调整变异算子的积极影响系数和消极影响系数设定为0;
(5)对父代种群分类:
(5a)利用推荐误差方法,获得父代种群中每个信息核的推荐误差值;
(5b)将父代种群中每个信息核,按照其对应的推荐误差值由小到大进行排序,将前5个推荐误差值小的信息核划分到父代精英种群中,其余的信息核划分到父代普通种群中;
(6)组建团队:
(6a)从父代精英种群中选择一个未曾选作中心的信息核;
(6b)按照下式,计算每个团队的成员总数:
其中,G表示每个团队的成员总数,表示向上取整操作,N表示父代种群的规模,M表示父代精英种群的规模;
(6c)从父代精英种群和父代普通种群随机选取与团队的成员数相同数目的信息核;
(6d)将所选取的信息核组成团队;
(7)判断每个团队成员是否来源于父代精英种群;若是,则执行步骤(8),否则,执行步骤(9);
(8)更新子代精英种群:
(8a)在(0,1)区间,生成一个随机数ε;
(8b)判断随机数ε是否满足0<ε<s1,若是,执行步骤(8c),否则,执行步骤(8e),其中,s1表示第1个自适应调整交叉算子的选择概率;
(8c)在(0,1)区间,随机生成一个与步骤(2a)所设定的信息核长度相等的随机数序列,将生成的随机数序列带入下式,生成两个候选精英信息核;
<mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mi>z</mi> <mi>u</mi> <mo>=</mo> <mo>&amp;lsqb;</mo> <mi>&amp;mu;</mi> <mo>&amp;times;</mo> <mi>x</mi> <mo>+</mo> <mo>(</mo> <mn>1</mn> <mo>-</mo> <mi>&amp;mu;</mi> <mo>)</mo> <mo>&amp;times;</mo> <mi>y</mi> <mo>&amp;rsqb;</mo> </mtd> </mtr> <mtr> <mtd> <mi>z</mi> <mi>v</mi> <mo>=</mo> <mo>&amp;lsqb;</mo> <mi>&amp;mu;</mi> <mo>&amp;times;</mo> <mi>y</mi> <mo>+</mo> <mo>(</mo> <mn>1</mn> <mo>-</mo> <mi>&amp;mu;</mi> <mo>)</mo> <mo>&amp;times;</mo> <mi>x</mi> <mo>&amp;rsqb;</mo> </mtd> </mtr> </mtable> </mfenced>
其中,zu表示第一候选精英信息核,μ表示生成的随机数序列,x表示中心信息核,y表示来源于父代精英种群的团队成员,zv表示第二候选精英信息核,[·]表示四舍五入取整操作;
(8d)利用自适应调整交叉算子影响系数公式,更新第1个自适应调整交叉算子的影响系数;
(8e)判断随机数ε是否满足s1≤ε≤s1+s2,若是,执行步骤(8f),否则,执行步骤(8h),其中,s2表示第2个自适应调整交叉算子的选择概率;
(8f)利用集合{0,1}中的元素,随机生成一个与信息核长度相等的随机整数序列,将生成的随机整数序列带入下式,生成两个候选精英信息核;
<mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mi>z</mi> <mi>u</mi> <mo>=</mo> <mi>&amp;phi;</mi> <mo>&amp;times;</mo> <mi>x</mi> <mo>+</mo> <mo>(</mo> <mn>1</mn> <mo>-</mo> <mi>&amp;phi;</mi> <mo>)</mo> <mo>&amp;times;</mo> <mi>y</mi> </mtd> </mtr> <mtr> <mtd> <mi>z</mi> <mi>v</mi> <mo>=</mo> <mi>&amp;phi;</mi> <mo>&amp;times;</mo> <mi>y</mi> <mo>+</mo> <mo>(</mo> <mn>1</mn> <mo>-</mo> <mi>&amp;phi;</mi> <mo>)</mo> <mo>&amp;times;</mo> <mi>x</mi> </mtd> </mtr> </mtable> </mfenced>
其中,φ表示生成的随机整数序列;
(8g)利用自适应调整交叉算子影响系数公式,更新第2个自适应调整交叉算子的影响系数;
(8h)判断随机数ε是否满足s1+s2<ε<s1+s2+s3,若是,执行步骤(8i),否则,执行步骤(8l),其中,s3表示第3个自适应调整交叉算子的选择概率;
(8i)在(1,β)区间,随机生成两个整数g1、g2,满足g1<g2,生成一个与信息核长度相等的序列,按照下式,确定序列中每个元素的值,其中,β表示信息核长度:
<mrow> <msup> <mi>&amp;lambda;</mi> <mi>k</mi> </msup> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mn>1</mn> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mi>i</mi> <mi>f</mi> </mrow> </mtd> <mtd> <mrow> <mi>g</mi> <mn>1</mn> <mo>&amp;le;</mo> <mi>k</mi> <mo>&amp;le;</mo> <mi>g</mi> <mn>2</mn> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mn>0</mn> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mi>i</mi> <mi>f</mi> </mrow> </mtd> <mtd> <mrow> <mi>g</mi> <mn>1</mn> <mo>&gt;</mo> <mi>k</mi> <mo>|</mo> <mo>|</mo> <mi>g</mi> <mn>2</mn> <mo>&lt;</mo> <mi>k</mi> </mrow> </mtd> </mtr> </mtable> </mfenced> </mrow>
其中,λk表示序列λ第k个元素,||表示或操作符号;
(8j)将步骤(8i)生成的序列带入下式,生成两个候选精英信息核;
<mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mi>z</mi> <mi>u</mi> <mo>=</mo> <mi>&amp;lambda;</mi> <mo>&amp;times;</mo> <mi>x</mi> <mo>+</mo> <mo>(</mo> <mn>1</mn> <mo>-</mo> <mi>&amp;lambda;</mi> <mo>)</mo> <mo>&amp;times;</mo> <mi>y</mi> </mtd> </mtr> <mtr> <mtd> <mi>z</mi> <mi>v</mi> <mo>=</mo> <mi>&amp;lambda;</mi> <mo>&amp;times;</mo> <mi>y</mi> <mo>+</mo> <mo>(</mo> <mn>1</mn> <mo>-</mo> <mi>&amp;lambda;</mi> <mo>)</mo> <mo>&amp;times;</mo> <mi>x</mi> </mtd> </mtr> </mtable> </mfenced>
(8k)利用自适应调整交叉算子影响系数公式,更新第3个自适应调整交叉算子的影响系数;
(8l)将子代精英种群初始化为父代精英种群;
(8m)将两个生成的候选精英信息核与子代精英种群的每个信息核,按其对应的推荐误差值从小到大排序,用前5个推荐误差值小的信息核分别替换子代精英种群中每一个信息核;
(9)更新子代普通种群:
(9a)在(0,1)区间,生成一个随机数η;
(9b)判断随机数η是否满足0<η<q1,若是,执行步骤(9c),否则,执行步骤(9f),其中,q1表示第1个自适应调整变异算子的选择概率;
(9c)在(-1,1)区间,随机生成一个与步骤(2a)中所设定的信息核长度相等的随机数序列,将生成的序列带入下式,生成一个候选普通信息核:
c=[x+τ×(x-d)]
其中,c表示候选普通信息核,d表示来源于父代普通种群的团队成员,τ表示生成的随机数序列;
(9d)利用修正公式,修正候选普通信息核的每个用户ID;
(9e)利用自适应调整变异算子影响系数公式,更新第1个自适应调整变异算子的影响系数;
(9f)判断随机数η是否满足q1≤η<q1+q2,若是,执行步骤(9g),否则,执行步骤(9j),其中,q2表示第2个自适应调整变异算子的选择概率;
(9g)在(0,1)区间,随机生成两个与信息核长度相等的随机数序列,按照下式,计算候选普通信息核的所有的用户ID;
其中,表示生成的第一个随机数序列中第l个元素的值,γl表示生成的第二个随机数序列γ中第l个元素的值,xl表示中心信息核x中第l个用户ID;
(9h)利用修正公式,修正候选普通信息核的每个用户ID;
(9i)利用自适应调整变异算子影响系数公式,更新第2个自适应调整变异算子的影响系数;
(9j)将子代普通种群初始化为父代普通种群;
(9k)将生成的候选普通信息核与子代普通种群的每个信息核,按其对应的推荐误差值从小到大排序,用将前45个推荐误差值小的信息核分别替换子代普通种群中每一个信息核;
(10)判断父代精英种群的所有信息核是否为中心信息核,若是,执行步骤(11),否则,执行步骤(6);
(11)更新父代种群:
将子代精英种群与子代普通种群合并组成过渡种群,用过渡种群的信息核依次替换种群的每一个信息核;
(12)判断迭代次数是否等于200次,若是,则执行步骤(13),否则,将迭代次数加1后执行步骤(3);
(13)输出最佳信息核:
(13a)利用推荐误差方法,获得父代种群中所有信息核的推荐误差值;
(13b)将父代种群中推荐误差值最小的信息核作为最佳信息核输出。
2.根据权利要求1所述的基于自适应协同进化算法的信息核提取方法,其特征在于,步骤(1)中所述的评分信息包括用户ID、项目ID以及用户对项目的评分。
3.根据权利要求1所述的基于自适应协同进化算法的信息核提取方法,其特征在于,步骤(5a)、步骤(13a)中所述推荐误差方法的具体步骤如下:
第1步,按照信息核中的用户ID从评分信息数据集中提取对应的评分信息,将未评过分的项目的评分用0表示,将评过分的项目的评分用对应评分值表示,组成信息核评分矩阵;
第2步,按照下式,计算用户评分矩阵的任意ID用户与信息核评分矩阵任意ID用户的相似度:
<mrow> <mi>s</mi> <mi>i</mi> <mi>m</mi> <mrow> <mo>(</mo> <mi>u</mi> <mo>,</mo> <mi>v</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <msub> <mi>&amp;Sigma;</mi> <mrow> <mi>i</mi> <mo>&amp;Element;</mo> <mi>I</mi> <mrow> <mo>(</mo> <mi>u</mi> <mo>)</mo> </mrow> <mo>&amp;cap;</mo> <mi>I</mi> <mrow> <mo>(</mo> <mi>v</mi> <mo>)</mo> </mrow> </mrow> </msub> <mrow> <mo>(</mo> <msub> <mi>r</mi> <mrow> <mi>u</mi> <mi>i</mi> </mrow> </msub> <mo>-</mo> <mover> <msub> <mi>r</mi> <mi>u</mi> </msub> <mo>&amp;OverBar;</mo> </mover> <mo>)</mo> </mrow> <mo>&amp;times;</mo> <mrow> <mo>(</mo> <msub> <mi>r</mi> <mrow> <mi>v</mi> <mi>i</mi> </mrow> </msub> <mo>-</mo> <mover> <msub> <mi>r</mi> <mi>v</mi> </msub> <mo>&amp;OverBar;</mo> </mover> <mo>)</mo> </mrow> </mrow> <mrow> <msqrt> <mrow> <msub> <mi>&amp;Sigma;</mi> <mrow> <mi>i</mi> <mo>&amp;Element;</mo> <mi>I</mi> <mrow> <mo>(</mo> <mi>u</mi> <mo>)</mo> </mrow> <mo>&amp;cap;</mo> <mi>I</mi> <mrow> <mo>(</mo> <mi>v</mi> <mo>)</mo> </mrow> </mrow> </msub> <msup> <mrow> <mo>(</mo> <msub> <mi>r</mi> <mrow> <mi>u</mi> <mi>i</mi> </mrow> </msub> <mo>-</mo> <mover> <msub> <mi>r</mi> <mi>u</mi> </msub> <mo>&amp;OverBar;</mo> </mover> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow> </msqrt> <mo>&amp;times;</mo> <msqrt> <mrow> <msub> <mi>&amp;Sigma;</mi> <mrow> <mi>i</mi> <mo>&amp;Element;</mo> <mi>I</mi> <mrow> <mo>(</mo> <mi>u</mi> <mo>)</mo> </mrow> <mo>&amp;cap;</mo> <mi>I</mi> <mrow> <mo>(</mo> <mi>v</mi> <mo>)</mo> </mrow> </mrow> </msub> <msup> <mrow> <mo>(</mo> <msub> <mi>r</mi> <mrow> <mi>v</mi> <mi>i</mi> </mrow> </msub> <mo>-</mo> <mover> <msub> <mi>r</mi> <mi>v</mi> </msub> <mo>&amp;OverBar;</mo> </mover> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow> </msqrt> </mrow> </mfrac> <mo>&amp;times;</mo> <mi>m</mi> <mi>i</mi> <mi>n</mi> <mrow> <mo>(</mo> <mn>1</mn> <mo>,</mo> <mfrac> <mrow> <mo>&lt;</mo> <mi>I</mi> <mrow> <mo>(</mo> <mi>u</mi> <mo>)</mo> </mrow> <mo>&amp;cap;</mo> <mi>I</mi> <mrow> <mo>(</mo> <mi>v</mi> <mo>)</mo> </mrow> <mo>&gt;</mo> </mrow> <mn>5</mn> </mfrac> <mo>)</mo> </mrow> </mrow>
其中,sim(u,v)表示用户评分矩阵中任意ID用户u与信息核评分矩阵中任意ID用户v的相似度,∑表示求和操作,i表示任意ID项目,∈表示属于符号,I(u)表示用户评分矩阵中ID用户u评过分的ID项目集合,∩表示求交集操作,I(v)表示信息核评分矩阵中ID用户v评过分的ID项目集合,rui表示用户评分矩阵中任意ID用户u对ID项目i的实际评分,表示用户评分矩阵中任意ID用户u的平均评分,rvi表示信息核评分矩阵中任意ID用户v对ID项目i的实际评分,表示信息核评分矩阵中任意ID用户v的平均评分,表示开平方操作,min(·)表示求最小值操作,<I(u)∩I(v)>表示两个项目集和的交集中元素的数目;
第3步,判断是否计算完用户评分矩阵中所有ID用户与信息核矩阵中所有ID用户的相似度,若是,执行第4步,否则,执行第2步;
第4步,选择用户评分矩阵中任意一个ID用户作为目标ID用户;
第5步,将信息核评分矩阵中所有ID用户组成的集合作为目标ID用户的邻居ID用户集;
第6步,按照下式,计算用户评分矩阵中目标ID用户对评过分的ID项目的预测评分:
<mrow> <msub> <mi>p</mi> <mrow> <mi>a</mi> <mi>i</mi> </mrow> </msub> <mo>=</mo> <mover> <msub> <mi>r</mi> <mi>a</mi> </msub> <mo>&amp;OverBar;</mo> </mover> <mo>+</mo> <mfrac> <mrow> <msub> <mi>&amp;Sigma;</mi> <mrow> <mi>s</mi> <mo>&amp;Element;</mo> <msub> <mi>H</mi> <mrow> <mi>a</mi> <mi>i</mi> </mrow> </msub> </mrow> </msub> <mi>s</mi> <mi>i</mi> <mi>m</mi> <mrow> <mo>(</mo> <mi>a</mi> <mo>,</mo> <mi>s</mi> <mo>)</mo> </mrow> <mo>*</mo> <mrow> <mo>(</mo> <msub> <mi>r</mi> <mrow> <mi>s</mi> <mi>i</mi> </mrow> </msub> <mo>-</mo> <mover> <msub> <mi>r</mi> <mi>s</mi> </msub> <mo>&amp;OverBar;</mo> </mover> <mo>)</mo> </mrow> </mrow> <mrow> <mo>|</mo> <msub> <mi>&amp;Sigma;</mi> <mrow> <mi>s</mi> <mo>&amp;Element;</mo> <msub> <mi>H</mi> <mrow> <mi>a</mi> <mi>i</mi> </mrow> </msub> </mrow> </msub> <mi>s</mi> <mi>i</mi> <mi>m</mi> <mrow> <mo>(</mo> <mi>a</mi> <mo>,</mo> <mi>s</mi> <mo>)</mo> </mrow> <mo>|</mo> </mrow> </mfrac> </mrow>
其中,pai表示用户评分矩阵中目标ID用户a对评过分的ID项目i的预测评分,表示用户评分矩阵中目标ID用户a的平均评分,s表示信息核评分矩阵中任意ID用户,Hai表示目标ID用户a邻居ID用户集中对ID项目i评过分的邻居ID用户子集,Hai={s∈Ka|rsi≠0},其中,Ka目标ID用户a的邻居ID用户集,|表示集合定义符号,rsi表示信息核评分矩阵中ID用户s对ID项目i的实际评分,sim(a,s)表示用户评分矩阵中目标ID用户a与信息核评分矩阵中ID用户s的相似度,|·|表示绝对值操作;
第7步,判断用户评分矩阵中所有ID用户是否均被选为目标ID用户,若是,则执行第8步,否则,执行第4步;
第8步,按照下式,计算信息核的推荐误差值:
<mrow> <mi>f</mi> <mrow> <mo>(</mo> <mi>g</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mn>1</mn> <mrow> <mo>&lt;</mo> <mi>T</mi> <mo>&gt;</mo> </mrow> </mfrac> <msub> <mi>&amp;Sigma;</mi> <mrow> <msub> <mi>r</mi> <mrow> <mi>u</mi> <mi>i</mi> </mrow> </msub> <mo>&amp;Element;</mo> <mi>T</mi> </mrow> </msub> <mo>|</mo> <msub> <mi>p</mi> <mrow> <mi>u</mi> <mi>i</mi> </mrow> </msub> <mo>-</mo> <msub> <mi>r</mi> <mrow> <mi>u</mi> <mi>i</mi> </mrow> </msub> <mo>|</mo> </mrow>
其中,f(g)表示信息核g的推荐误差值,<T>表示用户评分矩阵中评过分ID项目的集合T中元素的数目,T={rmi|rmi≠0},rmi表示用户评分矩阵中任意ID用户m对ID项目i的实际评分,pui表示用户评分矩阵中任意ID用户u对ID项目i的预测评分。
4.根据权利要求1所述的基于自适应协同进化算法的信息核提取方法,其特征在于,步骤(8d)、步骤(8g)、步骤(8k)中所述自适应调整交叉算子影响系数公式如下:
<mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msubsup> <mi>CO</mi> <mi>&amp;rho;</mi> <mo>+</mo> </msubsup> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msubsup> <mi>CO</mi> <mi>&amp;rho;</mi> <mo>+</mo> </msubsup> <mo>+</mo> <mn>10</mn> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mi>i</mi> <mi>f</mi> </mrow> </mtd> <mtd> <mrow> <mi>f</mi> <mrow> <mo>(</mo> <mrow> <mi>z</mi> <mi>u</mi> </mrow> <mo>)</mo> </mrow> <mo>&lt;</mo> <mi>min</mi> <mrow> <mo>(</mo> <mrow> <mi>f</mi> <mrow> <mo>(</mo> <mrow> <mi>e</mi> <mi>p</mi> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msubsup> <mi>CO</mi> <mi>&amp;rho;</mi> <mo>+</mo> </msubsup> <mo>+</mo> <mn>4</mn> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mi>i</mi> <mi>f</mi> </mrow> </mtd> <mtd> <mrow> <mi>min</mi> <mrow> <mo>(</mo> <mrow> <mi>f</mi> <mrow> <mo>(</mo> <mrow> <mi>e</mi> <mi>p</mi> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> <mo>&amp;le;</mo> <mi>f</mi> <mrow> <mo>(</mo> <mrow> <mi>z</mi> <mi>u</mi> </mrow> <mo>)</mo> </mrow> <mo>&amp;le;</mo> <mi>f</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mfenced> </mrow> </mtd> </mtr> <mtr> <mtd> <mtable> <mtr> <mtd> <mrow> <msubsup> <mi>CO</mi> <mi>&amp;rho;</mi> <mo>-</mo> </msubsup> <mo>=</mo> <msubsup> <mi>CO</mi> <mi>&amp;rho;</mi> <mo>-</mo> </msubsup> <mo>+</mo> <mn>1</mn> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mi>i</mi> <mi>f</mi> </mrow> </mtd> <mtd> <mrow> <mi>f</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> <mo>&lt;</mo> <mi>f</mi> <mrow> <mo>(</mo> <mrow> <mi>z</mi> <mi>u</mi> </mrow> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mtd> </mtr> </mtable> </mfenced>
<mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msubsup> <mi>CO</mi> <mi>&amp;rho;</mi> <mo>+</mo> </msubsup> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msubsup> <mi>CO</mi> <mi>&amp;rho;</mi> <mo>+</mo> </msubsup> <mo>+</mo> <mn>10</mn> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mi>i</mi> <mi>f</mi> </mrow> </mtd> <mtd> <mrow> <mi>f</mi> <mrow> <mo>(</mo> <mrow> <mi>z</mi> <mi>u</mi> </mrow> <mo>)</mo> </mrow> <mo>&lt;</mo> <mi>min</mi> <mrow> <mo>(</mo> <mrow> <mi>f</mi> <mrow> <mo>(</mo> <mrow> <mi>e</mi> <mi>p</mi> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msubsup> <mi>CO</mi> <mi>&amp;rho;</mi> <mo>+</mo> </msubsup> <mo>+</mo> <mn>4</mn> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mi>i</mi> <mi>f</mi> </mrow> </mtd> <mtd> <mrow> <mi>min</mi> <mrow> <mo>(</mo> <mrow> <mi>f</mi> <mrow> <mo>(</mo> <mrow> <mi>e</mi> <mi>p</mi> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> <mo>&amp;le;</mo> <mi>f</mi> <mrow> <mo>(</mo> <mrow> <mi>z</mi> <mi>u</mi> </mrow> <mo>)</mo> </mrow> <mo>&amp;le;</mo> <mi>f</mi> <mrow> <mo>(</mo> <mi>y</mi> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mfenced> </mrow> </mtd> </mtr> <mtr> <mtd> <mtable> <mtr> <mtd> <mrow> <msubsup> <mi>CO</mi> <mi>&amp;rho;</mi> <mo>-</mo> </msubsup> <mo>=</mo> <msubsup> <mi>CO</mi> <mi>&amp;rho;</mi> <mo>-</mo> </msubsup> <mo>+</mo> <mn>1</mn> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mi>i</mi> <mi>f</mi> </mrow> </mtd> <mtd> <mrow> <mi>f</mi> <mrow> <mo>(</mo> <mi>y</mi> <mo>)</mo> </mrow> <mo>&lt;</mo> <mi>f</mi> <mrow> <mo>(</mo> <mrow> <mi>z</mi> <mi>u</mi> </mrow> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mtd> </mtr> </mtable> </mfenced>
其中,表示第ρ个自适应调整交叉算子的积极影响系数,f(zu)表示第一候选信息核zu的推荐误差值,f(ep)表示父代精英中任意信息核ep的推荐误差值,f(x)表示中心信息核x的推荐误差值,表示第ρ个自适应调整交叉算子的积极影响系数,f(zv)表示第二候选信息核zv的推荐误差值,f(y)表示来源于父代精英种群的团队成员y的推荐误差值。
5.根据权利要求1所述的基于自适应协同进化算法的信息核提取方法,其特征在于,步骤(9d)、步骤(9h)中所述修正公式如下:
<mrow> <msup> <mi>c</mi> <mi>l</mi> </msup> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <munder> <mi>&amp;sigma;</mi> <mo>&amp;OverBar;</mo> </munder> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mi>i</mi> <mi>f</mi> </mrow> </mtd> <mtd> <mrow> <msup> <mi>c</mi> <mi>l</mi> </msup> <mo>&lt;</mo> <munder> <mi>&amp;sigma;</mi> <mo>&amp;OverBar;</mo> </munder> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mover> <mi>&amp;sigma;</mi> <mo>&amp;OverBar;</mo> </mover> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mi>i</mi> <mi>f</mi> </mrow> </mtd> <mtd> <mrow> <msup> <mi>c</mi> <mi>l</mi> </msup> <mo>&gt;</mo> <mover> <mi>&amp;sigma;</mi> <mo>&amp;OverBar;</mo> </mover> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msup> <mi>c</mi> <mi>l</mi> </msup> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mi>i</mi> <mi>f</mi> </mrow> </mtd> <mtd> <mrow> <munder> <mi>&amp;sigma;</mi> <mo>&amp;OverBar;</mo> </munder> <mo>&amp;le;</mo> <msup> <mi>c</mi> <mi>l</mi> </msup> <mo>&amp;le;</mo> <mover> <mi>&amp;sigma;</mi> <mo>&amp;OverBar;</mo> </mover> </mrow> </mtd> </mtr> </mtable> </mfenced> </mrow>
其中,cl表示候选普通信息核c中第l个用户ID,σ表示评分信息中最小的用户ID,表示评分信息中最大的用户ID。
6.根据权利要求1所述的基于自适应协同进化算法的信息核提取方法,其特征在于,步骤(9e)、步骤(9i)中所述的自适应调整变异算子影响系数公式如下:
<mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msubsup> <mi>LD</mi> <mi>&amp;psi;</mi> <mo>+</mo> </msubsup> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msubsup> <mi>LD</mi> <mi>&amp;psi;</mi> <mo>+</mo> </msubsup> <mo>+</mo> <mn>10</mn> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mi>i</mi> <mi>f</mi> </mrow> </mtd> <mtd> <mrow> <mi>f</mi> <mrow> <mo>(</mo> <mi>c</mi> <mo>)</mo> </mrow> <mo>&lt;</mo> <mi>min</mi> <mrow> <mo>(</mo> <mrow> <mi>f</mi> <mrow> <mo>(</mo> <mrow> <mi>c</mi> <mi>p</mi> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msubsup> <mi>LD</mi> <mi>&amp;psi;</mi> <mo>+</mo> </msubsup> <mo>+</mo> <mn>4</mn> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mi>i</mi> <mi>f</mi> </mrow> </mtd> <mtd> <mrow> <mi>min</mi> <mrow> <mo>(</mo> <mrow> <mi>f</mi> <mrow> <mo>(</mo> <mrow> <mi>c</mi> <mi>p</mi> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> <mo>&amp;le;</mo> <mi>f</mi> <mrow> <mo>(</mo> <mi>c</mi> <mo>)</mo> </mrow> <mo>&amp;le;</mo> <mi>f</mi> <mrow> <mo>(</mo> <mi>d</mi> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mfenced> </mrow> </mtd> </mtr> <mtr> <mtd> <mtable> <mtr> <mtd> <mrow> <msubsup> <mi>LD</mi> <mi>&amp;psi;</mi> <mo>-</mo> </msubsup> <mo>=</mo> <msubsup> <mi>LD</mi> <mi>&amp;psi;</mi> <mo>-</mo> </msubsup> <mo>+</mo> <mn>1</mn> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mi>i</mi> <mi>f</mi> </mrow> </mtd> <mtd> <mrow> <mi>f</mi> <mrow> <mo>(</mo> <mi>d</mi> <mo>)</mo> </mrow> <mo>&lt;</mo> <mi>f</mi> <mrow> <mo>(</mo> <mi>c</mi> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mtd> </mtr> </mtable> </mfenced>
其中,表示第ψ个自适应调整变异算子的积极影响系数,表示第ψ个自适应调整变异算子的消极影响系数,f(c)表示候选普通信息核的推荐误差值,f(cp)表示父代普通种群中任意信息核cp的推荐误差值,f(d)表示来源于父代普通种群中的团队成员d的推荐误差值。
CN201710678050.9A 2017-08-10 2017-08-10 基于自适应协同进化算法的信息核提取方法 Pending CN107609033A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710678050.9A CN107609033A (zh) 2017-08-10 2017-08-10 基于自适应协同进化算法的信息核提取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710678050.9A CN107609033A (zh) 2017-08-10 2017-08-10 基于自适应协同进化算法的信息核提取方法

Publications (1)

Publication Number Publication Date
CN107609033A true CN107609033A (zh) 2018-01-19

Family

ID=61064723

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710678050.9A Pending CN107609033A (zh) 2017-08-10 2017-08-10 基于自适应协同进化算法的信息核提取方法

Country Status (1)

Country Link
CN (1) CN107609033A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108681570A (zh) * 2018-05-04 2018-10-19 安徽大学 一种基于多目标进化算法的个性化网页推荐方法
CN108776919A (zh) * 2018-05-31 2018-11-09 西安电子科技大学 基于聚类及进化算法构建信息核的物品推荐方法
CN109949099A (zh) * 2019-03-23 2019-06-28 西安电子科技大学 基于聚类及多臂赌博机的信息核构建方法
CN110162704A (zh) * 2019-05-21 2019-08-23 西安电子科技大学 基于多因子遗传算法的多规模关键用户提取方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108681570A (zh) * 2018-05-04 2018-10-19 安徽大学 一种基于多目标进化算法的个性化网页推荐方法
CN108681570B (zh) * 2018-05-04 2021-09-21 安徽大学 一种基于多目标进化算法的个性化网页推荐方法
CN108776919A (zh) * 2018-05-31 2018-11-09 西安电子科技大学 基于聚类及进化算法构建信息核的物品推荐方法
CN108776919B (zh) * 2018-05-31 2021-07-20 西安电子科技大学 基于聚类及进化算法构建信息核的物品推荐方法
CN109949099A (zh) * 2019-03-23 2019-06-28 西安电子科技大学 基于聚类及多臂赌博机的信息核构建方法
CN109949099B (zh) * 2019-03-23 2022-04-08 西安电子科技大学 基于聚类及多臂赌博机的信息核构建方法
CN110162704A (zh) * 2019-05-21 2019-08-23 西安电子科技大学 基于多因子遗传算法的多规模关键用户提取方法
CN110162704B (zh) * 2019-05-21 2022-06-10 西安电子科技大学 基于多因子遗传算法的多规模关键用户提取方法

Similar Documents

Publication Publication Date Title
CN111797321B (zh) 一种面向不同场景的个性化知识推荐方法及系统
CN107609033A (zh) 基于自适应协同进化算法的信息核提取方法
CN103559504B (zh) 图像目标类别识别方法及装置
CN111414849B (zh) 一种基于演化卷积神经网络的人脸识别方法
CN104462383B (zh) 一种基于用户多种行为反馈的电影推荐方法
CN108960304B (zh) 一种网络交易欺诈行为的深度学习检测方法
CN112231562A (zh) 一种网络谣言识别方法及系统
CN109740655B (zh) 基于矩阵分解及神经协同过滤的物品评分预测方法
CN111125358A (zh) 一种基于超图的文本分类方法
CN106503731A (zh) 一种基于条件互信息和K‑means的无监督特征选择方法
CN108776919B (zh) 基于聚类及进化算法构建信息核的物品推荐方法
CN104820702B (zh) 一种基于决策树的属性加权方法及文本分类方法
CN113269647A (zh) 基于图的交易异常关联用户检测方法
CN102842043A (zh) 基于自动聚类的粒子群优化分类方法
CN105205130A (zh) 一种提升推荐系统准确性的方法
CN112149825A (zh) 神经网络模型的训练方法及装置、电子设备、存储介质
CN110188196A (zh) 一种基于随机森林的文本增量降维方法
CN114513367B (zh) 基于图神经网络的蜂窝网络异常检测方法
CN114880490A (zh) 一种基于图注意力网络的知识图谱补全方法
CN109617864B (zh) 一种网站识别方法及网站识别系统
CN104572623B (zh) 一种在线lda模型的高效数据总结分析方法
CN105117559A (zh) 基于模糊决策图与灰色关联分析的枪械设计方案评价方法
Parvin et al. A scalable method for improving the performance of classifiers in multiclass applications by pairwise classifiers and GA
CN108460147A (zh) 基于多子种群协同进化构建信息核的推荐方法
CN116010625A (zh) 基于遗传算法的引文网络图标签对抗攻击方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180119