一种多目标推荐优化方法及可读介质与流程

文档序号:22470984发布日期:2020-10-09 22:01阅读:157来源:国知局
一种多目标推荐优化方法及可读介质与流程

本发明涉及个性化推荐技术领域,尤其涉及一种多目标推荐优化方法及可读介质。



背景技术:

随着互联网技术的发展与成熟,互联网在全球日益普及,使得网络上的信息量快速增长,其增长速度达到了每天2.5×1018字节。当用户面对海量的信息时,如何找到真正对自己有用的部分,成为了一个十分关键的问题。传统的信息检索方法已经不能够满足用户的需要,个性化推荐系统应运而生,并且已经广泛运用于电子商务、视频网站、搜索引擎等领域,为用户提供了人性化、智能并且便捷的服务。

现有的个性化推荐方法中,基于多目标优化算法的个性化推荐方法采用多目标的遗传算法进行优化,而遗传算法相较于群智能算法具有明显的收敛速度慢、求解精度低的问题。同时,将个性化推荐系统中的向量空间离散化,在对解向量进行交叉和变异时要先将其编码,在计算目标函数值时需要将其解码,增加了算法的复杂度。在实际应用中,针对不同的问题选择一个合适的编码方式是遗传算法的应用难点之一,提升了应用的难度。基于优化聚类的协同过滤推荐算法主要目标是改善协同过滤算法中的数据稀疏性问题,而实际上,协同过滤算法在用户越多时越复杂,同时还存在“托攻击”和可拓展性差等问题。基于内容的推荐方法用机器学习的方法从关于项目的特征上获取用户的兴趣资料,然后考察用户与待预测项目的匹配程度并给出推荐结果,对特征内容的结构性要求高,推荐结果过度规范从而丧失了新颖性,同时,当一个历史数据较少的用户出现时,很难给出其理想的推荐结果。基于关联规则的推荐方法以关联规则为基础,把已购商品作为规则头,规则体作为推荐对象,同时满足最小支持度阈值和最小置信度阈值的规则,就作为知识输出的强关联规则,算法的第一步的关联规则在整个过程中最关键并且耗时。由于关系数据库的规模一般非常大,导致该算法复杂度异常高,尤其是当最小支持度较低时,需要生成非常多的频繁大项集,算法的执行时间会呈指数增长,容易导致硬件的内存耗尽。



技术实现要素:

针对现有技术存在的上述问题,本发明的目的在于提供一种多目标推荐优化方法,在与目标用户相似的用户集中获取信息,对推荐方案在准确度、多样性、新颖性、覆盖率方面进行优化,从而得到目标用户的最优推荐方案。

本发明第一方面提供一种多目标推荐优化方法,该方法包括以下步骤:

根据待推荐项目数量和推荐项目个数初始化多个决策向量族,构建关于决策向量族的第一目标函数、第二目标函数、第三目标函数和第四目标函数,所述第一目标函数用于计算决策向量的准确性,所述第二目标函数用于计算决策向量的多样性,所述第三目标函数用于计算决策向量的新颖性,所述第四目标函数用于计算决策向量的覆盖率,

根据第一目标函数、第二目标函数、第三目标函数和第四目标函数构建关于决策向量族的最终目标函数,将决策向量代入最终目标函数中获得目标函数向量,通过比较目标函数向量获得非支配解集合,根据非支配解集合生成待推荐项目的推荐方案,根据推荐方案向目标用户进行项目推荐。

进一步的,所述第一目标函数的构建方式具体包括:

获取聚类后的用户集以及用户集中u个用户对待推荐的n个项目的评分矩阵au×n,评分矩阵中的元素aij表示第i个用户对第j个待推荐项目的评分,评分为从0到1的实数,所述用户集中的用户为与目标用户相似的用户,

假设决策向量为x=(x1,x2,…,xn),第一目标函数f1(x)的表达式为:

进一步的,所述第二目标函数的构建方式具体包括:

获取待推荐的项目集合以及项目集合中项目的相似度矩阵sn×n,相似度矩阵中的元素sij表示的是第i个项目与第j个项目之间的相似度,

