CN106846029B - 基于遗传算法和新型相似度计算策略的协同过滤推荐算法 - Google Patents

基于遗传算法和新型相似度计算策略的协同过滤推荐算法 Download PDF

Info

Publication number
CN106846029B
CN106846029B CN201610541846.5A CN201610541846A CN106846029B CN 106846029 B CN106846029 B CN 106846029B CN 201610541846 A CN201610541846 A CN 201610541846A CN 106846029 B CN106846029 B CN 106846029B
Authority
CN
China
Prior art keywords
user
articles
items
collaborative filtering
algorithm
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.)
Active
Application number
CN201610541846.5A
Other languages
English (en)
Other versions
CN106846029A (zh
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.)
South China Normal University
Original Assignee
South China Normal 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 South China Normal University filed Critical South China Normal University
Priority to CN201610541846.5A priority Critical patent/CN106846029B/zh
Publication of CN106846029A publication Critical patent/CN106846029A/zh
Application granted granted Critical
Publication of CN106846029B publication Critical patent/CN106846029B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements

Abstract

本发明涉及一种基于遗传算法和新型相似度计算策略的协同过滤推荐算法,算法将每个用户的个体评分均值与方差充分利用到物品的相似度计算方案中,并用于基于物品推荐的协同过滤算法中。此外,算法利用遗传算法自动调整相似度计算公式中的权重值,并通过遗传算法控制推荐算法建模过程中的平均绝对偏差值。通过实验对比和结果分析表明,本专利提出的基于遗传算法和新型相似度计算策略的协同过滤推荐算法在推荐准确度、召回率等指标上都有明显的提高。

Description

