[发明专利]一种基于大规模进化算法的商品推荐方法在审
申请号: | 202111551750.4 | 申请日: | 2021-12-17 |
公开(公告)号: | CN114202387A | 公开(公告)日: | 2022-03-18 |
发明(设计)人: | 田野;郑威;张亚杰;张兴义 | 申请(专利权)人: | 安徽大学 |
主分类号: | G06Q30/06 | 分类号: | G06Q30/06;G06F9/50;G06N3/12 |
代理公司: | 安徽省合肥新安专利代理有限责任公司 34101 | 代理人: | 陆丽莉;何梅生 |
地址: | 230601 安*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 大规模 进化 算法 商品 推荐 方法 | ||
1.一种基于大规模进化算法的商品推荐方法,其特征是按如下步骤进行:
步骤一、构建商品推荐的多目标优化模型;
步骤1.1、获取用户与商品的交互行为的数据库Y={Y1,Y2,…,Yi,…,Yn},其中,Yi表示第i个用户的商品交互行为,n为数据库中用户的总数;遍历用户与商品的交互行为的数据库Y,得到所述数据库Y中存在的所有商品项的数目D;
步骤1.2、根据所述商品项的数目D,采用二进制方式对数据库Y进行编码,得到大规模商品项模式集T={t1,t2,…,ti,…,tn},且T是一个n×D矩阵;其中,第i个商品项模式ti通过数据库Y中第i个用户与所有商品项的交互行为来表示;即ti={ti,1,ti,2,…,ti,d,…,ti,D},若第i个用户存在与第d个商品的交互行为,则令ti,d=1,表示第i个商品项模式中存在第d个商品项,否则,令ti,d=0,表示第i个商品项模式中不存在第d个商品项;d∈[1,D];
令商品推荐方案X是由{0,1}组成的向量,且X={x1,x2,…,xk,…,xD};其中,若xk=1表示所述商品推荐方案X中第k个商品项被推荐;反之,xk=0则表示所述商品推荐方案X中第k个商品项未被推荐;k∈[1,D];
步骤1.3、利用式(1)建立商品推荐方案X的多目标优化模型F(X):
Maximize F(X)=(f(X),O(X)) (1)
式(1)中,f(X)表示商品推荐方案X所推荐商品项的频繁度,并有:
式(2)中,t表示大规模商品项模式集T中商品推荐方案X的支持事务,TX表示支持事务t的集合;|TX|表示支持事务集合中支持事务t的数目,|T|=n表示大规模商品项模式集T的商品项模式总数目;
式(1)中,O(X)表示商品推荐方案X所推荐商品项的占有度,并有:
式(3)中,|t|表示支持事务t所包含的商品项数目;|X|表示商品推荐方案X所推荐的商品项数目;
步骤二、初始化N个商品推荐方案作为初始种群,并给定初始参数值;
步骤2.1、定义商品推荐种群为P={p1,p2,...,pj,...pN},且P是一个N×D矩阵;其中,pj表示第j个个体,即从D个商品项中选择不同商品项所构成的第j个商品推荐方案,且pj={pj1,pj2,...,pjd,...pjD},pjd表示第j个商品推荐方案pj是否选择第d个商品项,若pjd=1,则表示第d个商品项选入第j个商品推荐方案,若pjd=0,则表示第d个商品项未选入第j个商品推荐方案;将种群中个体所在搜索空间定义为原始空间,且所述原始空间的维度为D;1≤N≤n;
步骤2.2、将初始种群P0中每个个体的长度初始化为D,且D是由0和1构成的向量;并利用式(1)计算得到所述初始化种群P0中的所有个体相应的频繁度和占有度;
步骤2.3、利用非支配排序算法对所述初始化种群P0中所有个体的频繁度和占有度进行排序,得到具有多个前沿面的种群P0′;
步骤2.4、根据欧式距离计算所述种群P0′中每个个体的拥挤距离,并根据所得到的拥挤距离,对所述种群P0′进行降序排序,得到排序后的种群P1;
步骤2.5进化过程的参数设置;
定义并初始化迭代次数t=1,定义并初始化第t次迭代的比率λt,定义并初始化第t次迭代的受限玻尔兹曼机RBM中隐层单元的数量Ht,令最大迭代次数为tmax;
步骤三、在遗传算法中添加受限玻尔兹曼机RBM来学习Pareto最优子空间,将在Pareto最优子空间中产生的子代与采用NSGA-II算法产生的子代合并形成子代种群;
步骤3.1、将第t代种群Pt中处于Pareto最优的个体NPt输入受限玻尔兹曼机RBM中进行第t次训练,得到第t次训练后的受限玻尔兹曼机RBM;
步骤3.2、采用二元锦标赛选择策略从第t代种群Pt中选出N个体放入交配池,并作为第t代父种群Pt′;
步骤3.3、从第t代父种群Pt′中随机选取一对个体作为父代个体;生成第t次迭代的随机数randt,若randt>λt,则使用单点交叉和逐位突变对父代个体进行处理,得到维度为D的一个子代个体;否则,将父代个体输入第t次训练后的受限玻尔兹曼机RBM中,得到降维后的父代个体;使用单点交叉和逐位突变对所述降维后的父代个体进行处理,得到子代个体;将所述子代个体输入所述过第t次训练后的受限玻尔兹曼机RBM中,得到维度为D的一个子代个体;
步骤3.4、重复步骤3.3执行N次,从而在原始空间中产生数目为N的第t代子代种群Qt;步骤四、将第t代子代种群Qt与第t代父种群Pt′合并后进行环境选择,生成新的个体种群,并自适应调整参数,直至达到终止条件时停止迭代;
步骤4.1、将第t代子代种群Qt与第t代父种群Pt'合并后删除重复的个体,从而得到第t代新种群PQt;
步骤4.2、对第t代新种群PQt中每个个体的频繁度和占有度进行非支配排序,得到具有多个前沿面的种群PQ′t;
步骤4.3、计算所述种群PQ′t中每个个体的拥挤距离,并根据所得到的拥挤距离,对所述种群PQ′t进行降序排序,得到降序后的前N个个体作为第t+1代种群Pt+1;
步骤4.4、根据第t代父种群Pt'与第t+1代种群Pt+1自适应调整λt和Ht;
步骤4.4.1、利用式(1)更新第t次迭代的比率参数λt,得到第t+1次迭代的比率λt+1:
式(1)中,s1,t+1表示当randt≤λt时,所述第t+1代种群Pt+1中属于第t代子代种群Qt的个体的数量,s2,t+1表示当randt>λt时,所述第t+1代种群Pt+1中属于第t代子代种群Qt的个体的数量;
步骤4.4.2、根据第t+1代种群Pt+1中处于Pareto最优的个体NPt+1,利用式(2)得到第t+1次迭代的受限玻尔兹曼机RBM中隐层单元的数量Ht+1:
式(2)中,hd表示二进制向量h中第d位二进制码;
步骤4.5、将t+1赋值给t后,判断t>tmax是否成立,若成立,则输出第t代种群Pt;否则返回步骤三继续执行;
步骤五、将第t代种群Pt中处于Pareto最优的个体作为商品推荐方案进行推荐。
2.根据权利要求1所述的基于大规模进化算法的商品推荐方法,其特征是,所述步骤4.4.2中的第d位二进制码hd是按如下过程得到:
步骤4.4.2.1、根据个体NPt+1,利用式(3)估算第d位二进制码hd的值为“1”的概率P(hd=1|NPt+1):
式(3)中,|NPt+1|表示个体NPt+1中个体的数目;pt+1表示NPt+1中的任一个体;如果个体pt+1中未选择第d个商品项即则令|否则令
步骤4.4.2.2、将概率P(hd=1|NPt+1)与[0,1]内均匀分布的随机值进行比较,当随机值大于概率值P(hd=1|NPt+1),则令hd=0,反之令hd=1。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于安徽大学,未经安徽大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111551750.4/1.html,转载请声明来源钻瓜专利网。