假设决策向量为x=(x1,x2,…,xn),第二目标函数f2(x)的表达式为:

进一步的,所述第三目标函数的构建方式具体包括:

获取待推荐项目的度向量d=(d1,d2,…,dn),其中di表示第i个项目的度,假设决策向量为x=(x1,x2,…,xn),第三目标函数f3(x)的表达式为:

进一步的,所述第四目标函数的构建方式具体为:通过计算基尼系数判断决策向量的覆盖率,假设决策向量为x=(x1,x2,…,xn),第四目标函数f4(x)的表达式为:

其中,x0=0。

进一步的,所述通过比较目标函数向量获得非支配解集合,具体包括:

将目标函数向量与非支配解集合ht-1进行合并,对非支配解集合ht-1中的目标函数向量进行比较获取ht-1中所有非支配的目标函数向量表示为fi并放入非支配解集合ht中,保存被放入ht中的目标函数向量对应的决策向量,t为循环迭代次数,每迭代一次t增加1;

对ht中的非支配解按拥挤度进行排序,获取最优决策向量。

进一步的,所述对ht中的非支配解按拥挤度进行排序,获取最优决策向量,具体包括:

根据ht中的目标函数向量在第一目标函数、第二目标函数、第三目标函数、第四目标函数上的取值大小分别进行升序排序;

计算ht中所有非支配解的拥挤度,设ht中共有k个非支配解,第i个非支配解xi的拥挤度θi表示为:

其中,表示排序中与fj(xi)对应的序号的下一个序号的值,表示排序中与fj(xi)对应的序号的上一个序号的值,fj(xi)为第i个非支配解xi代入第j个目标子函数的值,若

进一步的,通过多目标woa算法对决策向量族进行优化,具体包括:

随机生成三个范围在[0,1]内的实数r1、r2和q,用于计算w和g,具体为:

w=2·a·r1-a

g=2·r2

其中,a是一个从2到0线性下降的系数,表达式为maxiter为最大迭代次数;

为当前迭代的第j个向量,为当前最优决策向量,下一次迭代第j个向量的更新具体包括:

判断q<0.5且|w|>1是否成立,若成立则按照“随机游走”方法更新目前第t代决策向量族a中的第j行具体公式如下:

其中,xrand是一个随机生成的n维向量,其每个元素都在[0,1]范围内;

判断q<0.5且|w|≤1是否成立,若成立则按照“环绕捕食”方法更新目前第t代决策向量族a中的第j行具体公式如下:

判断q≥0.5是否成立,若成立则按照“气泡网攻击”的方法更新目前第t代决策向量族a中的第j行具体公式如下:

其中,e为自然常数,,d为对数螺旋常数,l的计算公式如下:

l=(a2-1)·r3+1

其中,r3是随机生成的范围在[0,1]内的实数。

进一步的,选定一目标函数计算最优解扩散速率,定义第t代中第j个解的扩散速率为:

其中,fibest为当前最优解的fi(x)的值,fij(x)是第个j的解的fi(x)的值,η为比例系数。

在通过多目标woa算法优化决策向量族时,对函数值扩散速率进行优化,具体包括:

在按照“随机游走”方法更新时,

在按照“环绕捕食”方法更新时,

在按照“气泡网攻击”方法更新时,

本发明第二部分提供一种计算机可读介质,其存储有可由终端设备执行的计算机程序,当所述程序在终端设备上运行时,使得所述终端设备执行上述第一部分所述方法的步骤。

与现有技术相比,本发明的有益效果是:

对比传统的基于关联规则的推荐方法,本发明提出的复杂度更小的个性化推荐系统模型,不需要对用户与项目之间的关系进行挖掘,而只需要关注与当前用户相似的用户集中的信息。避免了应用过程中巨大的计算开销,节省了经济成本。

对比传统的基于协同过滤的推荐方法,本发明在协同过滤思想的基础上进行了改进,不是从相似用户的偏好项目中直接进行选择,而是将准确性、多样性、新颖性、覆盖率看作四个优化目标,将优化后的解集合交给用户选择,给用户更多的选择方案,使推荐系统更加“个性化”。

