数据集是movielens-1M(下载)版本。
1. 训练集大小对于推荐性能的影响
使用SlopeOne算法,每次随机选取6%的用户预测其喜好,进行5次实验,取MAE的均值,得到下表:
训练集大小(%)
|
MAE
|
90
|
0.71718149
|
70
|
0.73005925
|
50
|
0.77483222
|
30
|
0.83092947
|
10
|
0.98020104
|
绘制成折线图,如下图所示:
由此可知,训练集越大,则推荐的准确率越高。
2. 不同相似度度量对性能的影响
使用ItemCF算法,训练集大小为数据集的90%,每次随机选取30%的用户预测其喜好,进行5次实验,取MAE的均值,得到下表:
相似度度量方法
|
MAE
|
皮尔逊相关系数
|
0.86158483
|
曼哈顿距离
|
0.82744657
|
欧几里德距离
|
0.80844643
|
对数似然值相似度
|
0.80750607
|
Jaccard相似度
|
0.78540776
|
余弦相似度
|
0.81422523
|
绘制成直方图,如下图:
由此可知,Jaccard相似度的性能略好于其他几种相似度,但是优势很小。使用不同相似度度量方法差别不大。
3. 不同推荐算法的性能
使用皮尔逊相关系数作为相似度,训练集大小为数据集的90%,每次随机选取6%的用户预测其喜好,进行5次实验,取MAE的均值。其中KNN算法取近邻大小为5;EM算法的学习速度为0.005,过度拟合值为0.02,随机噪声值为0.005,EM的迭代次数为20。得到下表:
推荐算法
|
MAE
|
ItemCF
|
0.86158483
|
UserCF
|
1.03740876
|
Slope One
|
0.71718149
|
KNN(k = 5)
|
0.83184328
|
SVD
(Compute SVD
using EM Algorithm:
learning rate =
0.005,
overfitting
prevention = 0.02,
random noise =
0.005,
epoch = 20)
|
0.70493273
|
绘制成直方图,如下图:
由此可知,SVD和Slope One算法的推荐结果最为精确,UserCF最差。这个数据和推荐系统相关著作中的结论是吻合的。
此外,在内存方面,Slope One最占内存,1G内存下最多只能处理6%左右的用户。而其他算法均能轻松地处理30%以上的用户量。
在速度方面,SVD速度最快,处理每个用户的平均时间约为4ms,Slope One的平均时间约为30ms,ItemCF和UserCF的平均处理时间都在10ms左右。KNN的速度是最慢的,平均处理时间约为100ms。
- 大小: 6.9 KB
- 大小: 9.2 KB
- 大小: 7.2 KB
分享到:
相关推荐
常见推荐系统算法总结报告与性能比较.docx
基于协同过滤算法的商品推荐系统是一种常见的推荐系统,它利用用户行为数据来预测用户可能喜欢的商品。协同过滤算法主要基于两个原则:用户-用户协同过滤和物品-物品协同过滤。 在Spring Boot中构建基于协同过滤...
对比MIMO系统中LS和LMMSE两种信道估计算法的性能,以及对应的信道容量,不同天线对MIMO系统的性能影响分析。
mimo系统中常见的三种算法中的性能比较
本文首先介绍了GPS系统组成,在此基础上介绍了其定位的基本原理,然后通过对载体的运动进行动态建模将卡尔曼最优估计理论引入导航定位系统中,解决了滤波器的发散,非线性系统的线性化等一些常见问题,提高了系统 ...
不同的学习算法在不同的行业及应用中能够表现出不同的性能和优势。目前,机器学习已成功地应用于下列领域: 互联网领域----语音识别、搜索引擎、语言翻译、垃圾邮件过滤、自然语言处理等 生物领域----基因序列分析...
参数估计的指标,然后简述了各种载波同步算法的底层原理,进一步研究了具体的开环前馈载波同步算法,本文研究包括Kay算法、Fitz算法、L&W算法、L&R算法、M&M算法,并通过仿真比较各算法的估计性能。
就是“比例(proportional)、积分(integral)、微分(derivative)”,是一种常见的“保持稳定”控制算法。。 调参说明: PID算法的参数调试是指通过调整控制参数(比例增益、积分增益/时间、微分增益/时间)让...
1.(必做题) 常见排序算法的实现与性能比较 问题描述:实现合并排序,插入排序,希尔排序,快速排序,冒泡排序,桶排序算法 实验要求: A. 在随机产生的空间大小分别为 N = 10, 1000,10000,100000 的排序...
在片上网络(Network on Chip,NoC)系统中,如何完成应用特征图到结构特征图的映射是影响系统实际性能...实验结果表明,该算法与常见NoC映射算法(如基于遗传的映射算法)相比,平均性能提升了5.3%,耗时缩短了11.1%。
推荐,资料太大存放在网盘中,需要可下载观看。含教材。 第一部分 考试简介 1.1 考试大纲要求 1.2 考试科目介绍 第二部分 信息系统基础 2.1 信息系统工程总体规划 2.2 政府信息化与电子政务 2.3 企业信息化与电子...
不同的学习算法在不同的行业及应用中能够表现出不同的性能和优势。目前,机器学习已成功地应用于下列领域: 互联网领域----语音识别、搜索引擎、语言翻译、垃圾邮件过滤、自然语言处理等 生物领域----基因序列分析...
本文对实现的基于加密域的水印算法进行了性能测试实验,对于一些常见的水印攻击方式进行了实验,主要测试了水印算法对于高斯噪声、椒盐噪声、乘性噪声、图像旋转攻击、图像缩放攻击、图像剪切攻击的鲁棒性。...
本实验的目的是编程模拟实现几种常见的进程调度算法,通过对几组进程分别使用不同的调度算法,计算进程的平均周转时间和平均带权周转时间,比较各种算法的性能优劣。1.系统环境: JDK1.5 系统语言: Java
分析了常见的任务调度方法的特点,...通过任务的弹性系数和系统的权重因子的实时调整,使该算法具有一定的自适应功能。在μC/OS-Ⅱ上实现和测试了该算法,实验结果表明在所有负载条件下,VDDSA都具有较好的调度性能。
就是“比例(proportional)、积分(integral)、微分(derivative)”,是一种常见的“保持稳定”控制算法。。 调参说明: PID算法的参数调试是指通过调整控制参数(比例增益、积分增益/时间、微分增益/时间)让...
基于混沌系统敏感文本信息加密算法研究是一个专注于信息安全和密码学的Python项目,使用Django框架来构建后端服务。该项目主要利用混沌理论中的敏感性和不可预测性,开发新的文本信息加密方法,以增强数据的安全性。...
通信干扰对齐中,zf算法,mmse算法,ml算法MIMO通信系统的检测器是MIMO技术实用过程中关键的一个模块,选择一种检测性能好而且便于硬件实现的检测...本文主要介绍几种常见的检测算法,并通过仿真给出各自性能的比较。
工业自动化系统不仅要对...虽然高性能计算在科学研究中常见,但它很少在工业生产中应用,即使它能带来显着的计算性能的提高。由于这个原因,文章建立了分布和自我平衡机制的高性能通信模型,并将其具体应用到工业实践中。