一种归一化pso随机优化算法及协同过滤推荐方法

文档序号:10725813阅读:512来源:国知局
一种归一化pso随机优化算法及协同过滤推荐方法
【专利摘要】本发明公开了一种归一化粒子群随机优化算法(PSO)以及6种归一化加权协同过滤推荐方法。本发明公开的归一化PSO随机优化算法通过吸引子和空间缩放,确定单个粒子的最优位置和群体的最优位置。用于求解最优化问题时,其解满足归一化约束,吸引子是算法的稳定点,算法在围绕该点做螺旋运动,故使用吸引子作为缩放中心使得算法避免粒子越界和早熟的缺点,更容易寻找到全局最优点。本发明公开的6种归一化加权协同过滤推荐方法通过对用户或项目进行归一化加权,并以平均绝对误差(MAE)最小为优化目标和适应度函数,使用归一化PSO随机优化算法求解用户和项目的最优归一化权值,从而达到减少预测评分误差,提高预测评分精度的目的。
【专利说明】
一种归一化PSO随机优化算法及协同过滤推荐方法
技术领域
[0001] 本发明涉及信息过滤中的协同过滤推荐技术领域,特别是涉及一种归一化PS0随 机优化算法、6种归一化加权协同过滤推荐方法(包括:基于项目归一化加权的项目协同过 滤推荐方法、基于用户归一化加权的用户协同过滤推荐方法、基于用户归一化加权的项目 协同过滤推荐方法、基于项目归一化加权的用户协同过滤推荐方法、基于用户和项目归一 化加权的用户协同过滤推荐方法及基于用户和项目归一化加权的项目协同过滤推荐方 法)。
【背景技术】
[0002] 随着互联网的普及和电子商务的发展,网络资源不断丰富,网络信息量不断膨胀, 用户要在众多的选择中挑选出自己真正需要的信息好比大海捞针。推荐系统应运而生,推 荐系统为不同用户提供不同的服务,以满足不同的需求。推荐系统成为电子商务的核心,而 协同过滤推荐算法是推荐系统中应用最成功、最广泛的方法。目前,几乎所有的大型电子商 务系统,如淘宝、京东、当当、亚马逊、eBay等系统均采用了该方法来提高服务质量。
[0003] 协同过滤通常可分为两类:基于记忆的协同过滤和基于模型的协同过滤。其中基 于记忆的协同过滤利用整个用户-项目评分数据集进行计算,为目标用户选择一部分兴趣 相近的邻居用户,根据邻居用户的评分预测目标用户对项目的评分值。
[0004] 基于记忆的协同过滤方法有基于用户的协同过滤算法和基于项目的协同过滤算 法两种。其中基于用户的协同过滤算法,是以用户为主体的算法,这种以用户为主体的算法 比较强调的是社会性的属性,把和你有相似爱好的其他的用户的物品推荐给用户。与之对 应的是基于物品的推荐算法,这种更加强调把和你喜欢的物品相似的物品推荐给用户。但 是协同过滤推荐算法对所有的用户和项目权值同等对待,存在精度低的缺点。

【发明内容】