对比传统的基于内容的推荐方法,本发明对特征内容的结构化没有较高的要求,只需要相似用户集对项目的打分以及项目之间的相似度就可以进行计算,提高了个性化推荐系统的适用性和鲁棒性。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的优选实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种多目标推荐优化方法流程示意图。

具体实施方式

以下结合附图对本发明的原理和特征进行描述,所列举实施例只用于解释本发明,并非用于限定本发明的范围。

本发明提供一种多目标推荐优化方法,该方法包括以下步骤:

根据待推荐项目数量和推荐项目个数初始化多个决策向量族,构建关于决策向量族的第一目标函数、第二目标函数、第三目标函数和第四目标函数,所述第一目标函数用于计算决策向量的准确性,所述第二目标函数用于计算决策向量的多样性,所述第三目标函数用于计算决策向量的新颖性,所述第四目标函数用于计算决策向量的覆盖率。

根据第一目标函数、第二目标函数、第三目标函数和第四目标函数构建关于决策向量族的最终目标函数,将决策向量代入最终目标函数中获得目标函数向量,通过比较目标函数向量获得非支配解集合,根据非支配解集合生成待推荐项目的推荐方案,根据推荐方案向目标用户进行项目推荐,从而使得推荐方案能够兼顾准确度、多样性、新颖性和覆盖率,实现最优的个性化推荐。本领域技术人员可以理解,通过目标函数对决策向量族进行优化可以通过各种优化算法来实现,函数的不同构建方式根据需要选择相应的优化算法来实现。

首先对决策向量定义为一个n维的向量,n为待推荐的项目集合中元素的个数,即待推荐的项目的个数,其中每一个分量都是[0,1]区间上的实数,代表对应项目的选择度,选择度越大的项目被认为越有推荐给目标用户的必要。

一些实施方式中,采用随机初始化的方式对决策向量族进行初始化,具体为:生成一个m×n的矩阵,矩阵中每一个元素aij都是[0,1]之间的实数,矩阵的列代表问题的n个维度(即项目集合中的元素个数),矩阵的行代表m个搜索代理,即生成了一个初始的决策向量族,由m个n维的向量组成。

作为一个示例,可以将决策向量表示为x=(x1,x2,…,xn);构建待推荐的项目集合中项目的相似度矩阵,相似度矩阵中的元素sij表示的是第i个项目与第j个项目之间的相似度;项目的度向量表示为d=(d1,d2,…,dn),其中di表示第i个项目的度。

获取一个聚类后的用户集,用户集中的用户被认为是一类相似的用户,且与目标用户是相似的,并获取用户集中u个用户对待推荐的n个项目的评分矩阵au×n,评分矩阵中的元素aij表示第i个用户对第j个待推荐项目的评分,评分为从0到1的实数,评分越高代表用户对项目的偏好程度越高。

由此,可以得到决策向量的准确性计算公式,即第一目标函数f1(x)的表达式为:

还可以得到决策向量的多样性计算公式,即第二目标函数f2(x)的表达式为:

还可以得到决策向量的新颖性计算公式,即第三目标函数f3(x)的表达式为:

对于决策向量的覆盖率的衡量,采用计算基尼系数的方法,基尼系数越大表示决策向量的覆盖率越高,决策向量的覆盖率计算公式,即第四目标函数f4(x)的表达式为:

其中,x0=0。

当然,上述决策向量的第一目标函数、第二目标函数、第三目标函数和第四目标函数的表达方式仅为一个示例,根据不同的网络结构、参数和优化算法的需求,可以对上述函数即相应目标函数的构造进行相应的调整。

为了方便叙述,对目标函数f1(x)、f2(x)、f3(x)和f4(x)分别取相反数,原本的优化目标是为了使得f1(x)、f2(x)、f3(x)和f4(x)都尽可能大,取相反数后,优化目标为使得f1(x)、f2(x)、f3(x)和f4(x)都尽可能小。因此,关于决策向量族的最终目标函数f为:

f=(f1(x),f2(x),f3(x),f4(x))

作为一个优选的实施例,所述通过比较目标函数向量获得非支配解集合,具体包括:

