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

C++ ItemCF

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

  • 为实现fdtd3d平面波TF / TS编码
    code for implementation FDTD3D with plane wave tf/ts
    2022-05-06 05:44:54下载
    积分:1
  • fdtd算法的matlab源代码
    用matlab实现的三维fdtd算法的源代码。 %     3-D FDTD code with PEC boundaries %*********************************************************************** % %     Program author: Susan C. Hagness %                     Department of Electrical and Computer Engineering %                     University of Wisconsin-Madison %                     1415 Engineering Drive %                     Madison, WI 53706-1691 %                
    2023-03-28 02:55:03下载
    积分:1
  • Win32 Assembly to write small programs, including Source Code!
    -Win32 Assembly写的小程式,含 Source Code! -工程计算机,可达112 bits !--Win32 Assembly to write small programs, including Source Code!- Works the computer, up to 112 bits!
    2023-06-10 01:35:04下载
    积分:1
  • IGMP的实现
    containe IGMP的源代码。Internet组管理协议(IGMP)是用于主机和相邻的路由器在IP网络上建立组播组成员的通信协议。 IGMP协议是IP多播的一个组成部分。
    2022-04-08 16:34:34下载
    积分:1
  • 动态规划计算最短路,只需输入点集合距离即可计算出最短路。...
    动态规划计算最短路,只需输入点集合距离即可计算出最短路。-min route
    2023-04-30 05:35:02下载
    积分:1
  • 2022-02-13 16:14:05下载
    积分:1
  • 附有多个典型的聚类算法,可执行文件全集。
    附有多个典型的聚类算法,可执行文件全集。-with more typical clustering algorithm, The Complete Works of executable files.
    2022-01-25 18:18:08下载
    积分:1
  • sm2算法实现描述
    椭圆曲线的定义:     一条椭圆曲线是在射影平面上满足方程     Y2Z+a1XYZ+a3YZ2=X3+a2X2Z+a4XZ2+a6Z3   的曲线.   一个利用椭圆曲线进行加密通信的过程: 1、用户A选定一条椭圆曲线Ep(a,b),并取椭圆曲线上一点,作为基点G。 2、用户A选择一个私有密钥k,并生成公开密钥K=kG。 3、用户A将Ep(a,b)和点K,G传给用户B。 4、用户B接到信息后 ,将待传输的明文编码到Ep(a,b)上一点M(编码方法很多,这里不作讨论),并产生一个随机整数
    2022-05-31 23:53:50下载
    积分:1
  • 龙格库塔法C++程序
    龙格库塔求解微分方程数值解 工程中很多的地方用到龙格库塔求解微分方程的数值解,龙格库塔是很重要的一种方法,尤其是四阶的,精确度相当的高。此代码只是演示求一个微分方程: 的解,要求解其它的微分方程,可以自己定义借口函数,退换程序里面的函数:
    2023-01-01 03:55:04下载
    积分:1
  • C语言基于DOS界面的五子棋
    Windows下使用C语言实现在dos界面下的五子棋小程序,拥有能够接受的界面。                                                                                 
    2022-09-20 02:55:03下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载