改进型动态度量推荐算法
2021-07-16张洪军杨霞
张洪军 杨霞
(1、南京国电南自电网自动化有限公司,江苏南京 210000 2、易思奇汽车电子(上海)有限公司,江苏南京 210000)
1 概述
电子商务、搜索引擎中应用范围最广的推荐算法是由Goldberg 等人提出的协同过滤推荐算法(collaborative filtering recommendation algorithm)。传统的协同过滤算法基于两种假设:(1)用户的喜好是固定不变的;(2)对商品评分相同的用户之间具有相同的喜好。
协同过滤算法基于这两个假设来构建用户的可信网络并使用该可信网络来计算推荐条目。随着社会的发展、新事物的出现、用户习惯的变化、历史数据时间跨度的变大,用户的兴趣爱好发生了很大的变化。这就导致协同过滤算法中的两种假设误差变大,相同用户集误差的变大会导致可信网络的准确度变低。为了解决协同过滤算法中存在的这些问题,本文在协同过滤算法的基础上引入了动态度量的概念,提出了一种动态度量可信度的推荐算法(dynamic reliability measure recommendation algorithms, DRMRA)。DRMAR 算法通过相似度与信任的耦合值来替代相似度值,通过耦合的相似度值来构建可信网络并计算初始评分值,然后利用DRMAR 算法来重构所有低于预定值的可信网络。DRMAR 算法在Epinions、Flixster 数据集上进行了对比测试,测试结果显示与主流的推荐算法比较DRMAR 算法在用户覆盖率、推荐条目准确率上面有所提高。
2 推荐系统常用算法介绍
协同过滤算法:
Goldberg 等人提出的协同过滤算法是推荐系统中使用率最高的算法,协同过滤算法两种假设:(1)用户的喜好(转下页)是固定不变的;(2)对商品评分相同的用户之间具有相同的喜好。协同过滤算法计算方法如下:(1)预定义相似值,并使用该值来计算用户之间的距离权值;(2)利用距离权值来生成可信网络;(3)根据可信网络来生成推荐推荐条目。协同过滤算法检索历史数据中用户对不同条目的评分并根据历史评分来查找邻居,通过检索邻居的购买条目来生成当前用户的推荐条目。协同过滤算法可以分为两类:基于项目的方法(Project-Base)、基于模型的方法(Mode-base)。Project-Base 算法会首先遍历该用户的历史评分,通过历史评分记录来计算用户、条目之间的相似值,并根据该相似度值来直接访问包含所有用户评分、建议的用户- 商品评分矩阵并为当前活跃用户生成预测评分。Mode-Base 算法使用AI 算法来生成统计模型,并使用生成的统计模型来为不可见商品进行评分。
3 改进型可信度动态度量推荐算法
为了解决传统的协同算法中由于用户矩阵准确率低、依赖于用户历史评分造成的推荐结果准确率低及恶意评分导致的一系列安全风险。本文引入了可靠性动态度量的概念提出了一种新的算法:可信度动态度量的推荐算法(dynamic reliability measure recommendation algorithms, DRMRA)。DRMRA 算法将可靠性度量值、信任声明进行耦合成新的动态度量值来跟提高推荐系统准确性。算法的改进主要体现在以下方面:(1)将相似性矩阵与用户信任声明矩阵耦合来生成全新的动态可信网络;(2)提出积极/消积因子动态度量可信值;(3)使用基于信任的动态可靠性度量值来重建用户的信任网络。DRMRA 工作流程由六部组成:(1)耦合信任网络构造;(2)初始评分预测;(3)基于信任的动态可信度计算;(4)耦合可信网络重构;(5)用户最终评分预测;(6)Top-N 商品选择。
3.1 耦合信任网络构建
DRMRA 算法在传统的协同过滤算法信任网络构建的基础上进行了改进,改进如下:
(1)将用户信任值、皮尔逊系数测量值合并生成耦合相似度值;(2)使用耦合相似度值来计算用户邻居的加权有向图。每个用户是加权有向图的一个节点,用户之间的相似度值是用户节点之间的权重值。用户对之间的信任声明Ta,u、信任传播距离dmax计算如下:
用户之间的权重调整方法如下:
3.2 初始评分预测
用户未选购商品的默认评分是通过初始可信网络来计算的,用户u 对于商品i 的预测评分计算方法如下:
其中ra表示用户a 的平均评分,Ka,i表示商品i 跟用户a 具有相同评分的用户集,wa,u表示用户a 跟用户u 之间的相似度权重即可信网络中两个节点之间的边长。
3.3 基于信任的动态可信度计算
传统的协同过滤算法中是在用户评分矩阵中使用一个正因子一个负因子来计算可信度,因此这种方法不适用于基于信任的协同过滤算法。本文在传统的协同过滤算法的基础上做了如下改进:(1)在传统协同过滤算法基础上引入了信任声明;(2)将信任值引入正负因子中,提出了一种全新的基于信任的动态可信度计算方法,将基于信任的动态可信度度量值做为可信网络重构的反馈依据,基于信任的动态可信度度量值计算方法如下:
其中fs(Sa,i)表示正因子fv(Sa,i)表示负因子,正负因子计算方法如下:
3.4 耦合可信网络重构
可信度计算完成后利用可信度度量值来评估预测评分的质量,当前用户a 对于商品i 的可信值Ra,i小于预定义的阀值θ 那么就需要重构可信网络。我们在可信网络重构过程中引入正因子wa,u和负因子V(u)来重构可信网络,将可信网络中的无用用户删除来提高可信网络的质量。负因子V(u)计算方法如下:
3.5 Top-N 商品选择
当可信网络重构完成后,我们用可信网络来预测Top-N 条商品推荐给用户。
4 实验结果与分析
4.1 实验环境设定
为了评估DRMRA 算法的效果我们选取了Epinions、Flixster两个数据集进行验证,初始用户-商品评分矩阵、用户信任矩阵初始值如表1 所示,商评分值的范围为[1,10]步进值1。
我们将数据集中的用户分为三类:新注册用户、活跃用户、恶意用户。我们将商品分为如下两类:冷门商品、有争议商品。为了比对DRMRA 算法在推荐准确率、用户覆盖率方面的改进,我们选择了CF、TARS、TCF、RTW、BIBR 五种算法来做对比测试,使用留一法(LOO)在平均绝对值误差(MAE)、平均用户误差(MAUE)、评分覆盖率(RC)、用户覆盖率(UC)四个方面进行对比。实验过程中试验参数设定如下,可信网络重建阀值θ=0.7,可信网络重建过程中阀值α=0.6,β=0.7,用户邻居选在范围K=500。
表1 用户信任、用户商品评分矩阵
图1 数据集Epinions、Flixster 测试结果
4.2 实验结果及分析
Epinions、Flixster 数据集所有数据测试结果(图1)所示,DRMRA 算法具有最低的MAE 仅次于RTW 算法的用户覆盖率。DRMRA 算法在RC、UC 指标跟TCF 算法很接近但是准确率最高。