基于遗传算法和新型相似度计算策略的协同过滤推荐算法
技术领域
本发明涉及个性化推荐系统技术,尤其涉及一种基于遗传算法和新型相似度计算策略的协同过滤推荐算法。
背景技术
随着互联网和无线通信技术的迅猛发展,给人们日常生活带来了海量信息,如何在信息爆炸的年代获取有用信息成为科技工作者们急需解决的一个问题。个性化推荐是解决信息爆炸和信息过载的一种重要手段,它是根据用户的兴趣特点和购买行为,向用户推荐用户可能会感兴趣的信息和商品。推荐算法是个性化推荐中的重要组成部分,是利用数学和计算机算法等知识,推测出用户可能喜欢的东西。
基于内容的过滤推荐、协同过滤推荐和混合推荐是三类较常见的推荐算法。基于内容的推荐算法根据物品的自身属性及其描述,如物品的颜色、材质等属性,找出与这些物品相似的物品,然后推荐给目标用户。但由于物品的属性往往不容易获取,基于内容的推荐算法用途受限。协同过滤算法则是利用用户过去的行为,如浏览记录、对物品的评分和购买记录等,为用户进行推荐,该类算法因其简单易实现且推荐质量好,成为当前最为流行的一种推荐算法。最后一类基于混合的推荐算法则是将基于内容的推荐算法和基于协同过滤技术的推荐算法相结合,从而提高推荐结果的质量。
相似度的计算是基于相似度的协同过滤算法的关键技术,推荐算法可以根据相似度计算方案得出的用户或物品的相似度,找到目标对象(用户或物品)的邻居,即最相似的对象,进行推荐。现有的相似度计算方案大都忽略了用户的个性化评分习惯这一因素,有的用户比较苛刻,评分总体较低,然而有的用户比较宽容,对于相同满意度的商品,给出的评分较高。例如,在一个5级评分体系中,将4-5分的划为喜欢,低于4分的划分为不喜欢。但是,这种划分方式过于笼统,忽略了不同的人具有不同的评分习惯。不同的人对喜欢的界定不一样,有的人3分就能够表达他对某个物品的喜欢,而有的人则是5分才表示对某个物品的喜欢。有的人比较苛刻,对事物的品味较高,一部制作精美的电影,对于他来说也只是给出了3分的及格分数。而另一些人,比较慷慨大方,他们看到一部普通的电影,可能也会给出4分的高分。没有考虑用户个性化评分习惯这一因素的相似度计算方案所得到的推荐性能不够理想。另一方面,相似度计算方案中会涉及到多个权重因子的赋值,传统方法采用经验值或通过手工调试设置权重因子的值,这些方法费时费力且效果不佳。
发明内容
针对以上两个问题,本申请研究一种基于遗传算法和新型相似度计算方案的协同过滤算法,算法将每个用户的个体评分均值与方差充分利用到物品的相似度计算方案中,并用于基于物品推荐的协同过滤算法中。此外,算法利用遗传算法自动调整相似度计算公式中的权重值,并通过遗传算法控制推荐算法建模过程中的平均绝对偏差值。
一种基于遗传算法和新型相似度计算策略的协同过滤推荐算法,适用于评分范围较小或者评分情况小的情况,包括以下步骤:
S1,收集用户对物品的原始评分;
S2,计算每个用户的平均评分习惯,将用户对物品的评分转换成喜欢与不喜欢,获得用户对物品的一个偏好矩阵;
S3,计算物品与物品之间的相似度:引入向量
Figure DEST_PATH_GDA0001259156140000021
来统计对任意两个物品喜欢的组合情况各自出现的次数,及给定
Figure DEST_PATH_GDA0001259156140000022
权向量表示在用户评分中各种组合情况的重要程度,通过向量
Figure DEST_PATH_GDA0001259156140000023
Figure DEST_PATH_GDA0001259156140000024
权向量的函数计算两个物品x,y的相似度;
S4,根据预测的分数对物品排序,将前N个物品线上推荐给目标用户。
其中,两个物品x,y的相似度通过下列公式计算得出,
Figure DEST_PATH_GDA0001259156140000031
其中
Figure DEST_PATH_GDA0001259156140000032
且wi∈[0,1]。
一种基于遗传算法和新型相似度计算策略的协同过滤推荐算法,适用于用户评分范围较大或者取值情况比较多的情况,包括以下步骤:
S1,收集用户对物品的原始评分;
S2,利用用户对物品的历史评分均值和方差来判断用户的评分习惯,进而计算出用户对物品的偏好集合;
S3,计算物品与物品之间的相似度:引入向量
Figure DEST_PATH_GDA0001259156140000033
来统计对任意两个物品喜欢的组合情况各自出现的次数,及给定
Figure DEST_PATH_GDA0001259156140000034
权向量表示在用户评分中各种组合情况的重要程度,通过向量
Figure DEST_PATH_GDA0001259156140000035
Figure DEST_PATH_GDA0001259156140000036
权向量的函数计算两个物品x,y的相似度;
S4,根据预测的分数对物品排序,将前N个物品线上推荐给目标用户。
其中,用户对物品的偏好集合通过下列公式计算得出,
Figure DEST_PATH_GDA0001259156140000037
其中
Figure DEST_PATH_GDA0001259156140000038
是指用户u对物品i的偏好程度;avgu用户u的平均评分;varu是用户u的评分方差;参数λ为可以根据需要进行设置;p是偏好集合里的最差偏好度,P偏好集合中的最高偏好度。p和P都是可以量化的整数;Z是整数集合;如果
Figure DEST_PATH_GDA0001259156140000039
则让
Figure DEST_PATH_GDA00012591561400000310
如果
Figure DEST_PATH_GDA00012591561400000311
Figure DEST_PATH_GDA00012591561400000312
其中,两个物品x,y的相似度通过下列公式计算得出,
Figure DEST_PATH_GDA00012591561400000313
基于遗传算法和新型相似度计算策略的协同过滤推荐算法,所述的
Figure DEST_PATH_GDA00012591561400000314
权向量的选择包括将权向量
Figure DEST_PATH_GDA00012591561400000315
编码成遗传算法中的个体,随机初始产生一定数量的权向量
Figure DEST_PATH_GDA0001259156140000041
然后评估每个
Figure DEST_PATH_GDA0001259156140000042
在训练数据集上的平均绝对偏差,接着通过遗传算子产生新的子代个体,逐代优化从而发现适合数据集的权向量
Figure DEST_PATH_GDA0001259156140000043
所述的遗传算法依靠适应度函数的大小来区分每个个体的优劣。
确定适应度函数包括以下步骤:
S1,利用式3获得训练物品集中每对物品之间的相似度;
S2,通过相似度值获得物品i最相似的k个物品,N(i);
S3,对于训练集中的每个用户u,通过式5预测用户u在物品i上的评分;
Figure DEST_PATH_GDA0001259156140000044
Figure DEST_PATH_GDA0001259156140000045
分别为物品i和j的平均评分,
Figure DEST_PATH_GDA0001259156140000046
为用户u对物品j的实际评分,k为
i,j两个物品同时被评价的用户个数;
S4,利用式6计算遗传算法中的个体在训练集上的适应值函数:
Figure DEST_PATH_GDA0001259156140000047
遗传算子包括选择、交叉和变异。
通过实验对比和结果分析表明,本专利提出的基于遗传算法和新型相似度计算策略的协同过滤推荐算法在推荐准确度、召回率等指标上都有明显的提高。
附图说明
图1遗传算法中的染色体编码方式;
图2基于遗传算法和新型相似度计算策略的协同过滤推荐算法总体框架图;
图3各种算法在MovieLens(1M)数据集上的随着近邻物品个数(K-Neighbors)变化的MAE值对比;
图4各种算法在Yahoo!Music数据集上的随着近邻物品个数(K-Neighbors)变化的MAE值对比;
图5各种算法在Yahoo!Movie数据集上的随着近邻物品个数(K-Neighbors) 变化的MAE值对比;
图6各种算法在MovieLens(1M)数据集上的随着推荐物品数量变化的准确度对比;
图7各种算法在Yahoo!Music数据集上的随着推荐物品数量变化的准确度对比;
图8各种算法在Yahoo!Movie数据集上的随着推荐物品数量变化的准确度对比;
图9各种算法在MovieLens(1M)数据集上的随着推荐物品数量变化的召回率对比;
图10各种算法在Yahoo!Music数据集上的随着推荐物品数量变化的召回率对比;
图11各种算法在Yahoo!Music数据集上的随着推荐物品数量变化的召回率对比。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。
假设,某个小型购物系统中,只有五个用户(u1,u2,…,u5)和九个项目(i1,i2,…,i9),用户对物品的评分范围是1-5,评分矩阵如表1所示。我们通过下面的步骤来计算物品与物品之间的相似度。
表1用户的原始评分矩阵假设,某个小型购物系统中,只有五个用户(u1,u2,…,u5)和九个项目(i1,i2,…,i9),用户对物品的评分范围是1-5,评分矩阵如表1所示。我们通过下面的步骤来计算物品与物品之间的相似度。
表1用户的原始评分矩阵
i<sub>1</sub> i<sub>2</sub> i<sub>3</sub> i<sub>4</sub> i<sub>5</sub> i<sub>6</sub> i<sub>7</sub> i<sub>8</sub> i<sub>9</sub>
u<sub>1</sub> 2 - - 2 - - - - 5
u<sub>2</sub> 3 5 - 4 - - - 1 5
u<sub>3</sub> 5 - - 3 - 4 1 - -
u<sub>4</sub> 3 - - 3 1 1 - - -
u<sub>5</sub> 2 - - 1 - - 2 1 1
首先,计算每个用户的平均评分习惯,如表2所示。将用户对物品的评分转换成喜欢(like)与不喜欢(unlike),获得用户对物品的一个偏好矩阵,如表3所示。例如,在表1中,用户u3的平均分数是3.25。在表2中,用户u3对i6的评分是4分,这比u3的平均分要高。因此,可以判定u3对i6的偏好是喜欢(表示为1)。反之,表2中,u3对i7的评分只有1分,该分数低于用户u3的平均值,从而u3是不喜欢i7的(表示为0)。
表2用户的平均评分
用户 u<sub>1</sub> u<sub>2</sub> u<sub>3</sub> u<sub>4</sub> u<sub>5</sub>
平均分 3 3.65 3.25 2 1.4
表3用户的偏好矩阵表(0:不喜欢,1:喜欢)
i<sub>1</sub> i<sub>2</sub> i<sub>3</sub> i<sub>4</sub> i<sub>5</sub> i<sub>6</sub> i<sub>7</sub> i<sub>8</sub> i<sub>9</sub>
u<sub>1</sub> 0 - - 0 - - - - 1
u<sub>2</sub> 0 1 - 1 - - - 0 1
u<sub>3</sub> 1 - - 0 - 1 0 - -
u<sub>4</sub> 1 - - 1 0 0 - - -
u<sub>5</sub> 1 - 0 - - 1 0 0
任意两个物品,假定某个用户都对它们进行了评价,那么该用户对这两个物品的偏好情况有四种:都喜欢,都不喜欢,喜欢第一个不喜欢第二个或者不喜欢第一个但喜欢第二个。以表4中的i1和i4为例,用户u1都不喜欢这两个物品(combination0),用户u2不喜欢i1但是喜欢i4(combination1),用户u3喜欢i1但是不喜欢i4(combination2)和用户u4都喜欢这两个物品(combination3),具体如表4所示。
表4用户对两个物品的偏好组合情况(以i1和i4为例)
i<sub>1</sub> i<sub>4</sub>
Combination<sub>0</sub> 0 0
Combination<sub>1</sub> 0 1
Combination<sub>2</sub> 1 0
Combination<sub>3</sub> 1 1
为了获得两个物品的相似度计算公式,需要引入一个新的向量
Figure DEST_PATH_GDA0001259156140000061
来统计对任意两个物品上述四种情况各自出现的次数。以表5中的i1和i4为例,总共有5 名用户同时对它们进行了评价,其中不喜欢它俩的只有用户u1因此向量
Figure DEST_PATH_GDA0001259156140000071
为1。只有u2不喜欢i1但是喜欢i4,所以
Figure DEST_PATH_GDA0001259156140000072
的第二分量也为1。u3和u5对这两个项目都持有喜欢i1但是不喜欢i4,所以
Figure DEST_PATH_GDA0001259156140000073
为2。最后只有用户u4都喜欢这两个物品所以
Figure DEST_PATH_GDA0001259156140000074
也为1,如表5所示。
表5每种偏好组合的用户数量
Figure DEST_PATH_GDA0001259156140000075
针对上述四种情况,如果给定一个权向量
Figure DEST_PATH_GDA0001259156140000076
且wi∈[0,1],这个权向量表示在用户评分中,各种组合情况的重要程度,那么就可以通过这个权向量将上述的四种情况进行相加。我们以这个加权和为这两个物品x,y的相似度值,如式1所示。
Figure DEST_PATH_GDA0001259156140000077
上文中,我们只是简单地将用户对物品的偏好划分成喜欢和不喜欢两种情况,这在评分范围较小或者评分情况小的情况下是比较合理的。但是,如果用户评分范围较大或者取值情况比较多,直接将用户对物品的偏好划分成喜欢和不喜欢这两种情况显然不够。此时,需要更多的情况来细化用户对物品的喜好程度。例如在jester笑话数据集中,用户可以对一个笑话的评分范围是-10到10,如果单纯地将用户对笑话的评分做二值化处理将不能够准确地描述用户的喜好。这时,可以通过同时引入用户自身的方差和平均值来进行划分,假设集合D为用户对物品的偏好集合,则同一个用户对两个物品的偏好情况为|D|2。具体公式为:
Figure DEST_PATH_GDA0001259156140000078
其中
Figure DEST_PATH_GDA0001259156140000079
是指用户u对物品i的偏好程度;avgu用户u的平均评分;varu是用户u的评分方差;参数λ为可以根据需要进行设置;p是偏好集合里的最差偏好度,P偏好集合中的最高偏好度。p和P都是可以量化的整数。Z是整数集合。如果
Figure DEST_PATH_GDA0001259156140000081
则让
Figure DEST_PATH_GDA0001259156140000082
如果
Figure DEST_PATH_GDA0001259156140000083
Figure DEST_PATH_GDA0001259156140000084
最后,物品x和y的相似度方案的扩展计算公式为:
Figure DEST_PATH_GDA0001259156140000085
为了获得一个与数据集合适的相似度计算方案,通过将权向量
Figure DEST_PATH_GDA0001259156140000086
编码成遗传算法中的个体,然后优化训练集的平均误差率。一旦获得合适的权向量,选择该权向量对应的相似度计算方案为推荐算法的相似度计算方案。
遗传算法染色体编码:
采用的编码方式为二进制编码。由于权向量的取值范围在0-1的实数,为了提高解的精度,所提的方法中每个权向量的分量wi用30位的二进制位表示。则一个可行的权向量的染色体编码,如图1所示。
一旦生成上述的染色体,则对应的权向量的分量,如式4所示:
Figure DEST_PATH_GDA0001259156140000087
初始种群化
为了尽可能的发现可行域内的解,在可行域内随机生成解个体组成初始种群。
适应值函数
不同的权重向量对应不同的相似度方案,不同的相似度方案导致算法产生不同的预测准确性。选用训练集的平均绝对误差作为适应值函数,具体做法如下:
1)利用式3获得训练物品集中每对物品之间的相似度;
2)通过相似度值获得物品i最相似的k个物品,N(i);
3)对于训练集中的每个用户u,通过式5预测用户u在物品i上的评分;
Figure DEST_PATH_GDA0001259156140000091
Figure DEST_PATH_GDA0001259156140000092
分别为物品i和j的平均评分,
Figure DEST_PATH_GDA0001259156140000093
为用户u对物品j的实际评分,k为i,j两个物品同时被评价的用户个数。
4)利用式6计算遗传算法中的个体在训练集上的适应值函数:
Figure DEST_PATH_GDA0001259156140000094
遗传操作和结束条件
最主要的遗传算子有三个:选择、交叉和变异。通过这三个操作算子能够获得最终的合适的权向量。
选择:选择轮盘赌方法。选择个体的概率由个体的适应值决定。
交叉:选用单点交叉。随机选择一个交叉位点交换两个父代个体对应的基因。
变异:选用随机变异的方式对染色体二进制位转换。
此外,为了加快种群的找到合适相似度方案的速度,提出的基于遗传算法的协同过滤推荐采用了精英保留策略保留种群中的2个最优秀的个体,使其直接进入下一代种群进行繁殖。采用的结束条件是种群中存在一个个体的适应函数值小于一个常量θ,不同的数据集,θ值不一样。如果一直没有发现个体值小于对应的常量,那么种群在繁殖100代后结束,得到的最优个体为最后对应的权向量。
线下训练和线上推荐
在线下训练了了一个模型后,我们利用这个模型为每个目标用户对他们的未知物品做预测,然后根据预测的分数对这些物品排序,将前N个物品线上推荐给该目标用户(Top-N推荐)。
本发明的实验效果:
一、实验环境
运行环境:4核,Intel Core i5处理器,8G内存,Windows 7操作系统
二、数据集的选择
选择了三个来自现实生活的数据集。
(1)MovieLens(1M):MovieLens数据集由明尼苏达大学从MovieLens网站中收集的关于电影评分的数据,该数据集有很多个版本,成为推荐系统的标准测试集之一。采用的是MovieLens 1M版本,具有6040个用户,物品3952个,共有评分4149704项,评分范围是1到5之间的整数,数据集的稀疏性为0.0419。
(2)Yahoo!Music:该数据集是由Yahoo公司提供的真实数据集,是Yahoo公司为推荐系统的测试而提供的用户通过收听Yahoo音乐网站对音乐的评分。该数据集具有15400个用户,物品1000个,共有评分1000209项,评分范围是1到5之间的整数,数据集的稀疏性为0.0273。
(3)Yahoo!Movie:该数据集是由Yahoo公司提供的真实数据集,是Yahoo公司为推荐系统的测试而提供的用户通过观看Yahoo电影网站对电影的评分。具有7642个用户,物品11915个,共有评分111369项,评分范围是1到5之间的整数,数据集的稀疏性为0.0024。
二、方法选择
本专利提出的算法简称为AdjustedSimilartiy_GA,选择了如下五种推荐算法中最先进和最常用的相似度计算方法作为对比算法:
(1)皮尔逊相关(Pearson Correlation,COR):也叫相关相似度,两物品i,j的相似度计算方法如式(7)所示:
Figure DEST_PATH_GDA0001259156140000111
(2)余弦相似度(Cosine,COS):余弦相似度计算物品i,j的相似度方法如下:
Figure DEST_PATH_GDA0001259156140000112
(3)调整余弦相似度(Adjusted Cosine,ACOS):调整的余弦相似度计算物品i,j的相似度方法如下:
Figure DEST_PATH_GDA0001259156140000113
(4)均方差距离(Mean Square Difference,MSD):均方差距离计算物品i,j的相似度方法如下:
Figure DEST_PATH_GDA0001259156140000114
(5)基于遗传算法的推荐算法(DIFFSCORE_GA):此算法也是引入遗传算法来优化训练过程中的平均绝对偏差,获得多个合适的权向量wi的值,两物品i和j的相似度计算方法如下:
Figure DEST_PATH_GDA0001259156140000121
在以上式子(7)-(11)中,
Figure DEST_PATH_GDA0001259156140000129
是第k个用户对第i个物品的评分,
Figure DEST_PATH_GDA0001259156140000122
是物品i的平均分,
Figure DEST_PATH_GDA0001259156140000123
是用户u的平均分,常数C是两个用户共同评价过物品的集合,rmax和rmin分别代表整个数据集中的最高评分和最低评分,M和m是用户评分的最高值和最低值,b是共同评价这两个物品的用户个数,ai是同一个用户对这两个物品评分的绝对产值为i的用户个数。
三、性能评价指标
实验中采用了以下几种性能评价指标,其中U是用户集,I是物品集,
Figure DEST_PATH_GDA0001259156140000124
是用户u对物品i的预测评分,
Figure DEST_PATH_GDA0001259156140000125
是用户u对物品i的实际评分,Recommendationu是给用户u的推荐物品列表,Interestingu是用户u喜欢的物品列表:
(1)平均绝对偏差(MeanAverage Error,MAE)
Figure DEST_PATH_GDA0001259156140000126
(2)准确度(Precision)
Figure DEST_PATH_GDA0001259156140000127
(3)召回率(Recall)
Figure DEST_PATH_GDA0001259156140000128
四、实验结果对比
分别在MovieLens(1M),Yahoo!Music和Yahoo!Movie三个数据集上,将AdjustedSimilarity_GA与COR,COS,ACOS,MSD,DIFFSCORE_GA对比,主要从MAE,Precision和Recall三个指标作比较。算法独立运行10次,结果取平均值。
图3,图4和图5给出了各种对比算法在MovieLens(1M)、Yahoo!Music和Yahoo!Movie三个数据集上随着近邻数目的变化,平均绝对偏差(MAE)的变化曲线对比。由图可看出,MAE随着邻居个数的增加而越来越低。特别是当邻居个数较小时,本专利所提的相似度算法能够获得比传统相似度算法和DIFFSCORE_GA中的算法获得更小的错误率。随着邻居个数的增加,各个算法的MAE逐渐接近。本专利所提的相似度方案能够在物品近邻个数较小的情况下,使得推荐算法获得较好的预测准确度。
图6,图7和图8给出了各种相似度算法在MovieLens(1M)、Yahoo!Music和Yahoo!Movie三个数据集上随着推荐数目的变化,准确率(Precision)的对比情况。从图中可以看到,准确率随着推荐物品的数目增加而逐渐降低,本专利所提出的相似度计算方案能够使得推荐算法的准确率在各种推荐物品的数目情况下,比对比算法的准确率都高。
图9,图10和图11为各种相似度算法在MovieLens(1M)、Yahoo!Music和Yahoo!Movie三个数据集上随着推荐数目的变化,召回率(Recall)的对比情况。从图中得知,随着推荐物品数目的增加,各种算法的召回率都呈上升趋势。本专利所提出的相似度计算方案在与对比算法的比较中,随着推荐物品数量的增加召回率提升的趋势是最明显的。
从以上的实验结果及分析可以得出,本申请提出的基于遗传算法和新型相似度计算策略的协同过滤推荐算法在平均绝对偏差、推荐的准确率和召回率方面都具有很大优势。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (9)