将当前的决策向量分别代入到f中,求解目标函数向量f1,f2,…fm并将目标函数向量与上一次迭代的非支配解集合ht-1进行合并(默认初始的非支配集合h为空集),对非支配解集合ht-1中的目标函数向量进行比较获取ht-1中所有非支配的目标函数向量表示为fi(假设其共有k个)并放入非支配解集合ht中,保存被放入ht中的目标函数向量对应的决策向量,t为循环迭代次数,每迭代一次t增加1;

对ht中的非支配解按拥挤度进行排序,获取最优决策向量。

其中,对于非支配解的定义为:当fi中任一目标函数都不小于且至少存在一个大于fj的目标函数时,称为

对于ht中的非支配解按拥挤度进行排序,获取最优决策向量,具体包括:

根据ht中的目标函数向量在第一目标函数、第二目标函数、第三目标函数、第四目标函数上的取值大小分别进行升序排序,具体为:对非支配解集合中的向量x1,x2,…,xk,分别代入第一目标函数f1(x)并依据第一目标函数值的大小进行排序得到f11,f12,…,f1k,f11,f12,…,f1k满足f11≤f12≤…≤f1k;分别代入第二目标函数f2(x)并依据第二目标函数值的大小进行排序得到满足分别代入第三目标函数f3(x)并依据第三目标函数值的大小进行排序得到满足分别代入第四目标函数并依据第四目标函数值的大小进行排序得到满足

计算ht中所有非支配解的拥挤度,设ht中共有k个非支配解,第i个非支配解xi的拥挤度θi表示为:

其中,表示排序中与fj(xi)对应的序号的下一个序号的值,表示排序中与fj(xi)对应的序号的上一个序号的值,fj(xi)为第i个非支配解xi代入第j个目标子函数的值,若

一些实施方式中,使用轮盘赌算法从ht中选择每一代的最优目标函数向量fbest,每个目标函数向量被选择的概率计算公式为:

以上述概率随机从ht中选择一个最优目标函数向量并记为其对应的决策向量为最优决策向量,记为

作为一种优选示例,通过多目标woa算法对决策向量族进行优化,包括:

随机生成三个范围在[0,1]内的实数r1、r2和q,用于计算w和g,具体为:

w=2·a·r1-a

g=2·r2

其中,a是一个从2到0线性下降的系数,表达式为maxiter为最大迭代次数;

为当前迭代的第j个向量,为当前最优决策向量,下一次迭代第j个向量的更新具体包括:

判断q<0.5且|w|>1是否成立,若成立则按照“随机游走”方法更新目前第t代决策向量族a中的第j行具体公式如下:

其中,xrand是一个随机生成的n维向量,其每个元素都在[0,1]范围内;

判断q<0.5且|w|≤1是否成立,若成立则按照“环绕捕食”方法更新目前第t代决策向量族a中的第j行具体公式如下:

判断q≥0.5是否成立,若成立则按照“气泡网攻击”的方法更新目前第t代决策向量族a中的第j行具体公式如下:

其中,e为自然常数,e≈2.71828,d为对数螺旋常数,d=1,l的计算公式如下:

l=(a2-1)·r3+1

其中,r3是随机生成的范围在[0,1]内的实数。对于j从1到m,对于每个xj都进行上述的判断并更新。

作为一种优选实施例,由于在woa算法的“随机游走”过程中,决策向量可能产生“越界”问题(比如有某个元素变为小于0或大于1的数),因此要使用范围约束。具体方法为:将矩阵中所有小于0的数更改为0,所有大于1的数更改为1。

作为一种示例,在本发明中引入格拉罕姆气体扩散定律:在相同温度和压力下,气体的扩散速率与其物质的摩尔质量的平方根成反比,格拉罕姆气体扩散定律的表达式为:

其中m表示气体分子的摩尔质量,v表示其扩散速率,这说明在气体扩散过程中,摩尔质量大的气体分子扩散速率相对更低。

