-
C++ ItemCF
UserCF和ItemCF是协同过滤中最为古老的两种算法,在top-N的推荐上被广泛应用。这两个算法之所以重要,是因为他们使用了两个不同的推荐系统基本假设。UserCF认为一个人会喜欢和他有相同爱好的人喜欢的东西,而ItemCF认为一个人会喜欢和他以前喜欢的东西相似的东西。这两个假设都有其合理性。根据我的测试,用UserCF和ItemCF做出的推荐列表中,只有50%是一样的,还有50%完全不同。但是这两个算法确有相似的精度。所以说,这两个算法是很互补的。我一直认为这两个算法是推荐系统的根本,因为无论我们是用矩阵,还是用概率模型,我们都非常的依赖于前面说的两种假设。如果用户的行为不符合那两种假设,推荐系统就没必要存在了。因此我一直希望能够找出这两种算法的本质区别。他们有相似的精度,但是coverage相差很大,ItemCF coverage很大而UserCF很小。我还测试了很多其他指标,不过要从这些表象的指标差异找出这两个算法的本质区别还是非常困难。不过上周我基本发现了这两个算法推荐机理的本质区别。我们做如下假设。每个用户兴趣爱好都是广泛的,他们可能喜欢好几个领域的东西。不过每个用户肯定也有一个主要的领域,对这个领域会比其他领域更加关心。给定一个用户,假设他喜欢3个领域A,B,C,同时A是他喜欢的主要领域。这个时候我们来看UserCF和ItemCF倾向于做出什么推荐。结果如下,如果用UserCF, 它会将A,B,C三个领域中比较热门的东西推荐给用户。而如果用ItemCF,它会基本上只推荐A领域的东西给用户。因为UserCF只推荐热门的,所以UserCF在推荐长尾上能力不足。而ItemCF只推荐A领域给用户,这样他有限的推荐列表中就可能包含了一定数量的不热门item,所以ItemCF推荐长尾的能力比较强。不过ItemCF的推荐对某一个用户而言,显然多样性不足。但是对整个系统而言,因为不同的用户的主要兴趣点不同,所以系统的coverage会很大。显然上面的两种推荐都有其合理性,但都不是最好的选择,因此他们的精度也会有损失。最好的选择是,如果我们给这个用户推荐30个item,我们既不是每个领域挑选10个最热门的给他,也不是推荐30个A领域的给他,而是比如推荐15个A领域的给他,剩下的15个从B,C中选择。认识到这一
- 2022-03-26 08:57:57下载
- 积分:1
-
该程序是用来画微分系统时间序列图相图等相关的图形的,可以很好的对一个微分系统进行分析...
该程序是用来画微分系统时间序列图相图等相关的图形的,可以很好的对一个微分系统进行分析-The program is used to draw the time-differential phase diagram sequence diagram of the graphics, etc., can be a very good system for a differential analysis
- 2022-03-06 14:26:13下载
- 积分:1
-
APML为用户提供访问Web页面和下载他们的能力…
ApMl provides users with the ability to crawl the web and download pages to their computer in a directory structure suitable for a Machine Learning system to both train itself and classify new documents. Classification Algorithms include Naive Bayes, KNN -ApMl provides users with the ability to crawl the web and download pages to their computer in a directory structure suitable for a Machine Learning system to both train itself and classify new documents. Classification Algorithms include Naive Bayes, KNN
- 2022-03-31 04:48:40下载
- 积分:1
-
胡小玉的PEG算法
PEG构造创建了周长非常大的矩阵。这种构造已被证明可以产生最著名的Gallager码,对于较小的块长度(如500、1000或2000)尤其重要。
- 2022-05-01 01:11:58下载
- 积分:1
-
本程序主要实现了离散时间的傅立叶变换,具有很强的可移值性,原理简单。...
本程序主要实现了离散时间的傅立叶变换,具有很强的可移值性,原理简单。-This procedure has been the main achievement of the discrete-time Fourier transform, has a strong value can be changed, and simple.
- 2022-05-05 00:15:02下载
- 积分:1
-
c语言DES算法
c语言DES算法,本算法已经通过了VS2010的验证,并且可以和Matlab2012进行联合编程,可以提供64位加密,56位密钥。
- 2022-06-01 17:57:35下载
- 积分:1
-
经典c程序100例
经典c程序100例-100 cases of classic c procedures
- 2022-03-23 03:53:28下载
- 积分:1
-
对公司的主要宗旨的实现计算组件和功能…
运算器部件的实现和功能 主要为学习计算机组成原理的同学 提供-computing components and functions of the realization of the main tenets of computer components provide students
- 2022-07-08 04:45:12下载
- 积分:1
-
0-1背包问题算法代码
0-1背包问题算法代码
- 2022-06-28 17:49:18下载
- 积分:1
-
推荐系统-协同过滤算法
应用背景
本程序是基于java实现的基于用户的协同过滤算法,算法很简单,由于网上关于代码实现的资料很少,
所以资料主要目的是提供一个供大家参考的资料,仅供参考.
关键技术u1.base和u1.test为训练集和测试集,分别来自MovieLens数据集,
本程序只是很简单的基于用户的协同过滤算法
运行算法所需要的配置信息,包括读取训练集和测试集还有最近邻个数的选择都在Base.java文件中可以找到
本程序的主程序是Application.java
仅供参考,希望对大家有帮助
- 2023-07-19 11:45:03下载
- 积分:1