1.一种基于遗传算法和新型相似度计算策略的协同过滤推荐算法,其特征在于,适用于评分取值范围较小的情况,包括以下步骤:
S1,收集用户对物品的原始评分;
S2,计算每个用户的平均评分习惯,将用户对物品的评分转换成喜欢与不喜欢,获得用户对物品的一个偏好矩阵;
S3,计算物品与物品之间的相似度:引入向量
Figure FDA0002781419040000011
来统计对任意两个物品喜欢的组合情况各自出现的次数,及给定
Figure FDA0002781419040000012
权向量表示在用户评分中各种组合情况的重要程度,通过向量
Figure FDA0002781419040000013
及权向量
Figure FDA0002781419040000014
的函数计算两个物品x,y的相似度,然后计算用户对未评分物品的预测的分数;
S4,根据预测的分数对物品排序,将前N个物品线上推荐给目标用户。
2.根据权利要求1所述的基于遗传算法和新型相似度计算策略的协同过滤推荐算法,其特征在于,所述的两个物品x,y的相似度通过下列公式计算得出,
Figure FDA0002781419040000015
其中
Figure FDA0002781419040000016
且Wi∈[0,1],分子和分母中的
Figure FDA0002781419040000017
均分别代表同一个向量。
3.一种基于遗传算法和新型相似度计算策略的协同过滤推荐算法,其特征在于,适用于用户评分取值范围较大的情况,包括以下步骤:
S1,收集用户对物品的原始评分;
S2,利用用户对物品的历史评分均值和方差来判断用户的评分习惯,进而计算出用户对物品的偏好集合;
S3,计算物品与物品之间的相似度:引入向量
Figure FDA0002781419040000018
来统计对任意两个物品喜欢的组合情况各自出现的次数,及给定
Figure FDA0002781419040000019
权向量表示在用户评分中各种组合情况的重要程度,通过向量
Figure FDA00027814190400000110
及权向量
Figure FDA00027814190400000111
的函数计算两个物品x,y的相似度,然后计算用户对未评分物品的预测的分数;
S4,根据预测的分数对物品排序,将前N个物品线上推荐给目标用户。
4.根据权利要求3所述的基于遗传算法和新型相似度计算策略的协同过滤推荐算法,其特征在于,所述的用户对物品的偏好集合通过下列公式计算得出,
Figure FDA0002781419040000021
其中
Figure FDA0002781419040000022
是指用户u对物品i的偏好程度,
Figure FDA0002781419040000023
为用户u对物品j的实际评分;avgu用户u的平均评分;varu是用户u的评分方差;参数λ为可以根据需要进行设置;p是偏好集合里的最差偏好度,P偏好集合中的最高偏好度;p和P都是可以量化的整数;Z是整数集合;如果
Figure FDA0002781419040000024
则令
Figure FDA0002781419040000025
如果
Figure FDA0002781419040000026
则令
Figure FDA0002781419040000027
5.根据权利要求4所述的基于遗传算法和新型相似度计算策略的协同过滤推荐算法,其特征在于,所述的两个物品x,y的相似度通过下列公式计算得出,
Figure FDA0002781419040000028
,分子和分母中的
Figure FDA0002781419040000029
均分别代表同一个向量。
6.根据权利要求5所述的基于遗传算法和新型相似度计算策略的协同过滤推荐算法,其特征在于,所述的
Figure FDA00027814190400000210
权向量的选择包括将权向量
Figure FDA00027814190400000211
编码成遗传算法中的个体,随机初始产生一定数量的权向量
Figure FDA00027814190400000212
然后评估每个
Figure FDA00027814190400000213
在训练数据集上的平均绝对偏差,接着通过遗传算子产生新的子代个体,逐代优化从而发现适合数据集的权向量
Figure FDA00027814190400000214
7.根据权利要求6所述的基于遗传算法和新型相似度计算策略的协同过滤推荐算法,其特征在于,遗传算法依靠适应度函数的大小来区分每个个体的优劣。
8.根据权利要求7所述的基于遗传算法和新型相似度计算策略的协同过滤推荐算法,其特征在于,确定适应度函数包括以下步骤:
S1,利用式(3)获得训练物品集中每对物品之间的相似度;
S2,通过相似度值获得物品i最相似的k个物品,N(i);
S3,对于训练集中的每个用户u,通过式(5)预测用户u在物品i上的评分;
Figure FDA00027814190400000215
Figure FDA0002781419040000031
分别为物品i和j的平均评分,
Figure FDA0002781419040000032
为用户u对物品j的实际评分,k为i,j两个物品同时被评价的用户个数;
S4,利用式(6)计算遗传算法中的个体在训练集上的适应值函数:
Figure FDA0002781419040000033
其中,|U|是指训练集中参与训练的用户数量,|I|是参与训练的项目数量。
9.根据权利要求6所述的基于遗传算法和新型相似度计算策略的协同过滤推荐算法,其特征在于,遗传算子包括选择、交叉和变异。
CN201610541846.5A 2016-07-08 2016-07-08 基于遗传算法和新型相似度计算策略的协同过滤推荐算法 Active CN106846029B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610541846.5A CN106846029B (zh) 2016-07-08 2016-07-08 基于遗传算法和新型相似度计算策略的协同过滤推荐算法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610541846.5A CN106846029B (zh) 2016-07-08 2016-07-08 基于遗传算法和新型相似度计算策略的协同过滤推荐算法

