登录
首页 » 算法 » C++ ItemCF

C++ ItemCF

于 2022-03-26 发布 文件大小:11.80 MB
0 190
下载积分: 2 下载次数: 1

代码说明:

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中选择。认识到这一

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • 有限元分析源代码
    有限元分析源代码,能分析梁单元、膜单元、壳体单元等常用的有限元单元,并能计算模态、振型等
    2023-02-09 02:20:04下载
    积分:1
  • 任意精度计的实现
    任意精度计算的实现-arbitrary accuracy, the realization
    2022-08-24 02:11:43下载
    积分:1
  • 数据结构的全部C语言代码实现
    应用背景帮助找工作,面试笔试,学习数据结构,学习C语言,数据结构里面所有算法的关于C语言的完整代码实现,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,关键技术数据结构,C语言,代码实现,,。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
    2022-08-15 12:26:54下载
    积分:1
  • Delta机器人运动学C代码
    Delta机器人运动学C代码
    2022-04-13 03:04:23下载
    积分:1
  • 这是一个用VB编的九九乘表。很好用!
    这是一个用VB编的九九乘法表。很好用!-This is a VB series Jiujiuchengfabiao. With good!
    2022-01-25 15:21:05下载
    积分:1
  • This is one of the Queen's algorithm of algorithms.
    这是一个关于算法中的皇后问题的算法。-This is one of the Queen"s algorithm of algorithms.
    2022-02-03 22:29:10下载
    积分:1
  • 朴树贝叶斯
    用Java语言写的朴树贝叶斯算法包含界面,经过测试,里面有包含有几种数据集可以进行测试,在本地电脑上完成过测试。界面清晰,可以很清楚的观看结果。
    2022-03-01 12:57:26下载
    积分:1
  • 2^k进制数
    设r是个2^k 进制数,并满足以下条件: (1)r至少是个2位的2^k 进制数。 (2)作为2^k进制数,除最后一位外,r的每一位严格小于它右边相邻的那一位。 (3)将r转换为2进制数q后,则q的总位数不超过w。 在这里,正整数k(1≤k≤9)和w(k<W≤30000)是事先给定的。 问:满足上述条件的不同的r共有多少个? 我们再从另一角度作些解释:设S是长度为w 的01字符串(即字符串S由w个“0”或“1”m组成),S对应于上述条件(3)中的q。将S从右起划分为若干个长度为k 的段,每段对应一位2k进制的数,如果S至少可分成2段,则S所对应的二进制数又可以转换为上述的2k 进制数r。 例:设k=3,w=7。则r是个八进制数(23=8)。由于w=7,长度为7的01字符串按3位一段分,可分为3段(即1,3,3,左边第一段只有一个二进制位),则满足条件的八进制数有: 2位数:高位为1:6个(即12,13,14,15,16,17),高位为2:5个,…,高位为6:1个(即67)。共6+5+…+1=21个。 3位数:高位只能是1,第2位为2:5个(即123,124,125,126,127),第2位为3:4个,…,第2位为6:1个(即167)。共5+4+…+1=15个。 所以,满足要求的r共有36个。
    2023-04-14 17:30:03下载
    积分:1
  • 大地电磁一维反演Occam
    利用fortran编写了有关大地电磁一维反演的代码,可以实现基本的反演功能,具有较高的借鉴意义,希望对大家的学习有所帮助。。。
    2022-02-01 12:56:13下载
    积分:1
  • 三维流场模拟软件源代码。自带UG......好东西
    三维流场模拟软件源代码。自带UG......好东西-Source codes of 3D Flow Field computerized simulation system, contain UG system.
    2022-12-23 18:45:03下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载