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

C++ ItemCF

于 2022-03-26 发布 文件大小:11.80 MB
0 194
下载积分: 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 个回复

  • PURE去噪仿真程序
    非常好的有关图像去噪仿真程序,有测试图片。仿真效果非常好,可用于图像匹配,图像融合,目标跟踪与检测仿真效果非常好,希望对大家有用
    2022-08-04 04:43:46下载
    积分:1
  • 练习程序,问题如下:进行高精度整数的加、减、乘运。输入两个十进制大整数M和N(M、N最长可达50位),计结果并输出。【输入形式】标准输入上依次分行输入以...
    练习程序,问题如下:进行高精度整数的加、减、乘运算。输入两个十进制大整数M和N(M、N最长可达50位),计算运算结果并输出。【输入形式】标准输入上依次分行输入以下内容:1.第一行输入第一个大整数M。M可能带有负号,后面是最长可达50位的数字序列。2.第二行只有一个字符,可以是“+”、“-”、“*”,分别代表加、减、乘三种运算符。3. 第三行输入大整数N,格式与M相同M、N均不带有前缀的多余的0【输出形式】在标准输出上打印运算结果,输出一行字符序列,是大整数M和N和运算结果。如果该运算结果是正数,则直接输出各位数字序列;如果是负数,则首先要输出负号。各位数字紧密输出,不带有前缀的多余的0。-practice procedures, as follows : high-precision integer for the addition, subtraction, multiplication. The importation of two decimal integer big M and N (M, N up to a maximum of 50), the calculated results of operations and output. Entry forms : standard input on the importation of branches were the following : 1. The first line inputs, a large integer M. M may have negative, is back up to 50 digital sequence. 2. Only a second line of characters could be "","-","*", respectively, plus or minus, by three operators. 3. The third line inputs large integer N, M and the same format M, N are not redundant with the prefix 0 output-- in the form of print on standard out
    2022-02-06 02:31:19下载
    积分:1
  • SOA中噪声性能的程序
    计算SOA中噪声性能的程序-calculation procedures noise performance
    2023-06-06 13:30:03下载
    积分:1
  • 骑士漫游问题C语言示例.详见ReadMe.
    骑士漫游问题C语言示例.详见ReadMe.-Cleveland roaming C-language examples. See ReadMe.
    2023-02-01 10:35:04下载
    积分:1
  • C++中数学函数和矩阵类运
    详细介绍了VC++中math.h头文件包含的数学函数及其个函数的具体定义和应用,并介绍了一个矩阵类,便于实现矩阵的相加、减、数乘,矩阵转置、求逆,用于解决矩阵运算。
    2022-08-14 11:39:17下载
    积分:1
  • 代码打印你好世界
    资源描述Python是一种非常简单的语言,并有一个非常简单的语法。它鼓励程序员编程没有样板(制)的代码。Python中的最简单的指令是“打印”指令,它只打印出一行(也包括换行符,不像C)。有两个主要的Python版本,Python 2和Python 3。Python 2和3是完全不同的。 ;
    2023-03-23 09:35:04下载
    积分:1
  • A * 搜索
    在计算机科学中,A * (发音为"星星") 是一种广泛应用于寻路的计算机算法和遍历图,绘制点之间,可有效地遍历路径的过程称为节点。它指出,其性能和加工精度,享有广泛使用。然而,在实际的旅游路线系统中,它通常被优于算法可以预先处理图形上,以达到更好的性能,尽管其他的研究已经发现 A * 要优于其他方法。
    2022-03-01 04:50:33下载
    积分:1
  • TI DSP TMS320F280x iic eeprom例程。
    TI DSP TMS320F280x iic eeprom例程。-TI DSP TMS320F280x iic eeprom routines.
    2023-05-23 09:10:03下载
    积分:1
  • 自动重发请求
    自动重复请求(ARQ),也称为自动重复查询,是数据传输,使用确认(由接收器指示它正确地收到的数据帧或者数据包发送消息) 和
    2022-11-21 07:55:03下载
    积分:1
  • this program is continuation of 1laser
    this program is continuation of 1laser - can fire 2 lasers rangefinders from MDL simultaneusly and then registers measured distance to file - very useful for photogrametry-this program is continuation of 1laser- can fire 2 lasers rangefinders from MDL simultaneusly and then registers measured distance to file- very useful for photogrametry
    2022-03-25 19:09:06下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载