Publications (2)

Publication Number Publication Date
CN106846029A CN106846029A (zh) 2017-06-13
CN106846029B true CN106846029B (zh) 2020-12-29

Family

ID=59145267

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610541846.5A Active CN106846029B (zh) 2016-07-08 2016-07-08 基于遗传算法和新型相似度计算策略的协同过滤推荐算法

Country Status (1)

Country Link
CN (1) CN106846029B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108596712B (zh) * 2018-03-29 2022-05-03 深圳大学 基于物品序列的单类协同过滤方法、存储介质及服务器
EP3837691A4 (en) * 2018-08-17 2022-05-04 Ancestry.com DNA, LLC PREDICTION OF PHENOTYPES USING RECOMMENDATION SYSTEMS
US20200082909A1 (en) 2018-09-11 2020-03-12 Ancestry.Com Dna, Llc Confidence and range of ethnicity estimates in a global ancestry determination system
AU2019370896A1 (en) 2018-10-31 2021-06-17 Ancestry.Com Dna, Llc Estimation of phenotypes using DNA, pedigree, and historical data
CN111079002B (zh) * 2019-11-27 2023-09-22 北京哈沃在线科技有限公司 一种基于隐式反馈数据的偏好计算方法及数据生成装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103617540A (zh) * 2013-10-17 2014-03-05 浙江大学 一种追踪用户兴趣变化的电子商务推荐方法
CN103824213A (zh) * 2014-03-13 2014-05-28 北京理工大学 一种基于用户偏好与商品属性的个性化推荐方法
CN105843860A (zh) * 2016-03-17 2016-08-10 山东大学 一种基于并行item-based协同过滤算法的微博关注推荐方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103617540A (zh) * 2013-10-17 2014-03-05 浙江大学 一种追踪用户兴趣变化的电子商务推荐方法
CN103824213A (zh) * 2014-03-13 2014-05-28 北京理工大学 一种基于用户偏好与商品属性的个性化推荐方法
CN105843860A (zh) * 2016-03-17 2016-08-10 山东大学 一种基于并行item-based协同过滤算法的微博关注推荐方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于项目类别和兴趣度的协同过滤推荐算法;韦素云等;《南京大学学报(自然科学)》;20130331;第49卷(第2期);第142-149页 *

