1、收稿日期:基金项目:国家自然科学基金()和江西省教育厅科技课题(,)资助项目作者简介:邓 泓(),男,江西都昌人,副教授,主要从事农业信息化与图像处理的研究:通信作者:于程远(),男,江西南昌人,讲师,博士,主要从事数据挖掘和信息推荐的研究:邓泓,吴祎,于程远,等 基于可信预测值的协同过滤推荐算法 江西师范大学学报(自然科学版),():,(),():文章编号:()基于可信预测值的协同过滤推荐算法邓 泓,吴 祎,于程远,袁徽鹏(江西农业大学软件学院,江西 南昌;江西农业大学计算机与信息工程学院,江西 南昌)摘要:针对在传统协同过滤算法中存在的推荐精度较低、预测质量不佳的问题,该文提出一种基于可信
2、预测值的协同过滤算法()该算法在使用基于记忆的协同过滤方法计算预测值的基础上,引入可信度概念和技术方法,运用对推荐项目评级的邻居数评估可信度,融合可信度与传统预测值得到可信预测值,再根据可信预测值进行推荐,从而达到提升算法质量的目标 在 数据集中与其他提高精度方法进行实验对比,实验结果表明:方法能够提高预测精度和算法鲁棒性,具有更好的推荐质量关键词:协同过滤;推荐精度;可信度;可信预测值;鲁棒性中图分类号:文献标志码:引言随着信息化的快速发展,爆炸式增长的数据容易造成信息过载和信息迷失等问题,因此在海量数据中挖掘出用户感兴趣的内容逐渐成为热门的研究方向 一方面,用户利用分类目录和搜索引擎的方式
3、主动寻找需要的信息;另一方面,通过分析用户信息并运用一定技术挖掘出用户潜在的感兴趣内容,再将该兴趣内容推荐给用户,即为推荐算法推荐算法自提出以来就受到了广泛关注,研究者将推荐算法分为基于内容推荐、基于协同过滤推荐和混合推荐,其中协同过滤算法根据用户的历史相关信息,挖掘用户的偏好并进行推荐,再细分为基于记忆和基于模型的方法基于模型的方法运用数据挖掘和机器学习方法训练模型,通过训练后的模型计算用户对项目的评分,以此作为预测评分 常见的模型方法有矩阵分解、聚类和神经网络基于记忆的方法利用用户对项目的评分信息计算相似度,再通过相似集合预测未评分项目的潜在评分 根据集合种类分为基于项目和基于用户的协同过
4、滤,本文主要研究基于用户的方法,该方法假设具有共同行为的相似用户之间非共同行为也具有相似性,根据相似度寻找相似用户集合,为目标用户推荐相似用户偏好的项目 基于记忆的协同过滤方法因具有易实现、跨领域性和可解释性等特点,而成为推荐系统的主要研究方法,但同时该方法也存在冷启动、精度低、稀疏性和扩展性等问题,其中精度低是常见的问题之一 在推荐系统中,精度问题是指因评分数据稀疏、用户概貌注入攻击等而导致推荐过程产生误差,从而准确度降低的问题 该问题可以通过挖掘用户或项目潜在关系、融合附加信息的方式来缓解,从而提高推荐精度 提高推荐精度具体表现在对协同过滤过程的优化,包括优化计算相似度、优化寻找最近邻和优
5、化预测评分值等计算相似性是在推荐算法中的关键步骤,用户相似度用于选择邻居集合并作为权重因子应用在预测计算中,因此优化相似度是提高精度的核心方法,也是学者研究的重点 等将杰卡德相似度作为权重,与皮尔逊相似度进行乘积融合得到加权相似度第 卷 第 期 江西师范大学学报(自然科学版)年 月 ()(),实验结果表明运用融合相似度能够显著提高准确度 等引入改进的接近影响流行度相似度()方法,对接近度、影响力、流行度的权重进行归一化 等应用评分值改进杰卡德系数,并结合均方差提出了相关杰卡德均值平方偏差()度量方法 等设计了一种联合局部和全局的相似度算法(),使用离散化的奇异性作为局部相似度,融合共同评分和用
6、户评分习惯作为全局相似度 等采用次一拟范数相似度度量方法(),运用 间的小数作为范数值,充分利用评分值并弱化用户间的差异性,实验结果表明新方法具有更好的性能 等提出倒数最近邻算法(),考虑用户邻居的对称性,提高互为邻居用户的相似度 孙晓寒等利用评分值将用户评分项目集划分为不同的项目子空间,综合子空间的评分支持度得到用户相似度()滕少华等运用混合模型改进相似度,提出了一种混合用户多兴趣推荐算法在计算相似度后,一般运用 ()方法设置最近邻,即选择相似度最高的 个用户作为最邻居集合,但是这种选取邻居的方式具有片面性,在 个邻居中可能存在邻居相似度不高或相似度计算不准确的情况,导致对推荐结果的准确性产
7、生负面影响,为了解决该问题,可以考虑加入阈值或可信度等其他因素优化选取最近邻过程 考虑用户评分的不确定性,设计了一种基于熵的邻居选择方法(),该方法计算用户评级分布的信息熵和皮尔逊相似度,将最近邻选择作为在固定熵差容量下最大化相似度的 背包问题 等设计 层邻居选择方案,首先根据相似度和共同项目数进行第 层邻居选择,再利用融合时间的动态信任选取第 层邻居用户 等提 出 快 速 邻 居 搜 索 方 法(),将用户评分项目分为 个项目子空间,根据共同评级项目和邻居传递在子空间中选择近邻用户,结合子空间并集作为邻居集合 贾东艳等设计双重邻居选取策略,从目标项目评分的用户中选取相似度大于平均相似度的用户
8、为兴趣相似用户,将兴趣用户的预测准确率作为信任度,取信任度最高用户为邻居用户为提高算法精度,除了在计算相似度、选取邻域集中挖掘用户和项目的潜在关系,也能够在评分预测中引入附加信息,进而提高预测值的准确度 等运用多重时间衰减函数捕捉用户的偏好变化,将衰减值与评分值融合计算衰减预测值,并结合加权基线估计得到最终预测值 等组合基于用户和基于项目的预测值,并考虑目标用户和目标项目的评分偏差 孔麟等引入用户间交互信息的信任度,运用自适应模型计算相似度和信任度的加权平均值此外,基于模型的方法具有准确性和拓展性的优势,在训练不同模型中充分利用有效信息也能够提高预测准确度 等提出了一种新型融合概率矩阵分解方法
9、,在矩阵分解中结合多因素相似度和评分矩阵,实验结果表明该融合方法能有效地提高预测精度 等对评分和信任数据进行训练,设计了一种相关去噪自动编码器模型,将用户分为评分者、信任者和受托人,并在隐藏层中结合具有多个角色的用户特征 等将矩阵分解与神经网络相结合,利用双重正则化矩阵分解提取用户和项目潜在因子,并在多层感知机中融合潜在因子,以缓解在矩阵分解中线性点积的限制,提高推荐质量针对在推荐算法中的精度问题,在基于记忆的协同过滤中主要考虑对计算相似度、选择邻居和预测评分过程进行优化,以提高推荐结果的准确度,但在协同过滤方法产生的推荐中,仅根据预测值大小进行排名推荐,未考虑评分值的可信度 因此,本文对推荐
10、产生这一过程进行优化,在产生推荐中引入评分结果的可信度,提出了一种基于可信预测值的协同过滤算法(),根据在邻居集合中对推荐项目评级的邻居数确定可信度,与预测评分值融合构成可信预测值,采用可信预测值进行推荐本文的主要贡献如下:)考虑预测值的可信度,引入可信预测值的概念,提出基于可信预测值的协同过滤算法)将本文提出的算法与其他提高精度算法进行实验比较,实验结果表明 方法提高预测质量和算法鲁棒性)为评估 方法的其他性能,衡量了该方法的其他指标,如多样性和可拓展性 基于可信预测值的协同过滤框架 计算相似度常用的相似度方法有余弦相似度、修正余弦相第 期邓 泓,等:基于可信预测值的协同过滤推荐算法似度和皮
11、尔逊相似度,本文采用余弦相似度计算用户相似度用户对项目不同的评分构成了用户评分向量,评分向量越接近则 个用户越相似,运用评分向量的余弦值表示用户相似度,其计算公式为(,),(,),其中,、,分别表示用户、对项目 的真实评分,、分别为用户、的评分项目集,为用户、的共同评分项目集 寻找最近邻在计算用户相似度后,选取相似值最高的用户集合作为最近邻集合,用 表示 设置最近邻用户数为,即 预测评分在用户的最近邻集合中,根据最近邻用户的评级项目与相似值的加权计算用户对未评分项目的预测评分值,并对相似度进行归一化,预测值计算公式为,(,),(,),()其中 为用户 的最近邻用户集合,为对项目 评分的用户集,
12、表示在最近邻集合中对项目 进行评分过的用户,为用户对项目的预测评分 令,它表示为对项目 进行评级的用户最近邻个数 产生推荐传统的协同过滤方法在计算预测评分之后,根据预测评分值最高的项目产生推荐,但未考虑预测值的可信度 对于仅有 个最近邻用户评分过的项目,即 的情况,设该项目为,评分过项目的邻居用户为,则目标用户对项目 的评分值为,(,),(,)(,),(,)此时对项目的预测评分值为邻居用户对项目 的评分值,若该值为 或,则按传统方法根据预测评分值最大的项目进行推荐,项目 极大概率地会推荐给目标用户 在这种情况下,仅根据单个邻居用户的较大评分就能够产生推荐,推荐结果的可信度较低,受邻居用户影响较
13、大,导致推荐准确度降低因此,本文提出基于可信度的协同过滤方法,不直接使用传统方法的预测值进行推荐,而是在预测评分和产生推荐过程中考虑预测值的可信度,根据融合可信度的预测值产生推荐列表 其中 与 相关,对目标项目评价的最近邻居数越多,即 越大,对该项目计算预测值的可信度越高,越小,其可信度越低 因而设置 的值是与 呈正相关的函数,利用 函数计算可信度,计算公式为 ()(),()其中 为参数,可信度 取值为(,)将考虑可信度的预测值称为可信预测值,其计算公式为,(,),(,),其中,为式()计算的预测值,为可信度 本文利用可信预测值,进行推荐,向用户推荐可信预测值最大的项目,推荐项目用表示,设置项
14、目数为,即 另外,相比较传统的协同过滤方法,本文修改了推荐列表的排序,根据可信预测值产生推荐列表,而非预测值,但并未改变预测值大小,对于计算预测值的平均绝对误差,仍使用式()计算预测评分值实验设计与分析 数据集实验数据集采用 电影评分数据集,包括 个用户对 个项目的 个评分值,数据集的稀疏度为 ,每次实验随机划分训练集和测试集,其中训练集占,测试集占 评价指标评价指标运用在预测准确度中的平均绝对误差(),衡量在测试集中真实值与预测值之间的偏差,其计算公式为,其中为测试集的评分值,为测试集数量,表示实际评分值,表示预测评分值评价分类准确度指标采用精度(),精度是推荐结果列表中推荐正确项目的比值,
15、其计算公式为,其中 表示在测试集中的用户集合,为推荐的项目列表,表示为测试集用户的评分项目集江西师范大学学报(自然科学版)年考虑推荐结果的多样性,本文也将覆盖率作为评价指标 覆盖率()可定义为推荐项目数量在总项目数中的占比,其计算公式为,其中为项目总数,是去除重复项后的推荐项目总数 预测准确度比较和算法鲁棒性分析为验证本文基于可信预测值推荐算法的有效性,采用、和 作为对比方法,其中 运用余弦相似度方法计算相似度 在该节中讨论衡量算法的预测准确度,设置邻居用户数 从 增至,步长为,在式()中参数 设置为,根据可信预测值最高的前 个项目产生推荐,比较不同邻居用户下的 值,结果如图 所示图 不同方法
16、的 值比较由图 可知:算法的预测准确度有显著提高,如当 时,算法的平均绝对误差为 ,次最优的 方法为 对比其他方法,本文方法的 值更小随着邻居的增加,对比方法的 值呈先降后升的趋势,这是因为过多邻居选取存在相似度不高或计算不准确的问题 不同于其他方法,的值先降低后趋于稳定,这是因为该方法将对待推荐项目评分的邻居数作为可信度,使得更倾向于对多个邻居用户评级的项目进行推荐 这能够降低不准确邻居带来的影响,使推荐结果具有更强的鲁棒性,从而获得更好的预测质量从图 可以看出:当 时,方法的 值略低于 和 方法;当 时,方法的 值最小 在 数据集中,比较图 中的其他方法,除 方法外,准确度较高的方法有、和 当 时,种方法中 的 值低于 和 的 值,预测精度更高;当 时,平均绝对误差最小,其次是 的平均绝对误差 对于增加相似值的 和 方法,性能优于 和 在 时的平均绝对误差较低,随着邻居数的增加,大幅增加,这表明 种方法受邻居影响更大,导致准确度降低 此外,和 的预测准确度大体相近 分类准确度比较为验证 算法的分类准确度,采用精度作为衡量指标 精度与推荐项目数 和用户邻居数 相关,因此,设置 ,从