[0005] 本发明的目的是提供一种归一化PS0随机优化算法。
[0006] 为实现上述目的,本发明提供了如下方案:
[0007] -种归一化PS0随机优化算法,其特征在于,所述归一化PS0随机优化算法包括:
[0008] 步骤11:初始化Z个粒子的群体,使得每个粒子初始化为Η维,迭代次数T;选取一个 粒子对所述粒子的每一维上都赋值为1/Η,剩下的粒子的每一维均在(0,1)之间随机赋值;
[0009] 步骤1 2 :计算每个粒子的当前位置< =(Χ^,,· ?)的适应度 ),以确定每个粒子ζ的历史最优位置f = (/4,,· ?,…及群体历 史取优位置GLa,. ^best -· · ',&· * ·,),.其中,Z表不粒子序可,Z -丄, 2,…,Z; h表示维度序号,h=l,2,…,H; t表示迭代次数,? = 1,2,···,Τ; <表示第z个粒子在 第t次迭代的当前位置;
[0010]
更新粒子 的速度和位置;其中,^表示第t次迭代的粒子Z的速度,if1表示第t+1次迭代的粒子Z的速 度,X;表示第t次迭代后的粒子z的位置,X】+1表示第t+Ι次迭代后粒子z的位置,ω表示惯性 权值,γ:、γ2为[0,1]之间的随机数,且两者之间相互独立,m、n2为加速因子;
[0013]若满足执行步骤15,否则对粒子做以下处理以满足所述判断条件:
[0016] 步骤15:根据以下公式确定吸引子Γ"并以吸引子为缩放中心,以<为缩放因
子对粒子进行缩放 其中,为随机数, "> 且αι e(〇.5,1.5)、a2e(-〇.5,1.5)、a3e(〇,l);
[0017] 步骤16:根据缩放结果判断是否找到单个粒子的最优位置和群体的最优位置或者 迭代次数t>T,如果是则根据所述群体的最优位置确定所述群体的权值;否则执行步骤12。
[0018] 根据本发明提供的具体实施例,本发明公开了以下技术效果:
[0019] 本发明公开的归一化PS0随机优化算法通过吸引子和空间缩放,确定单个粒子的 最优位置和群体的最优位置。用于求解最优化问题时,其解满足归一化约束,吸引子是算法 的稳定点,算法在围绕该点做螺旋运动,故使用吸引子作为缩放中心使得算法避免粒子越 界和早熟的缺点,更容易寻找到全局最优点。
[0020] 本发明的第二目的是提供一种基于项目归一化加权的项目协同过滤推荐方法。 [0021 ]为实现上述目的,本发明提供了如下方案:
[0022] -种基于项目归一化加权的项目协同过滤推荐方法,所述基于项目归一化加权的 项目协同过滤推荐方法包括:
[0023] 步骤21:获取用户113对项目ib的实际评分ra,b形成评分矩阵R mXn,其中,a表示用户 序号,a = l,2···,m;b表示项目序号,b = l,2···,n;
[0024] 步骤22:以最小化平均绝对误差(MAE)为优化目标和适应度函数,根据权利要求1 中所述的归一化PS0随机优化算法确定的所述群体的权值对项目进行归一化加权,确定对 1表示对所有的项目ib加权的权值之和为1,Test表示已评分测试集,L表示测试

集大小(包含的用户对项目的评分个数),ra,b表示用户1^对项目ib的实际评分,q、 b表示对 项目进行归一化加权之后,用户ua对项目ib的预测评分;
[0025]步骤23:根据以下公式计算项目归一化加权后,项目ib与项目k的项目余弦相似 Igsim7 (ib,ib7):
lb表示所有评分过项目ib的用户集合,k表示所有评分过项目k的用户集合,lb n k表示 同时评分过项目ib和项目W的用户集合,^力代表用户\对项目的ib评分,^#代表用户%对 项目k的评分,w b代表项目ib的权重,w代表项目k的权重;
[0027] 步骤24:根据以下公式计算项目归一化加权后,用户乂对项目ib的评分预测值
(3 );其中,项目归一化加权后,心代表用户%对项 目ib的评分预测值,代表项目乜的让个最近邻项目集合Λ,?代表用户义对项目k的真 实评分,wi/代表项目it/的权重。
[0028] 根据本发明提供的具体实施例,本发明公开了以下技术效果:
[0029] 本发明公开的基于项目归一化加权的项目协同过滤推荐方法通过对项目进行归 一化加权,并以平均绝对误差(MAE)最小为优化目标和适应度函数,使用归一化PS0随机优 化算法求解项目的最优归一化权值,从而达到减少预测评分误差,提高预测评分精度的目 的。
[0030] 本发明的第三目的是提供一种基于用户归一化加权的用户协同过滤推荐方法。
[0031] 为实现上述目的,本发明提供了如下方案:
[0032] -种基于用户归一化加权的用户协同过滤推荐方法,所述基于用户归一化加权的 用户协同过滤推荐方法包括:
[0033] 步骤31:获取用户113对项目ib的评分ra,b形成评分矩阵R mXn,其中,a表示用户序号, a = l,2···,m;b表示项目序号,b = l,2···,n;
[0034] 步骤32:以最小化平均绝对误差(MAE)为优化目标和适应度函数,根据权利要求1 中所述的归一化PS0随机优化算法确定的所述群体的权值对用户进行归一化加权,确定对 应用户的归一化权重;
[0035]
( 4 );其中,归一化约束条件
所有的用户ua加权的权值之和为l,Test表示已评分测试集,L表示测试集大小(包含的用户 对项目的评分个数),ra,b表示用户1^对项目ib的实际评分,Y a,b表示对用户进行归一化加权 之后,用户ua对项目i b的预测评分;
[0036]步骤33:根据以下公式计算用户归一化加权后,用户ua和用户iw的用户余弦相似 度sim'(UE^Ua,):
[0037]
ra,u代表用户~对项目iu的实际评分,^,"代表用户iw对项目i u的实际评分,仏代表用户~评 分过的项目集合,ua'代表用户iw评分过的项目集合,uanua'代表用户u a和用户iw共同评分 的项目集,la代表用户~的权重,代表用户iw的权重;
[0038]步骤34:根据以下公式计算用户归一化加权后,用户ua对项目的评分预测值
G其中,基于用户归一化加权后,Y a, U表示用 户~对项目"的评分预测值,表示用户~的让个最近邻用户集合,表示用户IW的加权 值,ra' ,"表示用户iw对项目iu的实际评分。
[0039] 根据本发明提供的具体实施例,本发明公开了以下技术效果:
[0040] 本发明公开的基于用户归一化加权的用户协同过滤推荐方法通过对用户进行归 一化加权,并以平均绝对误差(MAE)最小为优化目标和适应度函数,使用归一化PS0随机优 化算法求解用户的最优归一化权值,从而达到减少预测评分误差,提高预测评分精度的目 的。
[0041] 本发明的第四目的是提供一种基于用户归一化加权的项目协同过滤推荐方法。 [0042 ]为实现上述目的,本发明提供了如下方案:
[0043] -种基于用户归一化加权的项目协同过滤推荐方法,所述基于用户归一化加权的 项目协同过滤推荐方法包括:
[0044] 步骤41:获取用户~对项目ib的评分ra,b形成评分矩阵RmXn,其中,a表示用户序号, a = l,2···,m;b表示项目序号,b = l,2···,n;
[0045] 步骤42:以最小化平均绝对误差(MAE)为优化目标和适应度函数,根据权利要求1 中所述的归一化PS0随机优化算法确定的所述群体的权值对用户进行归一化加权,确定对
[0046] 其中,归一化约束条件<
表示对所有的用户ua加权的权值之和为l,Test 表示已评分测试集,L表示测试集大小(包含的用户对项目的评分个数),ra,b表示用户uM 项目ib的实际评分,Y a,b表示对用户进行归一化加权之后,用户ua对项目ib的预测评分;
[0047] 步骤43:根据以下公式计算用户归一化加权后,项目ib与项目k的项目余弦相似
[0048] 其中,Ib表示所有评分过项目ib的用户集合,k表示所有评分过项目k的用户集 合,lb n Ib'表示同时评分过项目ib和项目ib'的用户集合,代表用户乂对项目的i b评分, ζ-,代表用户^对项目的k评分Λ代表用户心的权重;
[0049] 步骤44:根据以下公式计算用户归一化加权后,用户%对项目ib的评分预测值
(:9);其中,项目归一化加权后, (代表用户1对项目ib的评分预测值,^,6代表项目?的k个最近邻项目集合Λ,?/代表用 户1对项目k的真实评分Λ代表用户七的权重。
[0050] 根据本发明提供的具体实施例,本发明公开了以下技术效果:
[0051] 本发明公开的基于用户归一化加权的项目协同过滤推荐方法通过对用户进行归 一化加权,并以平均绝对误差(MAE)最小为优化目标和适应度函数,使用归一化PS0随机优 化算法求解用户的最优归一化权值,从而达到减少预测评分误差,提高预测评分精度的目 的。
[0052]本发明的第五目的是提供一种基于项目归一化加权的用户协同过滤推荐方法。 [0053]为实现上述目的,本发明提供了如下方案:
[0054] -种基于项目归一化加权的用户协同过滤推荐方法,所述基于项目归一化加权的 用户协同过滤推荐方法包括:
[0055] 步骤51:获取用户113对项目ib的评分ra,b形成评分矩阵R mXn,其中,a表示用户序号, a = l,2···,m;b表示项目序号,b = l,2···,n;
[0056] 步骤52:以最小化平均绝对误差(MAE)为优化目标和适应度函数,根据权利要求1 中所述的归一化PS0随机优化算法确定的所述群体的权值对项目进行归一化加权,确定对 应项目的归一化权重:
);其中,归一化约束条件
表示对所有的项目ib加权的权值之和为1,Test表示已评分测试集,L表示测试 集大小(包含的用户对项目的评分个数),ra,b表示用户1^对项目ib的实际评分,q〃 a,b表示对 项目进行归一化加权之后,用户ua对项目ib的预测评分;
[0057]步骤53:根据以下公式计算项目归一化加权后,用户ua和用户iw的用户余弦相似 度 sim〃(UE^Ua,):
[0059] 其中,ra,u代表用户113对项目iu的实际评分,r a' 表用户ua'对项目iu的实际评分, Ua代表用户1^评分过的项目集合,IV代表用户iw评分过的项目集合,ua n IV代表用户^和 用户iw共同评分的项目集,^代表项目。的权重;
[0060] 步骤54:根据以下公式确定项目归一化加权后,用户Ua对项目的评分预测值
;其中,基于用户归 一化加权后,q〃a>u表示用户~对项目"的评分预测值;Λ//?表示用户以灿个最近邻用户集 合,wu代表项目"的权重,ra',u表示用户^'对项的实际评分。
[0061] 根据本发明提供的具体实施例,本发明公开了以下技术效果:
[0062] 本发明公开的基于项目归一化加权的用户协同过滤推荐方法通过对项目进行归 一化加权,并以平均绝对误差(MAE)最小为优化目标和适应度函数,使用归一化PS0随机优 化算法求解项目的最优归一化权值,从而达到减少预测评分误差,提高预测评分精度的目 的。
[0063] 本发明的第六目的是提供一种基于用户和项目同时归一化加权的用户协同过滤 推荐方法。
[0064]为实现上述目的,本发明提供了如下方案:
[0065] -种基于用户和项目同时归一化加权的用户协同过滤推荐方法,所述基于用户和 项目同时归一化加权的用户协同过滤推荐方法包括:
[0066] 步骤61:获取用户113对项目ib的评分ra, b形成评分矩阵RmXn,其中,a表示用户序号, a = l,2···,m;b表示项目序号,b = l,2···,n;
[0067] 步骤62:以最小化平均绝对误差(MAE)为优化目标和适应度函数,根据权利要求1 中所述的归一化PS0随机优化算法确定的所述群体的权值对用户和项目进行归一化加权, 分别确定对应用户和项目的权重;
[0068]
示对所有的用户113加权的权值之和为1,归一化约束条件#·
表示对所有的项目ib 加权的权值之和为l,Test表示已评分测试集,L表示测试集大小(包含的用户对项目的评分 个数),ra,b表示用户心对项目ib的实际评分,(^〃 a,b表示对项目进行归一化加权之后,用户ua 对项目ib的预测评分;
[0069]步骤63:根据以下公式计算用户和项目同时归一化加权后,用户ua和用户iw的用 户余弦相似度Sin/" (Ua,Ua'):
[0071] 其中,ra,u代表用户心对项目iu的实际评分,ra' 表用户ua'对项目iu的实际评分, Ua代表用户1^评分过的项目集合,IV代表用户iw评分过的项目集合,ua n IV代表用户^和 用户iw共同评分的项目集,狗代表项目"的权重,13代表用户1^的权重,la'代表用户iw的权 重;
[0072] 步骤64:根据以下公式确定用户和项目同时归一化加权后,,用户1^对项目的评
中,基于用户和项目同时归一化加权后,q" a,痛示用户1^对项目"的评分预测值;表 不用户Ua的k个最近邻用户集合,Wu代表项目iu的权重,la代表用户Ua的权重,代表用户1^ 的权重,^^表示用户对项目i U的实际评分。
[0073] 根据本发明提供的具体实施例,本发明公开了以下技术效果:
[0074] 本发明公开的基于用户和项目同时归一化加权的用户协同过滤推荐方法通过对 用户和项目同时进行归一化加权,并以平均绝对误差(MAE)最小为优化目标和适应度函数, 使用归一化PSO随机优化算法求解用户和项目的最优归一化权值,从而达到减少预测评分 误差,提高预测评分精度的目的。
[0075]本发明的第七目的是提供一种基于用户和项目同时归一化加权的项目协同过滤 推荐方法。
[0076]为实现上述目的,本发明提供了如下方案:
[0077] -种基于用户和项目同时归一化加权的项目协同过滤推荐方法,所述基于用户和 项目同时归一化加权的项目协同过滤推荐方法包括:
[0078] 步骤71:获取用户113对项目ib的评分ra,b形成评分矩阵R mXn,其中,a表示用户序号, a = l,2···,m;b表示项目序号,b = l,2···,n;
[0079] 步骤:72:根据权利要求1中所述的归一化PS0随机优化算法确定的所述群体的权 值对用户和项目进行归一化加权,分别确定对应用户和项目的权重;
[008C
对所有的用户ua加权的权值之和为1,归一化约束条件夂·
表示对所有的项目ib加 权的权值之和为1,Test表示已评分测试集,L表示测试集大小(包含的用户对项目的评分个 数),ra,b表示用户^对项目ib的实际评分,cT a,b表示对项目进行归一化加权之后,用户^对 项目ib的预测评分。
[0081 ]步骤73:根据以下公式计算用户和项目归一化加权后,,项目ib与项目k的项目余 弦相似度8;[1]1〃(;^41/):
[0083]其中,Ib表示所有评分过项目ib的用户集合,Ib'表示所有评分过项目ib'的用户集 合,Ib n IV表示同时评分过项目ib和项目W的用户集合,代表用户%对项目的乜评分, i,//代表用户I对项目的k评分Λ代表用户^的权重,代表项目ib的权重,w代表项目 ib'的权重;
[0084]步骤74:根据以下公式计算用户和项目归一化加权后,用户%对项目ib的评分预测 值心:
[0086] 其中,项目归一化加权后,代表用户义对项目ib的评分预测值,1^代表项目ib 的k个最近邻项目集合代表用户沁对项目ib'的真实评分Λ代表用户^的权重,wb代表 项目ib的权重,w b'代表项目ib'的权重。
[0087] 根据本发明提供的具体实施例,本发明公开了以下技术效果:
[0088] 本发明公开的基于用户和项目同时归一化加权的项目协同过滤推荐方法通过对 用户和项目同时进行归一化加权,并以平均绝对误差(MAE)最小为优化目标和适应度函数, 使用归一化PS0随机优化算法求解用户和项目的最优归一化权值,从而达到减少预测评分 误差,提高预测评分精度的目的。
【附图说明】
[0089] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所 需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施 例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图 获得其他的附图。
[0090] 图1为本发明实施例归一化PS0随机优化算法的流程图。
【具体实施方式】
[0091] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0092] 本发明的目的是提供一种归一化PS0随机优化算法,所述归一化PS0随机优化算法 的解就满足归一化约束,而传统的PS0算法还需要进一步的变化才能满足归一化约束。吸引 子是算法的稳定点,算法在围绕该点做螺旋运动,故使用吸引子作为缩放中心使得算法更 容易寻找到全局最优点。
[0093] 为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实 施方式对本发明作进一步详细的说明。
[0094] 如图1所示,本发明归一化PS0随机优化算法包括:
[0095] 步骤11:初始化Z个粒子的群体,使得每个粒子初始化为Η维,迭代次数T;选取一个 粒子对所述粒子的每一维上都赋值为1/Η,剩下的粒子的每一维均在(0,1)之间随机赋值;
[0096] 步骤1 2 :计算每个粒子的当前位置尤=(Xi, 2,…4…,X;/f )的适应度 夕,以确定每个粒子z的历史最优位置€ =〇4,/4,···,/4,···,/4)及群体历 史最优位置Gts;: =?^,客^2,···,^^,。",%##);其中,z表示粒子序号, z = i, 2,…,Z;h表示维度序号,h = l,2,…,H;t表示迭代次数,t = l,2,···,T;<表示第z个粒子在 第t次迭代的当前位置;
[0097] 步骤13:根据以下公式
的速度和位置;其中,K:表示第t次迭代的粒子z的速度,?^+1表示第t+Ι次迭代的粒子z的速 度,义;表示第t次迭代后的粒子z的位置,表示第t+Ι次迭代后粒子z的位置,ω表示惯性 权值,γ:、γ2为[0,1]之间的随机数,且两者之间相互独立,m、n2为加速因子;
[0100]若满足执行步骤15,否则对粒子做以下处理以满足所述判断条件:
[0103] 步骤15:根据以下公式确定吸引子ΓΙ并以吸引子Γ1.为缩放中心,以4为缩放因 子对粒子进行缩放
,其中,为随机数, 且ai e(〇.5,1.5)、a2e(-〇.5,1.5)、a3e(〇,l);
[0104] 步骤16:根据缩放结果判断是否找到单个粒子的最优位置和群体的最优位置或者 迭代次数t>T,如果是则根据所述群体的最优位置确定所述群体的权值;否则执行步骤12。
[0105] 下面以具体实施例详细介绍:
[0106] (11)始化归一化PS0算法最大迭代次数T=Maxtime,记目前次数times = l,全局最 优精度值gbest为最大值。初始化各粒子的权值分配,将平均分配作为一个粒子的初始权值 分配,将相关加权权值分配作为部分粒子的初始权值分配,其余粒子进行随机权值分配。将 已知加权作为初始值可以加快归一化PS0算法寻优的收敛速度。
[0107] (12)计算各粒子权值分配下的适应函数值,即推荐精度值。可以通过分布式加速 这部分计算。通过比较,得到本次最优推荐精度pbest。若pbest>gbest,则更新全局最优精 度值和相应的最优权值分配策略。
[0108] (13)判断目前次数times是否超过预先设置最大迭代次数Maxtime,若超过则将 gbest及其相应权值分配策略作为最后结果输出,否则继续进入(14)。
[0109] (14)更新各粒子的权值分配,times为粒子更新迭代次数。在第times代,粒子i在d 维空间中所经历过的"最好"位置记作口^二化也^^…^^乂粒子群中"最好"的粒子位置 记作Ptg= (ptgi,ptg2,…,Ptgd) ;C1和C2为加速系数;ri、r2为[0,1]之间的随机数,且两者之间 相互独立。w称为惯性权值,控制粒子每一代速度更新有多少以前的速度保留下来。 VlJ (times) e [-Vmax,Vmax]; Vmax是常数,用来限制粒子速度的更新范围,由用户设定次数加一转 (⑵。
[0110]数据集使用的是UCI公共数据集的wine数据集和heart-statlog数据集。wine数据 集中包含178条信息。每条信息包含14个基本属性和一个分类属性,一共将这些信息分为三 类,其中类别一包含59条信息,类别二包含71条信息,类别三包含48条信息。而heart-statlog 数据集是一个二分类问题 ,其中包含 270 条信息 ,每条信息包含 13 个基本属性和一 个分类属性。
[0111]表一数据集描述
[0113] 进一步通过三种算法:传统KNN,传统PS0加权的KNN和归一化PS0加权的KNNJS0算 法中:初始的粒子数目设置为20个,参数设置如下:ω =〇. 3,ci = C2 = 1.49445,迭代次数均 为300次,算法在迭代次数完成后退出循环,为了排除实验中的偶然性,我们讲每个实验重 复执行10次。每次执行时传统PS0算法和归一化PS0算法所有粒子初始位置和初始速度均相 同。
[0114] 实验结果如下表2:表2实验结果
[0115]
[0116] 从表1和表2中可以看出:
[0117] 1)在Wine数据集上传统KNN的分类准确性已经比较高,加权PS0-KNN可以在此基础 上提高分类准确率。
[0118] 2)而归一化加权PS0-KNN能够在加权的基础上再次将准确率提高,并且归一化加 权PS0-KNN在波动幅度上也和加权PS0-KNN相差不大。
[0119] 本发明还提供一种基于项目归一化加权的项目协同过滤推荐方法。其中,所述基 于项目归一化加权的项目协同过滤推荐方法包括:
[0120] 步骤21:获取用户心对项目ib的实际评分ra,b形成评分矩阵R mXn,其中,a表示用户 序号,a = l,2···,m;b表示项目序号,b = l,2···,n;
[0121] 步骤22:以最小化平均绝对误差(MAE)为优化目标和适应度函数,根据权利要求1 中所述的归一化PS0随机优化算法确定的所述群体的权值对项目进行归一化加权,确定对 应项目的归一化权重
其中,归一化约束条件
表示对所有的项目ib加权的权值之和为1,Test表示已评分测试集,L表示测试 集大小(包含的用户对项目的评分个数),ra,b表示用户1^对项目ib的实际评分,q、 b表示对 项目进行归一化加权之后,用户ua对项目ib的预测评分。
[0122] 步骤23:根据以下公式计算项目归一化加权后,项目ib与项目k的项目余弦相似 Igsim7 (ib,ib7):
[0124] 其中,Ib表示所有评分过项目ib的用户集合,k表示所有评分过项目k的用户集 合,lb n Ib'表示同时评分过项目?和项目ib'的用户集合,4,6代表用户\对项目的乜评分, 9代表用户乂对项目ib'的评分,Wb代表项目ib的权重,w代表项目ib'的权重。
[0125] 步骤24:根据以下公式计算项目归一化加权后,用户%对项目ib的评分预测值
;其中,项目归一化加权后,'代表用户化对项 目ib的评分预测值,,代表项目?的k个最近邻项目集合,代表用户饩对项目W的真 实评分,wi/代表项目it/的权重。
[0126] 具体的,在得到的最优权值的基础上,计算加权后项目的相似度,为每个项目赋予 一个权值,分别为W1,W2,......Wi,......Wn。因为近邻选择是按照相似性从大到小来选择 的,各相似性权重比例相同时结果也相同。根据这一特性,可以对相似性加权进行权值和归 一化约束。在不影响精度的情况下,这些约束大大缩小了最优权值的选取范围。
[0128] 下面以具体实例详细介绍:
[0129] 1)将数据集中数据表示为mXn的用户-项目矩阵。m为用户数,η为项目数。用户-项 目评分矩阵
[0132] 2)项目进行归一化加权,得到项目归一化加权的项目协同过滤推荐方法。项目归 一化加权的用户-项目矩阵
[0134] 3)项目归一化加权后,项目ib与项目ib'的项目余弦相似度sin/ (ib,ib'):
[0136] 其中,Ib表示所有评分过项目ib的用户集合,k表示所有评分过项目k的用户集 合,lb n k表示同时评分过项目ib和项目k的用户集合代表用户~对项目的乜评分, 9代表用户%对项目ib'的评分,w b代表项目ib的权重,wb'代表项目ib'的权重。
[0137] 4):根据以下公式计算项目归一化加权后,用户I对项目ib的评分预测值
[0138] 其中,项目归一化加权后,代表用户%对项目ib的评分预测值,代表项目ib 的k个最近邻项目集合,代表用户义对项目ib'的真实评分,W代表项目ib'的权重。
[0139] 进一步的,以最小化平均绝对误差(MAE)为优化目标和适应度函数,利用归一化 PS0算法来迭代求解最优项目加权值;
[0140] 测试集合上的平均绝对偏差MAE可以定义为: 其中,Test 表示已评分测试集,L表示测试集的大小(包含的用户对项目的评分个数),ra,b表示测试集 中用户ua对项目ib的真实评分,Y a,b表示利用本文中提出的基于项目归一化加权的项目协 同过滤推荐方法测试集中用户1^对项目i b的预测评分。
[0141] MAE(平均绝对偏差)衡量了用户对项目的实际评分与通过预测得到的用户对项目 的评分之间的绝对偏差大小,其值越小,说明偏差越小,从而推荐质量就越高。
[0142] 数据集使用的是美国明尼苏达大学GroupLens研究项目组提供的MovieLens数据 集。该数据集包含943用户对1682部电影的细节信息以及这些用户对项目的10万次评分。其 中每个用户至少对20部电影进行了评分。评分的范围是1、2、3、4、5,1表示"很差",5表示"很 好"。
[0145] 基于用户归一化加权的用户协同过滤推荐方法中:初始粒子数目设置为100个,参 数设置如下:cl = c2 = 0.1,迭代次数均为500次,算法在迭代次数完成后退出循环,为了排 除实验中的偶然性,我们将每个实验重复执行10次。
[0146] 本发明还提供一种基于用户归一化加权的用户协同过滤推荐方法。其中,所述基 于用户归一化加权的用户协同过滤推荐方法包括:
[0147] 步骤31:获取用户心对项目ib的评分ra,b形成评分矩阵RmXn,其中,a表示用户序号, a = l,2···,m;b表示项目序号,b = l,2···,n;
[0148] 步骤32:以最小化平均绝对误差(MAE)为优化目标和适应度函数,根据权利要求1 中所述的归一化PS0随机优化算法确定的所述群体的权值对用户进行归一化加权,确定对 应用户的归一化权重;
;其中,归一化约束条件
表示对所有的用户ua加权的权值之和为l,Test表示已评分测试集,L表示测试 集大小(包含的用户对项目的评分个数),ra,b表示用户1^对项目ib的实际评分,q、 b表示对 用户进行归一化加权之后,用户ua对项目ib的预测评分。
[0149] 步骤33:根据以下公式计算用户归一化加权后,用户ua和用户iw的用户余弦相似 度sim'(UE^Ua,):
[0151] 其中,ra, u代表用户ua对项目i u的实际评分,r/,^代表用户ua'对项目i u的实际评 分,Ua代表用户Ua评分过的项目集合,Ik代表用户IW评分过的项目集合,Ua (? Ik代表用户Ua 和用户UY共同评分的项目集,1 a代表用户Ua的权重,代表用户UY的权重;
[0152] 步骤34:根据以下公式计算用户归一化加权后,用户ua对项目的评分预测值
(6 );其中,基于用户归一化加权后,q' a,"表示用 户1^对项目"的评分预测值,表示用户u^k个最近邻用户集合,la'表示用户iw的加权 值,ra' ,u表示用户仏'对项目iu的实际评分。
[0153]具体的,在得到的最优权值的基础上,计算加权后项目的相似度,为每个用户赋予 一个权值,分别为h,l2,......la,......lm。因为近邻选择是按照相似性从大到小来选择 的,各相似性权重比例相同时结果也相同。根据这一特性,可以对相似性加权进行权值和归 一化约束。在不影响精度的情况下,这些约束大大缩小了最优权值的选取范围。
[0155] 其中,归一化约束条件
表示对所有的用户ua加权的权值之和为l,Test 表示已评分测试集,L表示测试集大小(包含的用户对项目的评分个数),ra,b表示用户uM 项目ib的实际评分,Y a,b表示对用户进行归一化加权之后,用户ua对项目ib的预测评分。
[0156] 下面以具体实例详细介绍:
[0157] 1)将数据集中数据表示为mXn的用户-项目矩阵。m为用户数,η为项目数。用户-项 目评分矩阵
[0159] 2)对用户进行归一化加权,得到用户归一化加权的项目协同过滤推荐方法。用户 加权的用户-项目矩阵
[0162]用户ua和用户IW的用户余弦相似度sin/ (Ua,lW ):
[0164] 其中,ra,"代表用户~对项目的实际评分,ra>代表用户iW对项目L的实际评分, ua代表用户~评分过的项目集合,代表用户iw评分过的项目集合,ua n 代表用户udP 用户iw共同评分的项目集,la代表用户~的权重,代表用户iw的权重;
[0165] 根据以下公式计算用户归一化加权后,用户ua对项目的评分预测值
[0167] 其中,基于用户归一化加权后,匕,"表示用户~对项目"的评分预测值,表示 用户~的1^个最近邻用户集合,表示用户iw的加权值,"表示用户iw对项目^的实际评 分。
[0168] 3)以最小化平均绝对误差(MAE)为优化目标和适应度函数,利用归一化PS0算法来 迭代求解最优用户加权值;
[0169]
其中,Test表示已评分测试集,L表示测试集的大小 (包含的用户对项目的评分个数),ra,b表示测试集中用户ua对项目i b的真实评分,Y a,b表示 利用本文中提出的基于项目归一化加权的项目协同过滤推荐方法测试集中用户~对项目ib 的预测评分。
[0170] MAE(平均绝对偏差)衡量了用户对项目的实际评分与通过预测得到的用户对项目 的评分之间的绝对偏差大小,其值越小,说明偏差越小,从而推荐质量就越高。
[0171]数据集使用的是美国明尼苏达大学GroupLens研究项目组提供的MovieLens数据 集。该数据集包含943用户对1682部电影的细节信息以及这些用户对项目的10万次评分。其 中每个用户至少对20部电影进行了评分。评分的范围是1、2、3、4、5,1表示"很差",5表示"很 好"。
[0172]表四数据集描述
[0175] 基于用户归一化加权的用户协同过滤推荐方法中:初始粒子数目设置为100个,参 数设置如下:cl = 0.6,c2 = 1.0,迭代次数均为500次,算法在迭代次数完成后退出循环,为 了排除实验中的偶然性,我们将每个实验重复执行10次。
[0176] 本发明还提供一种基于用户归一化加权的项目协同过滤推荐方法,其中所述基于 用户归一化加权的项目协同过滤推荐方法包括:
[0177] 步骤41:获取用户~对项目ib的评分ra,b形成评分矩阵RmXn,其中,a表示用户序号, a = l,2···,m;b表示项目序号,b = l,2···,n;
[0178] 步骤42:以最小化平均绝对误差(MAE)为优化目标和适应度函数,根据权利要求1 中所述的归一化PS0随机优化算法确定的所述群体的权值对用户进行归一化加权,确定对 应用户的权重;
[0180] 其中,归一化约束条件&
表示对所有的用户ua加权的权值之和为l,Test 表示已评分测试集,L表示测试集大小(包含的用户对项目的评分个数),ra,b表示用户uM 项目ib的实际评分,Y a,b表示对用户进行归一化加权之后,用户ua对项目ib的预测评分。 [0181 ]步骤43:根据以下公式计算用户归一化加权后,项目ib与项目k的项目余弦相似 ^sim^Cib.ib 7):
[0183]其中,Ib表示所有评分过项目ib的用户集合,k表示所有评分过项目k的用户集 合,ibn Ib'表示同时评分过项目ib和项目ib'的用户集合,代表用户%对项目的込评分, i万代表用户心对项目的k评分4代表用户4的权重;
[0184]步骤44:根据以下公式计算用户归一化加权后,用户\对项目ib的评分预测值<-.i:
[0186] 其中,项目归一化加权后,心,代表用户对项目ib的评分预测值,7胃%代表项目i b 的k个最近邻项目集合,代表用户义对项目k的真实评分,&代表用户~的权重。
[0187] 具体的,在得到的最优权值的基础上,计算加权后项目的相似度,为每个用户赋予 一个权值,分别为h,l2,......la,......lm。因为近邻选择是按照相似性从大到小来选择 的,各相似性权重比例相同时结果也相同。根据这一特性,可以对相似性加权进行权值和归 一化约束。在不影响精度的情况下,这些约束大大缩小了最优权值的选取范围。
[0189] 其中,归一化约束条件说
表示对所有的用户ua加权的权值之和为l,Test 表示已评分测试集,L表示测试集大小(包含的用户对项目的评分个数),ra,b表示用户uM 项目ib的实际评分,Y a,b表示对用户进行归一化加权之后,用户ua对项目ib的预测评分。
[0190] 下面以具体实例详细介绍:
[0191] 1)将数据集中数据表示为mXn的用户-项目矩阵。m为用户数,η为项目数。用户-项 目评分矩阵
[0193] 2)对用户进行归一化加权,得到用户归一化加权的项目协同过滤推荐方法。用户 加权的用户-项目矩阵
[0195] 根据以下公式计算用户归一化加权后,项目ib与项目的项目余弦相似度
,其中,lb表;^ ! 所有评分过项目ib的用户集合,k表示所有评分过项目k的用户集合,lb n IV表示同时评 分过项目ib和项目k的用户集合Λ,ζ,代表用户%对项目的ib评分代表用户士对项目 的k评分,?代表用户气_的权重;
[0196] 根据以下公式计算用户归一化加权后,用户%对项目ib的评分预测值<
[0198] 其中,项目归一化加权后,代表用户%对项目ib的评分预测值,代表项目ib 的k个最近邻项目集合Λ,ζ/代表用户义对项目k的真实评分Λ代表用户士的权重。
[0199]
所有的用户ua加权的权值之和为l,Test表示已评分测试集,L表示测试集大小(包含的用户 对项目的评分个数),ra,b表示用户^对项目ib的实际评分,Y a,b表示对用户进行归一化加权 之后,用户ua对项目i b的预测评分。
[0200] MAE(平均绝对偏差)衡量了用户对项目的实际评分与通过预测得到的用户对项目 的评分之间的绝对偏差大小,其值越小,说明偏差越小,从而推荐质量就越高。
[0201] 本发明还提供一种基于项目归一化加权的用户协同过滤推荐方法,其中,所述基 于项目归一化加权的用户协同过滤推荐方法包括:
[0202] 步骤51:获取用户心对项目ib的评分ra,b形成评分矩阵RmXn,其中,a表示用户序号, a = l,2···,m;b表示项目序号,b = l,2···,n;
[0203] 步骤52:以最小化平均绝对误差(MAE)为优化目标和适应度函数,根据权利要求1 中所述的归一化PS0随机优化算法确定的所述群体的权值对项目进行归一化加权,确定对 应项目的归一化权重
;其中,归一化约束条件
表示对所有的项目ib加权的权值之和为1,Test表示已评分测试集,L表示测试 集大小(包含的用户对项目的评分个数),ra,b表示用户1^对项目ib的实际评分,q〃 a,b表示对 项目进行归一化加权之后,用户ua对项目ib的预测评分。
[0204]步骤53:根据以下公式计算项目归一化加权后,用户ua和用户iw的用户余弦相似 度 sim〃(UE^Ua,):
[0206] 其中,ra,u代表用户心对项目iu的实际评分,rZ 表用户iw对项目i u的实际评分, Ua代表用户1^评分过的项目集合,IV代表用户iw评分过的项目集合,ua n IV代表用户^和 用户iw共同评分的项目集,^代表项目。的权重;
[0207] 步骤54:根据以下公式确定项目归一化加权后,用户ua对项目的评分预测值
其中,基于用户归 一化加权后,q〃a>u表示用户~对项目"的评分预测值;示用户uWk个最近邻用户集 合,wu代表项目"的权重,ra',u表示用户^'对项的实际评分。
[0208] 具体的,在在得到的最优权值的基础上,计算加权后项目的相似度,为每个项目赋 予一个权值,分别为W1,W2,......m,......wn。因为近邻选择是按照相似性从大到小来选 择的,各相似性权重比例相同时结果也相同。根据这一特性,可以对相似性加权进行权值和 归一化约束。在不影响精度的情况下,这些约束大大缩小了最优权值的选取范围。
[0209]
其中,归一化约束条件说
对所有的项目ib加权的权值之和为l,Test表示已评分测试集,L表示测试集大小(包含的用 户对项目的评分个数),ra,b表示用户1^对项目ib的实际评分,q〃 a,b表示对项目进行归一化加 权之后,用户ua对项目ib的预测评分。
[0210]下面以具体实施例详细介绍:
[0211] 1)将数据集中数据表示为mXn的用户-项目矩阵。m为用户数, n为项目数。用户-项 目评分矩阵
[0213] 2)对项目进行归一化加权,得到项目归一化加权的项目协同过滤推荐方法。项目 归一化加权的用户-项目矩阵
[0216]根据以下公式计算项目归一化加权后,用户Ua和用户Ua'的用户余弦相似度 sim〃 (Ua,Ua7 ):
[0218]其中,ra,u代表用户仏对项目i"的实际评分,r a/ ,u代表用户似对项目i"的实际评分, Ua代表用户1^评分过的项目集合,IV代表用户iw评分过的项目集合,ua n IV代表用户^和 用户iw共同评分的项目集,^代表项目。的权重;
[0219]根据以下公式确定项目归一化加权后,用户^对项目iu的评分预测值q〃a, u
[0221] 其中,基于用户归一化加 权后,q〃a>u表示用户~对项目"的评分预测值;表示 用户个最近邻用户集合,^代表项目。的权重,^^表示用户iw对项目iu的实际评分。
[0222]
其中,Test表示已评分测试集,L表示测试集大 小(包含的用户对项目的评分个数),ra,b表示用户^对项目ib的实际评分,Y / ,b表示对项目 进行归一化加权之后,用户ua对项目ib的预测评分。
[0223] MAE(平均绝对偏差)衡量了用户对项目的实际评分与通过预测得到的用户对项目 的评分之间的绝对偏差大小,其值越小,说明偏差越小,从而推荐质量就越高。
[0224] 本发明还提供一种基于用户和项目同时归一化加权的用户协同过滤推荐方法,其 中,所述基于用户和项目同时归一化加权的用户协同过滤推荐方法包括:
[0225] 步骤61:获取用户心对项目ib的评分ra,b形成评分矩阵RmXn,其中,a表示用户序号, a = l,2···,m;b表示项目序号,b = l,2···,n;
[0226] 步骤62:以最小化平均绝对误差(MAE)为优化目标和适应度函数,根据权利要求1 中所述的归一化PS0随机优化算法确定的所述群体的权值对用户和项目进行归一化加权, 分别确定对应用户和项目的权重;
[0228]其中,归一化约束条件#·
表示对所有的用户ua加权的权值之和为1,归一 化约束条件夂
表示对所有的项目ib加权的权值之和为l,Test表示已评分测试 集,L表示测试集大小(包含的用户对项目的评分个数),ra,b表示用户1^对项目ib的实际评 分,a,b表示对项目进行归一化加权之后,用户ua对项目ib的预测评分。
[0229] 步骤63:根据以下公式计算用户和项目同时归一化加权后,用户ua和用户iw的用 户余弦相似度Sin/" (Ua,Ua'):
[0230]
[0231] 其中,ra,u代表用户心对项目iu的实际评分,ra' 表用户ua'对项目iu的实际评分, Ua代表用户1^评分过的项目集合,IV代表用户iw评分过的项目集合,ua n IV代表用户^和 用户iw共同评分的项目集,狗代表项目"的权重,13代表用户1^的权重,la'代表用户iw的权 重;
[0232]步骤64:根据以下公式确定用户和项目同时归一化加权后,,用Pua对项目的评 分预测值Μ
[0234] 其中,基于用户和项目同时归一化加权后,表示用户心对项目的评分预测 值表示用户uWk个最近邻用户集合,^代表项目"的权重,la代表用户~的权重 代表用户1^的权重,iv ,u表不用户iw对项目iu的实际评分。
[0235] 具体的,在得到的最优权值的基础上,计算加权后项目的相似度,为每个项目赋予 一个权值,分别为W1,W2,......Wb,......Wn。因为近邻选择是按照相似性从大到小来选择 的,各项目权重比例相同时结果也相同。根据这一特性,可以对项目加权进行权值和归一化 约束。在不影响精度的情况下,这些约束大大缩小了项目最优权值的选取范围。归一化约束 条件夂
表示对所有的项目ib加权的权值之和为1。
[0236] 在得到的最优权值的基础上,计算加权后项目的相似度,为每个用户赋予个权值, 分别为h,l2,......la,......lm。因为近邻选择是按照相似性从大到小来选择的,各用户 权重比例相同时结果也相同。根据这一特性,可以对用户加权进行权值和归一化约束。在不 影响精度的情况下,这些约束大大缩小了用户最优权值的选取范围。归一化约束条件 St-
表示对所有的用户ua加权的权值之和为1。
[0237] 下面以具体实施例详细介绍:
[0238] 1)将数据集中数据表示为mXn的用户-项目矩阵。m为用户数,η为项目数。用户-项 目评分矩阵
[0240] 2)对用户和项目进行归一化加权,得到用户归一化加权的项目协同过滤推荐方法。用户和项目加权的用户-项目矩阵
[0242]根据以下公式计算用户和项目同时归一化加权后,用户ua和用户IW的用户余弦相 似度Sim'" (Ua,!^ ):
[0244] 其中,ra,u代表用户^对项目i"的实际评分,ra/ ,u代表用户似对项目i"的实际评分, Ua代表用户1^评分过的项目集合,IV代表用户iw评分过的项目集合,ua n IV代表用户^和 用户iw共同评分的项目集,狗代表项目"的权重,13代表用户1^的权重,la'代表用户iw的权 重;
[0245] 根据以下公式确定用户和项目同时归一化加权后,用户ua对项目的评分预测值 q〃' a,u
[0247] 其中,基于用户和项目同时归一化加权后,表示用户心对项目的评分预测 值;胃,。表示用户11』他个最近邻用户集合,^代表项目"的权重,la代表用户~的权重, 代表用户1^的权重,iv ,u表不用户iw对项目iu的实际评分。
[0248]
其中,Test表示已评分测试集,L表示测试集大小(包 含的用户对项目的评分个数),ra,b表示用户^对项目ib的实际评分,q〃 a,b表示对项目进行归 一化加权之后,用户ua对项目ib的预测评分。
[0249] MAE(平均绝对偏差)衡量了用户对项目的实际评分与通过预测得到的用户对项目 的评分之间的绝对偏差大小,其值越小,说明偏差越小,从而推荐质量就越高。
[0250] 本发明还提供一种基于用户和项目同时归一化加权的项目协同过滤推荐方法,其 中,所述基于用户和项目同时归一化加权的项目协同过滤推荐方法包括:
[0251] 步骤71:获取用户心对项目ib的评分ra,b形成评分矩阵RmXn,其中,a表示用户序号, a = l,2···,m;b表示项目序号,b = l,2···,n;
[0252] 步骤:72:根据权利要求1中所述的归一化PS0随机优化算法确定的所述群体的权 值对用户和项目进行归一化加权,分别确定对应用户和项目的权重;
[0254] 其中,归一化约束条件〃·
表示对所有的用户ua加权的权值之和为1,归一 化约束条件
表示对所有的项目ib加权的权值之和为l,Test表示已评分测试 集,L表示测试集大小(包含的用户对项目的评分个数),ra,b表示用户1^对项目ib的实际评 分,a,b表示对项目进行归一化加权之后,用户ua对项目ib的预测评分。
[0255] 步骤73:根据以下公式计算用户和项目同时归一化加权后,,项目ib与项目k的项 目余弦相似度sim〃(ib,it/ ):
[0257] 其中,Ib表示所有评分过项目ib的用户集合,k表示所有评分过项目k的用户集 合,Ib n Ib'表示同时评分过项目ib和项目ib'的用户集合,代表用户%对项目的辻评分, i,/y代表用户1对项目的k评分Λ代表用户%的权重,抓代表项目ib的权重,W代表项目 ib'的权重;
[0258] 步骤74:根据以下公式计算用户和项目同时归一化加权后,用户对项目ib的评分 预测值':
[0260]其中,项目归一化加权后,</,代表用户\对项目ib的评分预测值,代表项目ib 的k个最近邻项目集合,代表用户心对项目k的真实评分Λ代表用户%的权重,代表 项目ib的权重,wb'代表项目ib'的权重。
[0261 ]具体的,在得到的最优权值的基础上,计算加权后项目的相似度,为每个项目赋予 一个权值,分别为W1,W2,......Wb,......Wn。因为近邻选择是按照相似性从大到小来选择 的,各项目权重比例相同时结果也相同。根据这一特性,可以对项目加权进行权值和归一化 约束。在不影响精度的情况下,这些约束大大缩小了项目最优权值的选取范围。归一化约束 条件夂
表示对所有的项目ib加权的权值之和为1
[0262] 在得到的最优权值的基础上,计算加权后项目的相似度,为每个用户赋予个权值, 分别为h,l2,......la,......lm。因为近邻选择是按照相似性从大到小来选择的,各用户 权重比例相同时结果也相同。根据这一特性,可以对用户加权进行权值和归一化约束。在不 影响精度的情况下,这些约束大大缩小了用户最优权值的选取范围。归一化约束条件 对.
表示对所有的用户ua加权的权值之和为1。
[0263] 下面以具体实施例详细介绍:
[0264] 1)将数据集中数据表示为mXn的用户-项目矩阵。m为用户数,η为项目数。用户-项 目评分矩阵
[0266] 2)对用户和项目同时进行归一化加权,得到用户和项目同时归一化加权的项目协 同过滤推荐方法。用户和项目加权的用户-项目矩阵
[0268]根据以下公式计算用户和项目同时归一化加权后,,项目ib与项目k的项目余弦 相似度8;[1]1〃(;^41/):
[0270] 其中,Ib表示所有评分过项目ib的用户集合,k表示所有评分过项目k的用户集 合,I bn k表示同时评分过项目ib和项目k的用户集合,^力代表用户%对项目的乜评分, 代表用户气-对项目的k评分Λ代表用户%的权重,Wb代表项目ib的权重,W代表项目 ib'的权重;
[0271] 根据以下公式计算用户和项目同时归一化加权后,用户对项目ib的评分预测值
[0273] 其中,项目归一化加权后,劣,6代表用户对项目ib的评分预测值,《1代表项目ib 的k个最近邻项目集合Λ.//代表用户~对项目k的真实评分Λ代表用户I的权重,wb代表 项目ib的权重,w b'代表项目ib'的权重。
[0274]
其中,Test表示已评分测试集,L表示测试集大小(包 含的用户对项目的评分个数),ra,b表示用户^对项目ib的实际评分,q〃 a,b表示对项目进行归 一化加权之后,用户ua对项目ib的预测评分。
[0275] MAE(平均绝对偏差)衡量了用户对项目的实际评分与通过预测得到的用户对项目 的评分之间的绝对偏差大小,其值越小,说明偏差越小,从而推荐质量就越高。
[0276] 本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他 实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
【主权项】
1. 一种归一化PSO随机优化算法,其特征在于,所述归一化PSO随机优化算法包括: 步骤11:初始化Z个粒子的群体,使得每个粒子初始化为Η维,迭代次数T;选取一个粒子 对所述粒子的每一维上都赋值为1/Η,剩下的粒子的每一维均在(0,1)之间随机赋值; 步骤1 2 :计算每个粒子的当前位置X;=(為,_<2,…,為,…,冷/)的适应度 邦we訓:确定每个粒子Ζ的历史最优位置/^=(拍,佐,...,咸,...,/4)及群体历 史最优位置巧。,:巧W =(容Lw,l,各…,各Lw,/,…,故W,ii);其中,Z表示粒子序号,Z = 1, 2,…,Z;h表示维度序号,h = l,2,…,H;t表示迭代次数,t = l,2,···,Τ;,《表示第Z个粒子在 第t次迭代的当前位置; 步骤13 :根据W下公式更新粒子的速 度和位置;其中,表示第t次迭代的粒子Z的速度,巧W表示第t+i次迭代的粒子Z的速度, 义;表示第t次迭代后的粒子Z的位置,單+1表示第t+1次迭代后粒子Z的位置,ω表示惯性权 值,丫 1、丫 2为[0,U之间的随机数,且两者之间相互独立,m、η劝加速因子; 步骤14:计算判断是否满足W下判断条件:其中,Xzh表示第Ζ个粒子的位置在第h维上的分量; 若满足执行步骤15,否则对粒子做W下处理W满足所述判断条件: 若不满足钱> 0,则令瑣二去*诚,并更新,巧中/4 € (0,1); 若粒子不满足诚< 1,则令并更新4: 步骤15:根据^下公式确定吸引子^,,并^吸引子[1为缩放中屯、,化5^为缩放因子对 粒子进行缩放:,其中,日1、日2和日3为随机数,且日1 e (0.5, 1.5)^02^(-0.5,1.5)^03^(0,1); 步骤16:根据缩放结果判断是否找到单个粒子的最优位置和群体的最优位置或者迭代 次数t>T,如果是则根据所述群体的最优位置确定所述群体的权值;否则执行步骤12。2. -种基于项目归一化加权的项目协同过滤推荐方法,其特征在于,所述基于项目归 一化加权的项目协同过滤推荐方法包括: 步骤21:获取用户Ua对项目ib的实际评分ra,b形成评分矩阵Rmxn,其中,a表示用户序号,a =1,2...,m;b表示项目序号,b = l ,2...,n; 步骤22: W最小化平均绝对误差(MAE)为优化目标和适应度函数,根据权利要求1中所 述的归一化PSO随机优化算法确定的所述群体的权值对项目进行归一化加权,确定对应项 目的归一化权重;其中,归一化约束条件A't表示对所有的项目ib加权的权值之和为1,Test表示 已评分测试集,L表示测试集大小(包含的用户对项目的评分个数),ra,b表示用户Ua对项目ib 的实际评分,q/ a, b表示对项目进行归一化加权之后,用户Ua对项目ib的预测评分; 步骤23:根据W下公式计算项目归一化加权后,项目ib与项目ib'的项目余弦相似度 sim' (ib,ib'):其中,Ib表示所有评分过项目ib的用户集合,Ib'表示所有评分过项目ib'的用户集合,Ib η Ib'表示同时评分过项目ib和项目ib'的用户集合,和代表用户而对项目的ib评分代表 用户%对项目ib'的评分,wb代表项目ib的权重,W代表项目ib'的权重; 步骤24:根据W下公式计算项目归一化加权后,用户对项目ib的评分预测值姑6::其中,项目归一化加权后,追A代表用户聲对项目ib的评分预测值,WK,。代表项目ib的k个 最近邻项目集合,尽,6'代表用户^对项目ib'的真实评分,W代表项目ib'的权重。3. -种基于用户归一化加权的用户协同过滤推荐方法,其特征在于,所述基于用户归 一化加权的用户协同过滤推荐方法包括: 步骤31 :获取用户Ua对项目ib的评分ra,b形成评分矩阵RmXn ,其中,a表不用户序号,曰二1 , 2…,m;b表示项目序号,b = l,2···,n; 步骤32: W最小化平均绝对误差(MAE)为优化目标和适应度函数,根据权利要求1中所 述的归一化PSO随机优化算法确定的所述群体的权值对用户进行归一化加权,确定对应用 户的归一化权重;其中,归一化约束条件S;表示对所有的用户Ua加权的权值之和为l,Test表示 已评分测试集,L表示测试集大小(包含的用户对项目的评分个数),ra,b表示用户Ua对项目ib 的实际评分,q/a,b表示对用户进行归一化加权之后,用户Ua对项目ib的预测评分; 步骤33:根据W下公式计算用户归一化加权后,用户Ua和用户Ua'的用户余弦相似度 S im' ( Ua , Ua'):其中,。,。代表用户Ua对项目i。的实际评分,代表用户Ua'对项目i。的实际评分,Ua代 表用户Ua评分过的项目集合,Ua'代表用户Ua'评分过的项目集合,UanUa'代表用户Ua和用户 Ua'共同评分的项目集,la代表用户Ua的权重,。代表用户Ua'的权重; 步骤34:根据W下公式计算用户归一化加权后,用户Ua对项目i。的评分预测值q/a,。其中,基于用户归一化加权后,q/ a,。表示用户Ua对项目i。的评分预测值,隶示用户 Ua的k个最近邻用户集合,。表示用户Ua'的加权值,表示用户Ua'对项目i。的实际评分。4. 一种基于用户归一化加权的项目协同过滤推荐方法,其特征在于,所述基于用户归 一化加权的项目协同过滤推荐方法包括: 步骤41 :获取用户Ua对项目ib的评分ra,b形成评分矩阵RmXn,其中,a表示用户序号,曰二1, 2…,m;b表不项目序号,b = l ,2··· ,η; 步骤42: W最小化平均绝对误差(MAE)为优化目标和适应度函数,根据权利要求1中所 述的归一化PSO随机优化算法确定的所述群体的权值对用户进行归一化加权,确定对应用 户的权重;其中,归一化约束条件si表示对所有的用户Ua加权的权值之和为1,Test表示 已评分测试集,L表示测试集大小(包含的用户对项目的评分个数),ra,b表示用户Ua对项目ib 的实际评分,q/a,b表示对用户进行归一化加权之后,用户Ua对项目ib的预测评分; 步骤43:根据W下公式计算用户归一化加权后,项目ib与项目ib<的项目余弦相似度 sim"(ib,ib'):其中,Ib表示所有评分过项目ib的用户集合,Ib'表示所有评分过项目ib'的用户集合,Ib η Ib'表示同时评分过项目ib和项目ib'的用户集合,.6代表用户^对项目的ib评分,方代 表用户:^;对项目的山评分,胃/^代表用户與前权重; 步骤44:根据W下公式计算用户归一化加权后,用户%对项目ib的评分预测值楚4^其中,项目归一化加权后,若A代表用户^对项目ib的评分预测值,ΛΚ、代表项目ib的k 个最近邻项目集合,言护代表用户对项目ib'的真实评分,代表用户兩的权重。5. -种基于项目归一化加权的用户协同过滤推荐方法,其特征在于,所述基于项目归 一化加权的用户协同过滤推荐方法包括: 步骤51 :获取用户Ua对项目ib的评分ra,b形成评分矩阵RmXn,其中,a表不用户序号,曰二1 , 2…,m;b表示项目序号,b = l,2···,n; 步骤52: W最小化平均绝对误差(MAE)为优化目标和适应度函数,根据权利要求1中所 述的归一化PSO随机优化算法确定的所述群体的权值对项目进行归一化加权,确定对应项 目的归一化权重;其中,归一化约束条件表示对所有的项目ib加权的权值之和为1,Test表示 已评分测试集,L表示测试集大小(包含的用户对项目的评分个数),ra,b表示用户Ua对项目ib 的实际评分,q"a,b表示对项目进行归一化加权之后,用户Ua对项目ib的预测评分; 步骤53:根据W下公式计算项目归一化加权后,用户Ua和用户Ua'的用户余弦相似度 S im" ( Ua , Ua'):其中,。,。代表用户Ua对项目i。的实际评分,代表用户Ua'对项目i。的实际评分,Ua代 表用户Ua评分过的项目集合,Ua'代表用户Ua'评分过的项目集合,UanUa'代表用户Ua和用户 Ua'共同评分的项目集,W。代表项目i。的权重; 步骤54:根据w下公式确定项目归一化加权后,用户Ua对项目i。的评分预测值q"a,。其中,基于用户归一化加权后,q"a,。表示用户Ua对项目i。的评分预测值;WKu。表示用户 Ua的k个最近邻用户集合,W。代表项目i。的权重,raV表示用户对项目i。的实际评分。6.-种基于用户和项目同时归一化加权的用户协同过滤推荐方法,其特征在于,所述 基于用户和项目同时归一化加权的用户协同过滤推荐方法包括: 步骤61:获取用户Ua对项目ib的评分ra,b形成评分矩阵Rmxn,其中,a表示用户序号,a= 1, 2…,m;b表不项目序号,b = l ,2··· ,η; 步骤62: W最小化平均绝对误差(MAE)为优化目标和适应度函数,根据权利要求1中所 述的归一化PSO随机优化算法确定的所述群体的权值对用户和项目进行归一化加权,分别 确定对应用户和项目的权重;其中,归一化约束条件心表示对所有的用户Ua加权的权值之和为1,归一化约 束条件I示对所有的项目ib加权的权值之和为1,Test表示已评分测试集,L表 示测试集大小(包含的用户对项目的评分个数),ra,b表示用户Ua对项目ib的实际评分,q"/ a,b 表示对项目进行归一化加权之后,用户Ua对项目ib的预测评分; 步骤63:根据W下公式计算用户和项目同时归一化加权后,用户Ua和用户Ua'的用户余 弦相似度sim"' (Ua,Ua'):其中,。,。代表用户Ua对项目i。的实际评分,代表用户Ua'对项目i。的实际评分,Ua代 表用户Ua评分过的项目集合,Ua'代表用户IW评分过的项目集合,UaHUa'代表用户Ua和用户 Ua'共同评分的项目集,W。代表项目i。的权重,la代表用户Ua的权重,。代表用户Ua'的权重; 步骤64:根据W下公式确定用户和项目同时归一化加权后,,用户Ua对项目i。的评分预 测值q"'a,。其中,基于用户和项目同时归一化加权后,q"/ a,。表示用户Ua对项目i。的评分预测值; ^^,,。表示用户113的1^个最近邻用户集合,机代表项目1。的权重,13代表用户113的权重山'代表 用户。的权重,表示用户Ua'对项目i。的实际评分。7.-种基于用户和项目同时归一化加权的项目协同过滤推荐方法,其特征在于,所述 基于用户和项目同时归一化加权的项目协同过滤推荐方法包括: 步骤71 :获取用户Ua对项目ib的评分ra,b形成评分矩阵RmXn,其中,a表示用户序号,曰二1, 2…,m;b表示项目序号,b = l,2···,n; 步骤:72:根据权利要求1中所述的归一化PSO随机优化算法确定的所述群体的权值对 用户和项目进行归一化加权,分别确定对应用户和项目的权重;其中,归一化约束条件化表示对所有的用户Ua加权的权值之和为1,归一化约 束条件说.表示对所有的项目ib加权的权值之和为l,Test表示已评分测试集,L表 示测试集大小(包含的用户对项目的评分个数),ra,b表示用户Ua对项目ib的实际评分,q"/ a,b 表示对项目进行归一化加权之后,用户Ua对项目ib的预测评分; 步骤73:根据W下公式计算用户和项目归一化加权后,,项目ib与项目ib'的项目余弦相 似度3;[1]1"(山:[1/):其中,Ib表示所有评分过项目ib的用户集合,Ib'表示所有评分过项目ib'的用户集合,Ib η ib'表示同时评分过项目ib和项目ib'的用户集合,ff,z,代表用户对项目的ib评分Λ,6'代 表用户'w.i对项目的ib'评分,每代表用户的权重,wb代表项目ib的权重,wb'代表项目ib'的权 重; 步骤74:根据W下公式计算用户和项目归一化加权后,用户和对项目ib的评分预测值 知,:其中,项目归一化加权后,我6代表用户^对项目ib的评分预测值,Af馬代表项目ib的k个 最近邻项目集合,吃6'代表用户听对项目ib'的真实评分Λ代表用户^的权重,Wb代表项目ib 的权重,Wb'代表项目ib'的权重。
【文档编号】G06N3/00GK106096718SQ201610395724
【公开日】2016年11月9日
【申请日】2016年6月6日 公开号201610395724.X, CN 106096718 A, CN 106096718A, CN 201610395724, CN-A-106096718, CN106096718 A, CN106096718A, CN201610395724, CN201610395724.X
【发明人】王成, 文诗琪, 苏芳芳, 郭俊杰, 陈维斌, 陈叶旺, 赖雄鸣, 钟必能, 蔡奕侨, 张惠臻
【申请人】华侨大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1