Also Published As

Publication number Publication date
CN106846029A (zh) 2017-06-13

Similar Documents

Publication Publication Date Title
CN106846029B (zh) 基于遗传算法和新型相似度计算策略的协同过滤推荐算法
CN111797321B (zh) 一种面向不同场景的个性化知识推荐方法及系统
Li et al. Using multidimensional clustering based collaborative filtering approach improving recommendation diversity
CN104063481B (zh) 一种基于用户实时兴趣向量的电影个性化推荐方法
Salehi et al. Hybrid attribute-based recommender system for learning material using genetic algorithm and a multidimensional information model
CN104462383B (zh) 一种基于用户多种行为反馈的电影推荐方法
Wang et al. Multi-objective optimization for location-based and preferences-aware recommendation
Shah et al. Survey on recommendation system
CN107256241B (zh) 基于网格与差异替换改进多目标遗传算法的电影推荐方法
Aiolli A Preliminary Study on a Recommender System for the Million Songs Dataset Challenge.
CN107203590B (zh) 基于改进nsga-ii的个性化电影推荐方法
Kommineni et al. Machine learning based efficient recommendation system for book selection using user based collaborative filtering algorithm
Chai et al. Recommendation system based on singular value decomposition and multi-objective immune optimization
Eliyas et al. Recommendation systems: Content-based filtering vs collaborative filtering
WO2020135642A1 (zh) 一种基于生成对抗网络的模型训练方法及设备
Do et al. Dynamic weighted hybrid recommender systems
CN113342994B (zh) 一种基于无采样协作知识图网络的推荐系统
CN110059257B (zh) 基于评分修正的项目推荐方法
Sani et al. A new strategy in trust-based recommender system using k-means clustering
Regi et al. A survey on recommendation techniques in E-Commerce
Yi et al. A novel recommender algorithm using information entropy and secondary-clustering
Souza Cabral et al. Combining multiple metadata types in movies recommendation using ensemble algorithms
Zhang et al. Balancing diversity and accuracy of the recommendation system based on multi-objective optimization
Chen et al. A collaborative recommendation algorithm based on user cluster classification
CN110825967A (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
GR01 Patent grant
GR01 Patent grant