在本发明中,目标函数值更优的解被认为是摩尔质量更大的分子,这使得它的扩散速率相较于其他解更小。由于目标函数值更优的解中包含最优解,在woa算法进行的过程中,算法会对解采取“气泡网攻击”和“环绕捕食”的方式收敛到当前最优解附近的局部最优区域,如果当前最优解的速度过快,在算法的初期就陷入局部最优区域,就会导致其他解无法被选为最优,从而其他解快速的向当前最优解移动,致使算法过快收敛,难以找到全局最优解。因此,减缓较优解的速度,使其他解有更多的机会探索全局,可以避免算法的过快的收敛,提高算法的全局寻优能力。

反之,目标函数值较差的解被认为是摩尔质量更小的分子,其扩散速率更大。在算法进行过程中,每个解都会有概率进入“随机游走”过程,这个过程是为了保证算法的全局寻优能力,针对鲸鱼优化算法探索能力不足的问题,提高当前函数值不理想的解的扩散速率,迫使其远离当前位置,这有利于改变种群的多样性,从而增加算法的探索能力。

结合本发明的模型,首先选定一目标函数计算最优解扩散速率,所述目标函数为第一目标函数或第二目标函数或第三目标函数或第四目标函数。定义第t代中第j个解的扩散速率为:

其中,fibest为当前最优解的fi(x)的值,fij(x)是第个j的解的fi(x)的值,η为比例系数,具体为(0,1)之间的常数,为了消除量纲的影响,可以将比例系数取为0.5。

在通过多目标woa算法优化决策向量族时,对函数值扩散速率进行优化,具体包括:

在按照“随机游走”方法更新时,

在按照“环绕捕食”方法更新时,

在按照“气泡网攻击”方法更新时,

作为改进部分添加的变量,由于与传统物理模型不同,在优化算法的过程中难以界定时间的长短,致使位移与速度的关系变得模糊,因此将考虑为“位移比例”,在原本位移长度的基础上,大于1的在原本的位移长度上增加小于1的在原本的位移长度上减少

一种优选的实施方式中,在非支配解中选择top-n个项目,作为推荐方案。具体为:在最终得到的非支配解集合hmaxiter中,由目标用户选择一个最满意的决策向量x'=(x1,x2,…,xn),x'中前n大的n个分量,其对应的项目被推荐给目标用户。

图1为本发明一实施例提供的一种多目标推荐优化方法的流程示意图,如图1所示,作为一种具体的实施方式,上述方法的算法实现流程可以是:

a.开始:算法开始。

b.输入一个聚类后的用户集、算法参数及已知数据:输入改进的多目标woa算法的参数,模型需要的已知数据,以及一个用户集,这个用户集是聚类后的结果,集合中的用户被认为是一类相似的用户,且与当前用户是相似的。已知数据包括项目的评分矩阵、相似度矩阵和项目度向量。

c.初始化决策向量族:使用随机初始化的方法,初始化n个决策向量族(集合)。

d.代入目标函数中求值,更新目前的非支配解集合、最优目标函数向量与最优决策向量:将目前的决策向量分别代入目标函数中,求得目标函数向量。对这些目标函数向量进行比较,得到非支配解集合,并保存非支配解集合中的目标函数向量对应的决策向量。按照拥挤度进行排序,并使用轮盘赌选择算法从目前的非支配解集合中选择最优目标函数值,其对应的决策向量为最优决策向量。

e.利用改进的多目标woa算法优化决策向量族:利用改进的多目标woa算法的优化能力,对决策向量进行优化。

f.得到优化后的决策向量族,并使用范围约束:将上一步(e)得到的决策向量族进行修改,使其满足范围约束。

g.是否达到最大迭代次数?:判断是否达到了预先设定的最大迭代次数maxiter。

h.得到最终的非支配解集合:达到最大迭代次数后,此时的非支配解集合就是最终的非支配解集合。

i.在非支配解中选择top-n个项目,作为推荐方案:在非支配解集合中选择一个非支配解,其每个分量从大到小排序,最大的n个作为推荐方案。

j.结束:算法结束。

本发明另一实施例提供一种计算机可读介质,其存储有可由终端设备执行的计算机程序,当所述程序在终端设备上运行时,使得所述终端设备执行上述方法实施例的步骤。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1