正在加载图片...
·748· 智能系统学报 第14卷 具体过程如下: 式中:N表示预测评分记录数量,”表示该条记录 1)读入用户行为数据,构建RDD: 的预测评分,'表示该条记录的实际评分。 2)将RDD,转换成(ua,(S,ra》形式的RDD2, 准确率precision反映了推荐的准确度,准确 (1≤a≤n,1≤i≤m)按照用户ID进行聚集得到 率越高,表明推荐的准确度越高。准确率的计算 RDD,(ua,Iterable[(s,ra),使用flatMap算子计算每 公式为 个用户的中间变量Q,并按照项目D进行聚集得 ∑R(w)nT(ul 到RDD; precision= (12) R(u) 3)根据RDD,计算用户w。和用户4的 式中:R(训表示推荐给用户的所有项目个数; Qa×Qa,得到形如(a,4,(Q,1,toNum)的RDDs, R(w)nT(w训表示推荐给用户的项目中推荐正确的 其中的1和toNum是为了便于计算交占比系数而 项目个数。 设置的: 以加速比作为可扩展性的实验指标,加速 4)将3)的RDD,使用ReduceByKey算子统计 比为 其共同评分项,计算结合交占比系数的相似度, (13) 得到形如(a,),simb)的RDD6; 5)利用4)的相似度RDD6,构造用户相似度 式中:T,表示使用1个节点时任务执行时间;T。 矩阵userMatrixRDD,使用Spark中的线性代数库 表示使用p个节点时任务执行时间;S。表示加速 Breeze,调用其库函数inv()计算userMat- 比,反映了并行后运行效率的提升情况。S。=p rixRDD的逆矩阵invMatrixRDD,进一步通过式 时为线性加速比,加速比越接近线性加速比时, (7)和(8)求得得间接相似度,重建相似度矩阵得 算法的可扩展性越好。 到RDD: 5.1 相似度交占比系数的有效性验证实验 6)根据RDD,按用户划分得到RDDg,并进一 在原始的皮尔逊相关相似度的基础上,为了 步得到目标用户的近邻用户集合RDD,最后进行 比较加入交占比(YPCC)和未加入交占比 推荐。 (PCC)对预测评分误差的影响进行本次实验。此 次实验使用Movielens-100k数据集,共943用户, 5实验与评价 1682个项目,共10万条评分记录,稀疏度为94.12%, 实验使用Movielens数据集和IPTV数据集o 训练集和测试集按8:2分割。实验结果如图4。 进行实验。Movielens是一个基于Web的研究型 图4中,Top-K表示近邻用户选取的个数, 推荐系统,用于接收用户对电影的评分并提供电 MAE表示评分预测的平均绝对误差,PCC表示未 影的推荐列表,Movielens数据集在协同过滤研究 加入交占比系数计算用户相似度进行评分预测的 领域得到了广泛研究,也是使用最多的数据集之 误差曲线,YPCC表示加人交占比系数计算用户 一。PTV数据集来源于天津市PTV电视用户的 相似度进行推荐的误差曲线。 0.90 收视日志数据,经过对日志数据进行预处理和隐 式评分处理,形成IPTV数据集。相比于Movielens 0.88 c 数据集,IPTV数据集应用性更高。Movielens- 0.86 100k数据集包含943用户,1682项目,共10万条 0.84 评分记录;Movielens-.lM数据集包含6040个用户 0.82 和3952个项目,共计100万条评分记录。IPTV 0.80 数据集选取193用户,8200项目,共计43175条 0.78 评分记录。 20 406080100 使用平均绝对误差MAE和准确率precision Top-K 作为衡量推荐准确度的指标。MAE反映了评分 图4交占比系数有效性验证实验 预测误差的大小,误差越小表明推荐准确度越 Fig.4 Trial ratio validity validation experiment 高,计算公式(11)如下: 从图4中可以看出,协同过滤推荐算法的预 测评分误差受到近邻用户个数Top-K的影响。随 - 着近邻用户个数Top-K的增加,PCC和YPCC曲 MAE= (11) 线均呈现下降趋势并最终趋于稳定,但是YP具体过程如下: 1) 读入用户行为数据,构建 RDD1; (ua,(si ,rai)) (1 ⩽ a ⩽ n,1 ⩽ i ⩽ m) (ua,Iterable[(si ,rai)]) Q 2) 将 RDD1 转换成 形式的 RDD2, 按照用 户 I D 进行聚集得 到 RDD3 ,使用 flatMap 算子计算每 个用户的中间变量 ,并按照项目 ID 进行聚集得 到 RDD4; ua ub Qai × Qbi ((ua,ub),(Qab,1,toNum)) 3) 根 据 RDD 4 计算用户 和用户 的 ,得到形如 的 RDD5 , 其中的 1 和 toNum 是为了便于计算交占比系数而 设置的; ((ua,ub),simab) 4) 将 3) 的 RDD5 使用 ReduceByKey 算子统计 其共同评分项,计算结合交占比系数的相似度, 得到形如 的 RDD6; 5) 利用 4) 的相似度 RDD6,构造用户相似度 矩阵 userMatrixRDD,使用 Spark 中的线性代数库 Breeze ,调用其库函 数 inv() 计 算 userMat￾rixRDD 的逆矩阵 invMatrixRDD,进一步通过式 (7) 和 (8) 求得得间接相似度,重建相似度矩阵得 到 RDD7; 6) 根据 RDD7 按用户划分得到 RDD8,并进一 步得到目标用户的近邻用户集合 RDD9,最后进行 推荐。 5 实验与评价 实验使用 Movielens 数据集和 IPTV 数据集[20] 进行实验。Movielens 是一个基于 Web 的研究型 推荐系统,用于接收用户对电影的评分并提供电 影的推荐列表,Movielens 数据集在协同过滤研究 领域得到了广泛研究,也是使用最多的数据集之 一。IPTV 数据集来源于天津市 IPTV 电视用户的 收视日志数据,经过对日志数据进行预处理和隐 式评分处理,形成 IPTV 数据集。相比于 Movielens 数据集,IPTV 数据集应用性更高。Movielens- 100k 数据集包含 943 用户,1 682 项目,共 10 万条 评分记录;Movielens-1M 数据集包含 6 040 个用户 和 3 952 个项目, 共计 100 万条评分记录。IPTV 数据集选取 193 用户,8 200 项目,共计 43 175 条 评分记录。 MAE precision MAE 使用平均绝对误差 和准确率 作为衡量推荐准确度的指标。 反映了评分 预测误差的大小,误差越小表明推荐准确度越 高,计算公式 (11) 如下: MAE = ∑N i=1 ri −r ′ i N (11) N ri ri ′ 式中: 表示预测评分记录数量, 表示该条记录 的预测评分, 表示该条记录的实际评分。 准确率 precision 反映了推荐的准确度,准确 率越高,表明推荐的准确度越高。准确率的计算 公式为 precision = ∑ u∈U |R(u)∩T (u)| |R(u)| (12) |R(u)| |R(u)∩T(u)| 式中: 表示推荐给用户的所有项目个数; 表示推荐给用户的项目中推荐正确的 项目个数。 以加速比作为可扩展性的实验指标,加速 比为 Sp = T1 Tp (13) T1 Tp p S p S p = p 式中: 表示使用 1 个节点时任务执行时间; 表示使用 个节点时任务执行时间; 表示加速 比,反映了并行后运行效率的提升情况。 时为线性加速比,加速比越接近线性加速比时, 算法的可扩展性越好。 5.1 相似度交占比系数的有效性验证实验 在原始的皮尔逊相关相似度的基础上,为了 比较加入交占 比 (YPCC ) 和未加入交占 比 (PCC) 对预测评分误差的影响进行本次实验。此 次实验使用 Movielens-100k 数据集,共 943 用户, 1 682 个项目,共 10 万条评分记录,稀疏度为 94.12%, 训练集和测试集按 8:2 分割。实验结果如图 4。 MAE 图 4 中 ,Top-K 表示近邻用户选取的个数, 表示评分预测的平均绝对误差,PCC 表示未 加入交占比系数计算用户相似度进行评分预测的 误差曲线,YPCC 表示加入交占比系数计算用户 相似度进行推荐的误差曲线。 0.88 0.90 0.86 0.84 0.82 0.80 0.78 MAE 20 40 60 80 100 Top−K PCC YPCC 图 4 交占比系数有效性验证实验 Fig. 4 Trial ratio validity validation experiment 从图 4 中可以看出,协同过滤推荐算法的预 测评分误差受到近邻用户个数 Top-K 的影响。随 着近邻用户个数 Top-K 的增加,PCC 和 YPCC 曲 线均呈现下降趋势并最终趋于稳定,但是 YP- ·748· 智 能 系 统 学 报 第 14 卷
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有