CN116127201A - 一种基于进化多任务的大规模用户推荐方法 - Google Patents

一种基于进化多任务的大规模用户推荐方法 Download PDF

Info

Publication number
CN116127201A
CN116127201A CN202310167737.1A CN202310167737A CN116127201A CN 116127201 A CN116127201 A CN 116127201A CN 202310167737 A CN202310167737 A CN 202310167737A CN 116127201 A CN116127201 A CN 116127201A
Authority
CN
China
Prior art keywords
user
generation
recommended
recommendation
article
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
CN202310167737.1A
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.)
Anhui University
Original Assignee
Anhui 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 Anhui University filed Critical Anhui University
Priority to CN202310167737.1A priority Critical patent/CN116127201A/zh
Publication of CN116127201A publication Critical patent/CN116127201A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9536Search customisation based on social or collaborative filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Biology (AREA)
  • General Physics & Mathematics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Biomedical Technology (AREA)
  • Genetics & Genomics (AREA)
  • Artificial Intelligence (AREA)
  • Physiology (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于进化多任务的大规模用户推荐方法,包括:步骤1、获取用户和物品交互数据集,步骤2、通过构建神经网络算法挖掘用户对物品的偏好得分,得到用户对物品的评分矩阵;步骤3:通过聚类对用户进行分组,将偏好兴趣相似的用户作为同一类别;步骤4、初始化生成多任务种群;步骤5、在同一用户组之内进行个体之间的信息迁移,在不同用户组之间进行种群之间的信息迁移,并通过环境选择迭代选取最优用户解决方案,最终选出最优解作为该用户的推荐列表。本发明能减少大规模用户推荐优化问题中所耗费的时间和空间,并通过聚类技术提高对用户推荐结果预测的准确性。

Description

一种基于进化多任务的大规模用户推荐方法
技术领域
本发明属于进化计算和数据挖掘的交叉领域,具体的说是一种基于进化多任务优化的推荐方法。
背景技术
推荐***的目的是为了帮助用户从海量的数据中筛选出有用的信息,传统的推荐***只考虑推荐的准确性,除了准确性之外,新颖性,多样性等其他性能也是推荐***的重要指标,因此多目标推荐***成为了推荐***的重要研究方向。然而随着推荐***需要满足多个指标,优化某些指标必然会给其中某些指标带来冲突。因此多目标优化成为了解决推荐***的重要技术手段。
现有的推荐***多目标优化方法包括:将多目标指标通过加权求和成为单目标问题的标量法,或者是用基于种群的进化算法同时优化多个目标。
标量法首先通常将两个目标加权求和,然后使用多重梯度下降算法,将标量化与帕累托高效SGD相结合,使用KKT条件来指导标量化权重的更新。然而这种方法只能对带有梯度的目标进行优化。
进化算法优化多目标推荐***时候,通常采取的做法是对每一个用户分别运行一次进化算法,然而进化算法作为一种迭代的算法,当数据集用户数过多的时候,依次优化的算法导致了算法运行时间过长。或者是将用户的推荐结果通过实数解拼借到一个染色体中,在一次优化过程中同时优化所有用户,但是这种方法会导致染色体编码长度过长,难以同时将所有用户同时优化到最优,导致优化方法容易陷入局部最优解,从而导致推荐出物品的结果无法满足用户需求。
发明内容
本发明为解决现有技术中的不足之处,提供了一种基于进化多任务的大规模用户推荐方法,从而为用户实现包含准确性,新颖性和多样性的推荐列表,同时保证推荐方法的高效性和。
本发明为解决上述技术问题采用如下技术方案:
本发明一种基于进化多任务的大规模用户推荐方法的特点在于,是按如下步骤进行:
步骤一、获取用户和物品的相关数据:
获取用户集S={s1,s2,…,su,…,s|S|},其中,|S|表示用户数量,su表示u号用户;
获取物品集Q={q1,q2,…,qi,…,q|Q|},其中,|Q|表示物品数量,qi表示第i个物品;
获取用户物品交互数据集,并将每一个用户和物品的交互数据作为正样本,随机采集用户未交互过的物品作为负样本;
步骤二、通过预测模型获取用户对物品的评分矩阵,所述预测模型包括:编码层、全连接层、注意力交互层、交互输出层、预测层;
步骤2.1、所述编码层对u号用户su和第i个物品qi进行one-hot编码,得到u号用户su的稀疏向量θu和物品qi的稀疏向量
Figure BDA0004096640000000026
之后将两个稀疏向量分别映射到E维向量后,再通过所述全连接层的映射,得到u号用户su的表征向量pu和第i个物品qi的表征向量oi
步骤2.2、所述注意力交互层对pu与oi进行处理,并输出注意力向量au,i
步骤2.3、所述交互输出层将pu与oi拼接后,再与注意力向量au,i进行点乘后,得到u号用户su与第i个物品qi的交互向量fu,i
步骤2.4、所述预测层对交互向量fu,i进行多层全连接处理后,输出预测的交互得分ru,i
步骤2.5、以最小化预测的交互得分的均方误差为损失函数,并使用Adam算法对所述预测模型进行优化,直到达到最大迭代次数为止,从而得到最优预测模型及其输出的每个用户对于每个物品预测的交互得分矩阵;
步骤三、设聚类数目为K,top表示候选物品的个数,选取u号用户su的前top个偏好的物品作为候选物品集合Candicatesu,并统计各用户的候选物品集合中相同物品的个数作为相应用户之间的相似度;通过聚类算法将相似度相近的用户作为一类,从而|S|将个用户分为K组类别,并得到用户集合U={U1,U2,…,Uj,…,UK},Uj表示第j组类别的用户组,且Uj={Pj,1,Pj,2,…,Pj,m,…,Pj,M};Pj,m表示Uj中的第p个用户;
步骤四、种群初始化:
步骤4.1、定义当前迭代次数为l,最大迭代次数为L,令N为种群个体数,采用实数制将第j组类别的用户组Uj中每一个用户的N个推荐结果分别编码为一个长度为T的个体,且个体的每一个决策变量代表推荐物品的序号;从而由一个用户的N个推荐结果构成一个种群,令第m个用户Pj,m的N个推荐结果记为第l代第m个种群,则第j组类别的用户组Uj中的所有第l代种群记为
Figure BDA0004096640000000021
将Uj中第m个用户Pj,m的第n个推荐结果记为第l代第m个种群中第n个个体
Figure BDA0004096640000000022
Figure BDA0004096640000000023
Figure BDA0004096640000000024
表示第l代第m个用户Pj,m的第n个推荐结果中第t个推荐物品的序号;
步骤4.2、根据每个用户对于每个物品预测的交互得分矩阵,从第m个用户Pj,m的候选物品品集合Candicatesj,m中随机选取T个不重复物品的序号用于对
Figure BDA0004096640000000025
进行初始化;
步骤4.3、利用式(1)获得第l代第m个用户Pj,m的第n个推荐结果
Figure BDA0004096640000000031
的准确率指标
Figure BDA0004096640000000032
Figure BDA0004096640000000033
式(1)中,
Figure BDA0004096640000000034
表示第m个用户Pj,m对序号
Figure BDA0004096640000000035
所对应的物品的评分;
利用式(2)获得第l代第m个用户Pj,m的第n个推荐结果
Figure BDA0004096640000000036
的新颖率指标
Figure BDA0004096640000000037
Figure BDA0004096640000000038
式(2)中,populart表示序号
Figure BDA0004096640000000039
所对应的物品的受欢迎程度;
利用式(3)获得第l代第m个用户Pj,m的第n个推荐结果
Figure BDA00040966400000000310
的多样性指标
Figure BDA00040966400000000311
Figure BDA00040966400000000312
式(3)中,label
Figure BDA00040966400000000313
表示序号
Figure BDA00040966400000000314
所对应的物品的类别标签,labelall表示用户物品交互数据集中所有物品的类别标签;
利用式(4)构建第l代多目标优化函数Maximize
Figure BDA00040966400000000315
Figure BDA00040966400000000316
步骤5、在同一用户组之间进行个体之间的信息迁移,在不同用户组之间进行种群之间的信息迁移,并通过环境选择迭代选取最优用户解决方案。
本发明所述的基于进化多任务的大规模用户推荐方法的特点也在于,所述步骤5包括:
步骤5.1、同一用户组之间进行个体之间的信息迁移:
步骤5.1.1、基于式(4),使用二元锦标赛选择法从
Figure BDA00040966400000000317
中选择2×N个推荐结果参与进化,得到第l代交配池
Figure BDA00040966400000000318
步骤5.1.2、从第l代交配池
Figure BDA00040966400000000319
中选取第l代两个推荐结果分别记为
Figure BDA00040966400000000320
Figure BDA00040966400000000321
Figure BDA00040966400000000322
并进行交叉操作,得到两个第l代交叉推荐结果
Figure BDA00040966400000000323
其中,
Figure BDA00040966400000000324
表示
Figure BDA00040966400000000325
中第t个推荐物品的序号,
Figure BDA00040966400000000326
表示
Figure BDA00040966400000000327
中第t个推荐物品的序号;
步骤5.1.3、以概率mP
Figure BDA00040966400000000328
进行变异操作:
随机从{1,2,3…,T}中选择一个数r′,从
Figure BDA0004096640000000041
对应所属用户的候选物品集合Candicatesj,1中随机选择一个与
Figure BDA0004096640000000042
中第r′个推荐物品的序号
Figure BDA0004096640000000043
不同的物品序号进行替换,从而得到
Figure BDA0004096640000000044
的第l代变异推荐结果
Figure BDA0004096640000000045
步骤5.1.4、对第l代交配池
Figure BDA0004096640000000046
中所有推荐结果按照步骤5.1.2-步骤5.1.3进行交叉和变异操作之后,得到第l代所有种群的变异推荐结果
Figure BDA0004096640000000047
Figure BDA0004096640000000048
Figure BDA0004096640000000049
合并成第j组类别的用户组Uj的第l代M个新种群,并通过式(4)衡量第l代M个新种群中每个推荐结果的适应度值,从而通过非支配排序和拥挤距离对第l代M个新种群进行环境选择,并保留最优的N个推荐结果作为第l+1代第m个种群;
步骤5.2、在不同用户组之间进行种群之间的信息迁移:
若第l代第m个用户Pj,m中超过一半的推荐结果连续多代都没有改变,则计算第j组类别的用户组Uj与其他组类别的用户组之间的相似度,并选择相似度最高的用户组用于与第l代第m个用户Pj,m的所有推荐结果之间进行交叉和变异操作,从而按照步骤步骤5.1.4的过程得到第l+1代第m个种群;
步骤5.3、将l+1赋值给l后,判断l是否达到L,若未达到,则返回步骤4.3顺序执行,否则,从第L代第m个种群中任选一个个体作为第j组类别的用户组Uj中第m个用户Pj,m的一条推荐结果。
所述步骤5.1.2包括:
步骤a、判断
Figure BDA00040966400000000410
Figure BDA00040966400000000411
是不是属于同一个用户,如果是,则执行步骤b,否则,执行步骤c;
步骤b、对
Figure BDA00040966400000000412
Figure BDA00040966400000000413
以概率cP进行交叉操作:
随机从{1,2,3…,T}中选择一个数r,将
Figure BDA00040966400000000414
的前r位与
Figure BDA00040966400000000415
的前r位交换,得到第l代两个交叉推荐结果
Figure BDA00040966400000000416
Figure BDA00040966400000000417
Figure BDA00040966400000000418
其中,
Figure BDA00040966400000000419
表示
Figure BDA00040966400000000420
中第r个推荐物品的序号,
Figure BDA00040966400000000421
表示
Figure BDA00040966400000000422
中第r个推荐物品的序号;
步骤c、将
Figure BDA00040966400000000423
Figure BDA00040966400000000424
合并后得到一个第l代新的推荐结果,以式(1)为适应度值,使用二元竞标赛法从第l代新的推荐结果中分别选择T个物品所对应的序号并相应构成两个第l代交叉推荐结果
Figure BDA00040966400000000425
Figure BDA00040966400000000426
作为
Figure BDA00040966400000000427
产生的交叉推荐结果,以
Figure BDA00040966400000000428
作为
Figure BDA00040966400000000429
产生的交叉推荐结果。
本发明一种电子设备,包括存储器以及处理器的特点在于,所述存储器用于存储支持处理器执行任一所述大规模用户推荐方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。
本发明一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序的特点在于,所述计算机程序被处理器运行时执行任一所述大规模用户推荐方法的步骤。
与已有技术相比,本发明有益效果体现在:
1.本发明首次将进化多任务用于多目标推荐***优化,传统的优化方法一次只能为一个用户产生优化的推荐结果,没有考虑到不同任务之间的相关性。本发明可以在一次优化过程中同时产生多个用户的最优推荐结果,大大减少了推荐算法的计算量。
2.为了避免同时优化可能带来的负迁移现象,本发明使用聚类算法将数据中有相似兴趣的多个用户作为优化方法中的一个用户组,同时设计了新的算子加快算法是收敛,从而能提高推荐的速度。
3、本发明通过设计种群优化方案,遗传算子以及不同种群的信息迁移策略,减少了计算量,提高了推荐效率,并且保证了推荐的准确性。
附图说明
图1为本发明方法流程图;
图2为本发明用户聚类示例图;
图3为本发明种群初始化的示例图;
图4为本发明产生下一代种群的示例图。
具体实施方式
本实施例中,一种基于进化多任务的大规模用户推荐方法,如图1所示,是按如下步骤进行:
步骤一、获取用户和物品的相关数据:
获取用户集S={s1,s2,…,su,…,s|S|},其中,|S|表示用户数量,su表示u号用户;
获取物品集Q={q1,q2,…,qi,…,q|Q|},其中,|Q|表示物品数量,qi表示第i个物品;
获取用户物品交互数据集,并将每一个用户和物品的交互数据作为正样本,随机采集用户未交互过的物品作为负样本;
步骤二、通过预测模型获取用户对物品的评分矩阵,预测模型包括:编码层、全连接层、注意力交互层、交互输出层、预测层;
步骤2.1、编码层对u号用户su和第i个物品qi进行one-hot编码,得到u号用户su的稀疏向量θu和物品qi的稀疏向量
Figure BDA0004096640000000051
之后将两个稀疏向量分别映射到E维向量后,再通过全连接层的映射,得到u号用户su的表征向量pu和第i个物品qi的表征向量oi
步骤2.2、注意力交互层对pu与oi进行处理,并输出注意力向量au,i
步骤2.3、交互输出层将pu与oi拼接后,再与注意力向量au,i进行点乘后,得到u号用户su与第i个物品qi的交互向量fu,i
步骤2.4、预测层对交互向量fu,i进行多层全连接处理后,输出预测的交互得分ru,i
步骤2.5、以最小化预测的交互得分的均方误差为损失函数,并使用Adam算法对预测模型进行优化,直到达到最大迭代次数为止,从而得到最优预测模型及其输出的每个用户对于每个物品预测的交互得分矩阵;
步骤三、设聚类数目为K,top表示候选物品的个数,选取u号用户su的前top个偏好的物品作为候选物品集合Candicatesu,并统计各用户的候选物品集合中相同物品的个数作为相应用户之间的相似度;通过聚类算法将相似度相近的用户作为一类,从而|S|将个用户分为K组类别,本实施例中,设置K=|S|/10,并得到用户集合U={U1,U2,…,Uj,…,UK},Uj表示第j组类别的用户组,且Uj={Pj,1,Pj,2,…,Pj,m,…,Pj,M};Pj,m表示Uj中的第p个用户;如图2的示例,假设有4个用户s1,s2,s3,s4的候选物品集合,通过统计不同用户的相同物品个数,得到s1和s2的相似度为7,s3和s4的相似度为7,所以最终聚类结果为s1和s2为U1类,s3和s4为U2类。
步骤四、种群初始化:
步骤4.1、定义当前迭代次数为l,最大迭代次数为L,本实施例中,设置L=100,令N为种群个体数,本实施例中,设置N=10,采用实数制将第j组类别的用户组Uj中每一个用户的N个推荐结果分别编码为一个长度为T的个体,本实施例中,设置T=10,且个体的每一个决策变量代表推荐物品的序号;从而由一个用户的N个推荐结果构成一个种群,令第m个用户Pj,m的N个推荐结果记为第l代第m个种群,则第j组类别的用户组Uj中的所有第l代种群记为
Figure BDA0004096640000000061
将Uj中第m个用户Pj,m的第n个推荐结果记为第l代第m个种群中第n个个体
Figure BDA0004096640000000062
Figure BDA0004096640000000063
Figure BDA0004096640000000064
表示第l代第m个用户Pj,m的第n个推荐结果中第t个推荐物品的序号,种群个体由该类所有用户的推荐结果组成,编码为一个矩阵。图3显示了一类用户数量为2、推荐长度为10的种群个体的例子。
步骤4.2、根据每个用户对于每个物品预测的交互得分矩阵,从第m个用户Pj,m的候选物品品集合Candicatesj,m中随机选取T个不重复物品的序号用于对
Figure BDA0004096640000000065
进行初始化;
步骤4.3、利用式(1)获得第l代第m个用户Pj,m的第n个推荐结果
Figure BDA0004096640000000066
的准确率指标
Figure BDA0004096640000000067
Figure BDA0004096640000000068
式(1)中,
Figure BDA0004096640000000071
表示第m个用户Pj,m
Figure BDA0004096640000000072
物品的评分;
利用式(2)获得第l代第m个用户Pj,m的第n个推荐结果
Figure BDA0004096640000000073
的新颖率指标
Figure BDA0004096640000000074
Figure BDA0004096640000000075
式(2)中,populart表示
Figure BDA0004096640000000076
物品的受欢迎程度;
利用式(3)获得第l代第m个用户Pj,m的第n个推荐结果
Figure BDA0004096640000000077
的多样性指标
Figure BDA0004096640000000078
Figure BDA0004096640000000079
式(3)中,label
Figure BDA00040966400000000710
表示
Figure BDA00040966400000000711
物品的类别标签,labelall表示用户物品交互数据集中所有物品的类别标签;
利用式(4)构建第l代多目标优化函数Maximize
Figure BDA00040966400000000712
Figure BDA00040966400000000713
步骤5、在同一用户组之间进行个体之间的信息迁移,在不同用户组之间进行种群之间的信息迁移,并通过环境选择迭代选取最优用户解决方案;
步骤5.1、同一用户组之间进行个体之间的信息迁移:
步骤5.1.1、基于式(4),使用二元锦标赛选择法从
Figure BDA00040966400000000714
中选择2×N个推荐结果参与进化,得到第l代交配池
Figure BDA00040966400000000715
步骤5.1.2、从第l代交配池
Figure BDA00040966400000000716
中选取第l代两个推荐结果分别记为
Figure BDA00040966400000000717
Figure BDA00040966400000000718
Figure BDA00040966400000000719
并进行交叉操作其中,
Figure BDA00040966400000000720
表示
Figure BDA00040966400000000721
中第t个推荐物品的序号,
Figure BDA00040966400000000722
表示
Figure BDA00040966400000000723
中第t个推荐物品的序号:
步骤a、判断
Figure BDA00040966400000000724
Figure BDA00040966400000000725
是不是属于同一个用户,如果是,则执行步骤b,否则,执行步骤c;
步骤b、对
Figure BDA00040966400000000726
Figure BDA00040966400000000727
以概率cP进行交叉操作:
随机从{1,2,3…,T}中选择一个数r,将
Figure BDA00040966400000000728
的前r位与
Figure BDA00040966400000000729
的前r位交换,得到第l代两个交叉推荐结果
Figure BDA00040966400000000730
Figure BDA00040966400000000731
Figure BDA00040966400000000732
其中,
Figure BDA00040966400000000733
表示
Figure BDA00040966400000000734
中第r个推荐物品的序号,
Figure BDA00040966400000000735
表示
Figure BDA00040966400000000736
中第r个推荐物品的序号;
步骤c、将
Figure BDA00040966400000000737
Figure BDA00040966400000000738
合并后得到一个第l代新的推荐结果,以式(1)为适应度值,使用二元竞标赛法从第l代新的推荐结果中分别选择T个物品所对应的序号并相应构成两个第l代交叉推荐结果
Figure BDA0004096640000000081
Figure BDA0004096640000000082
作为
Figure BDA0004096640000000083
产生的交叉推荐结果,以
Figure BDA0004096640000000084
作为
Figure BDA0004096640000000085
产生的交叉推荐结果;
步骤5.1.3、以概率mP
Figure BDA0004096640000000086
进行变异操作:
随机从{1,2,3…,T}中选择一个数r′,从
Figure BDA0004096640000000087
对应所属用户的候选物品集合Candicatesj,1中随机选择一个与
Figure BDA0004096640000000088
中第r′个推荐物品的序号
Figure BDA0004096640000000089
不同的物品序号进行替换,从而得到
Figure BDA00040966400000000810
的第l代变异推荐结果
Figure BDA00040966400000000811
图4给出了一个示例,说明了交叉、变异算子的具体操作过程。示例中的该类用户群体包括2个用户,记为s1,s2,X1,X2是s1,s2的两个推荐结果,每个用户的推荐结果长度为10,概率cP,mP分别为0.5,0.5。首先进行交叉操作,假设生成的随机数为0.3,则对X1,X2进行交叉操作,则对X1随机从{1,2,...,10}中选择一个数,假设为3,则将(1,23,15,9,5,12,4,18,22,14),(18,2,16,8,20,24,4,25,17,30)交叉后得到(1,23,15,8,20,24,4,25,17,30),(18,2,16,9,5,12,4,18,22,14)。同理假设X2随机选择一个数,假设为4,(10,2,7,6,5,3,11,13,17,19),(10,2,15,6,21,12,11,27,28,29)交叉后得到(10,2,7,6,21,12,11,27,28,29),(10,2,15,6,5,3,11,13,17,19),得到两个孩子为
Figure BDA00040966400000000812
接着,为每一个孩子执行变异算子。对
Figure BDA00040966400000000813
假设对应生成的随机数为0.4,则对
Figure BDA00040966400000000814
进行变异操作,随机从{1,2,...,10}中选择一个数,假设为4。从用户s1的候选物品集合Candicatess1的中选择一个新的物品6替换原物品8。同理对s2进行类似操作,最终
Figure BDA00040966400000000815
经过变异算子得到
Figure BDA00040966400000000816
它们是两种新的推荐结果。
步骤5.1.4、对第l代交配池
Figure BDA00040966400000000817
中所有推荐结果按照步骤5.1.2-步骤5.1.3进行交叉和变异操作之后,得到第l代所有种群的变异推荐结果
Figure BDA00040966400000000818
Figure BDA00040966400000000819
Figure BDA00040966400000000820
合并成第j组类别的用户组Uj的第l代M个新种群,并通过式(4)衡量第l代M个新种群中每个推荐结果的适应度值,从而通过非支配排序和拥挤距离对第l代M个新种群进行环境选择,并保留最优的N个推荐结果作为第l+1代第m个种群;
步骤5.2、在不同用户组之间进行种群之间的信息迁移:
若第l代第m个用户Pj,m中超过一半的推荐结果连续多代都没有改变,则计算第j组类别的用户组Uj与其他组类别的用户组之间的相似度,并选择相似度最高的用户组用于与第l代第m个用户Pj,m的所有推荐结果之间进行交叉和变异操作,从而按照步骤步骤5.1.4的过程得到第l+1代第m个种群;
步骤5.3、将l+1赋值给l后,判断l是否达到L,若未达到,则返回步骤4.3顺序执行,否则,从第L代第m个种群中任选一个个体作为第j组类别的用户组Uj中第m个用户Pj,m的一条推荐结果。
本实施例中,一种电子设备,包括存储器以及处理器,该存储器用于存储支持处理器执行上述方法的程序,该处理器被配置为用于执行该存储器中存储的程序。
本实施例中,一种计算机可读存储介质,是在计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法的步骤。

Claims (5)

1.一种基于进化多任务的大规模用户推荐方法,其特征在于,是按如下步骤进行:
步骤一、获取用户和物品的相关数据:
获取用户集S={s1,s2,…,su,…,s|S|},其中,|S|表示用户数量,su表示u号用户;
获取物品集Q={q1,q2,…,qi,…,q|Q|},其中,|Q|表示物品数量,qi表示第i个物品;
获取用户物品交互数据集,并将每一个用户和物品的交互数据作为正样本,随机采集用户未交互过的物品作为负样本;
步骤二、通过预测模型获取用户对物品的评分矩阵,所述预测模型包括:编码层、全连接层、注意力交互层、交互输出层、预测层;
步骤2.1、所述编码层对u号用户su和第i个物品qi进行one-hot编码,得到u号用户su的稀疏向量θu和物品qi的稀疏向量之后将两个稀疏向量分别映射到E维向量后,再通过所述全连接层的映射,得到u号用户su的表征向量pu和第i个物品qi的表征向量oi
步骤2.2、所述注意力交互层对pu与oi进行处理,并输出注意力向量au,i
步骤2.3、所述交互输出层将pu与oi拼接后,再与注意力向量au,i进行点乘后,得到u号用户su与第i个物品qi的交互向量fu,i
步骤2.4、所述预测层对交互向量fu,i进行多层全连接处理后,输出预测的交互得分ru,i
步骤2.5、以最小化预测的交互得分的均方误差为损失函数,并使用Adam算法对所述预测模型进行优化,直到达到最大迭代次数为止,从而得到最优预测模型及其输出的每个用户对于每个物品预测的交互得分矩阵;
步骤三、设聚类数目为K,top表示候选物品的个数,选取u号用户su的前top个偏好的物品作为候选物品集合Candicatesu,并统计各用户的候选物品集合中相同物品的个数作为相应用户之间的相似度;通过聚类算法将相似度相近的用户作为一类,从而|S|将个用户分为K组类别,并得到用户集合U={U1,U2,…,Uj,…,UK},Uj表示第j组类别的用户组,且Uj={Pj,1,Pj,2,…,Pj,m,…,Pj,M};Pj,m表示Uj中的第p个用户;
步骤四、种群初始化:
步骤4.1、定义当前迭代次数为l,最大迭代次数为L,令N为种群个体数,采用实数制将第j组类别的用户组Uj中每一个用户的N个推荐结果分别编码为一个长度为T的个体,且个体的每一个决策变量代表推荐物品的序号;从而由一个用户的N个推荐结果构成一个种群,令第m个用户Pj,m的N个推荐结果记为第l代第m个种群,则第j组类别的用户组Uj中的所有第l代种群记为
将Uj中第m个用户Pj,m的第n个推荐结果记为第l代第m个种群中第n个个体 表示第l代第m个用户Pj,m的第n个推荐结果中第t个推荐物品的序号;
步骤4.2、根据每个用户对于每个物品预测的交互得分矩阵,从第m个用户Pj,m的候选物品品集合Candicatesj,m中随机选取T个不重复物品的序号用于对进行初始化;
步骤4.3、利用式(1)获得第l代第m个用户Pj,m的第n个推荐结果的准确率指标
式(1)中,表示第m个用户Pj,m对序号所对应的物品的评分;
利用式(2)获得第l代第m个用户Pj,m的第n个推荐结果的新颖率指标
式(2)中,populart表示序号所对应的物品的受欢迎程度;
利用式(3)获得第l代第m个用户Pj,m的第n个推荐结果的多样性指标
式(3)中,表示序号xj l ,m,n,t所对应的物品的类别标签,labelall表示用户物品交互数据集中所有物品的类别标签;
利用式(4)构建第l代多目标优化函数
步骤5、在同一用户组之间进行个体之间的信息迁移,在不同用户组之间进行种群之间的信息迁移,并通过环境选择迭代选取最优用户解决方案。
2.根据权利要求1所述的基于进化多任务的大规模用户推荐方法,其特征在于,所述步骤5包括:
步骤5.1、同一用户组之间进行个体之间的信息迁移:
步骤5.1.1、基于式(4),使用二元锦标赛选择法从中选择2×N个推荐结果参与进化,得到第l代交配池
步骤5.1.2、从第l代交配池中选取第l代两个推荐结果分别记为 并进行交叉操作,得到两个第l代交叉推荐结果其中,表示中第t个推荐物品的序号,表示中第t个推荐物品的序号;
步骤5.1.3、以概率mP进行变异操作:
随机从{1,2,3…,T}中选择一个数r,从对应所属用户的候选物品集合Candicatesj,1中随机选择一个与中第r个推荐物品的序号不同的物品序号进行替换,从而得到的第l代变异推荐结果
步骤5.1.4、对第l代交配池中所有推荐结果按照步骤5.1.2-步骤5.1.3进行交叉和变异操作之后,得到第l代所有种群的变异推荐结果合并成第j组类别的用户组Uj的第l代M个新种群,并通过式(4)衡量第l代M个新种群中每个推荐结果的适应度值,从而通过非支配排序和拥挤距离对第l代M个新种群进行环境选择,并保留最优的N个推荐结果作为第l+1代第m个种群;
步骤5.2、在不同用户组之间进行种群之间的信息迁移:
若第l代第m个用户Pj,m中超过一半的推荐结果连续多代都没有改变,则计算第j组类别的用户组Uj与其他组类别的用户组之间的相似度,并选择相似度最高的用户组用于与第l代第m个用户Pj,m的所有推荐结果之间进行交叉和变异操作,从而按照步骤步骤5.1.4的过程得到第l+1代第m个种群;
步骤5.3、将l+1赋值给l后,判断l是否达到L,若未达到,则返回步骤4.3顺序执行,否则,从第L代第m个种群中任选一个个体作为第j组类别的用户组Uj中第m个用户Pj,m的一条推荐结果。
3.根据权利要求2所述的基于进化多任务的大规模用户推荐方法,其特征在于,所述步骤5.1.2包括:
步骤a、判断是不是属于同一个用户,如果是,则执行步骤b,否则,执行步骤c;
步骤b、对以概率cP进行交叉操作:
随机从{1,2,3…,T}中选择一个数r,将的前r位与的前r位交换,得到第l代两个交叉推荐结果 其中,表示中第r个推荐物品的序号,表示中第r个推荐物品的序号;
步骤c、将合并后得到一个第l代新的推荐结果,以式(1)为适应度值,使用二元竞标赛法从第l代新的推荐结果中分别选择T个物品所对应的序号并相应构成两个第l代交叉推荐结果作为产生的交叉推荐结果,以作为产生的交叉推荐结果。
4.一种电子设备,包括存储器以及处理器,其特征在于,所述存储器用于存储支持处理器执行权利要求1-3中任一所述大规模用户推荐方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。
5.一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行权利要求1-3中任一所述大规模用户推荐方法的步骤。
CN202310167737.1A 2023-02-27 2023-02-27 一种基于进化多任务的大规模用户推荐方法 Pending CN116127201A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310167737.1A CN116127201A (zh) 2023-02-27 2023-02-27 一种基于进化多任务的大规模用户推荐方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310167737.1A CN116127201A (zh) 2023-02-27 2023-02-27 一种基于进化多任务的大规模用户推荐方法

Publications (1)

Publication Number Publication Date
CN116127201A true CN116127201A (zh) 2023-05-16

Family

ID=86310037

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310167737.1A Pending CN116127201A (zh) 2023-02-27 2023-02-27 一种基于进化多任务的大规模用户推荐方法

Country Status (1)

Country Link
CN (1) CN116127201A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116596640A (zh) * 2023-07-19 2023-08-15 国网山东省电力公司营销服务中心(计量中心) 电力零售电费套餐的推荐方法、***、设备及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116596640A (zh) * 2023-07-19 2023-08-15 国网山东省电力公司营销服务中心(计量中心) 电力零售电费套餐的推荐方法、***、设备及存储介质

Similar Documents

Publication Publication Date Title
CN110097185B (zh) 一种基于生成对抗网络的优化模型方法及应用
Zhou et al. A survey on evolutionary construction of deep neural networks
WO2019118299A1 (en) Evolving recurrent networks using genetic programming
CN112395487B (zh) 信息推荐方法、装置、计算机可读存储介质及电子设备
CN116127201A (zh) 一种基于进化多任务的大规模用户推荐方法
CN116383422B (zh) 一种基于锚点的无监督跨模态哈希检索方法
Bai et al. A joint multiobjective optimization of feature selection and classifier design for high-dimensional data classification
CN111325284A (zh) 一种基于多目标动态分布自适应学习方法及装置
Hussein et al. Deep learning and machine learning via a genetic algorithm to classify breast cancer DNA data
Mo et al. Applications of machine learning in phylogenetics
Dutta et al. Clustering by multi objective genetic algorithm
CN112836794A (zh) 一种图像神经架构的确定方法、装置、设备及存储介质
CN116611504A (zh) 一种基于进化的神经架构搜索方法
Jia et al. Weak-restriction bi-objective optimization algorithm for scheduling with rejection on non-identical batch processing machines
CN114861065B (zh) 基于多行为的级联残差图卷积网络的个性化推荐方法
Sanchez Reconstructing our past˸ deep learning for population genetics
KR20230170680A (ko) 심층 콘볼루션 신경망들을 사용하여 변이체 병원성을 예측하기 위한 다중 채널 단백질 복셀화
CN110162704B (zh) 基于多因子遗传算法的多规模关键用户提取方法
Sharma et al. Prediction of cardiovascular diseases using genetic algorithm and deep learning techniques
CN113704570A (zh) 基于自监督学习式进化的大规模复杂网络社区检测方法
WO2023044927A1 (zh) Rna-蛋白质相互作用预测方法、装置、介质及电子设备
Hamazaki et al. AI-assisted selection of mating pairs through simulation-based optimized progeny allocation strategies in plant breeding
CN117976047B (zh) 基于深度学习的关键蛋白质预测方法
CN114220127B (zh) 一种基于梯度引导的进化算法的图像识别方法
WO2023044931A1 (zh) Rna-蛋白质相互作用预测方法、装置、介质及电子设备

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