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

C++ ItemCF

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

  • 浮点转换器,可以对十进制定点数、浮点BCD码和二进制浮点操作数之间进行相互转换。...
    浮点转换器,可以对十进制定点数、浮点BCD码和二进制浮点操作数之间进行相互转换。-float converters, and can set the decimal points. BCD floating-point and binary floating-point operation between several mutual conversion.
    2023-06-13 08:20:04下载
    积分:1
  • 数据结构(李春葆)代码
    对数据结构(李春葆版本)比较详细的讲解,里面还有ppt对理论比较详细的讲解,对于像对数据结构深入了解的人大有裨益。
    2022-02-26 16:38:48下载
    积分:1
  • 动态规划的投资问题,c++方法,可参考,试过能用
    动态规划的投资问题,c++方法,可参考,试过能用-Dynamic programming of investment issues, c++ Way of reference, never use
    2023-05-15 13:35:02下载
    积分:1
  • MATLAB PFB
    用于实现多相滤波结构,提高效率,通常用在实现通道划分的结构,通带平坦度更好,相对于其他的滤波器组结构来说有更优秀的通带和阻带性能
    2022-03-10 06:46:58下载
    积分:1
  • 很不错的哦C常用算法程序集
    很不错的哦C常用算法程序集-徐士良 -very good oh C procedures commonly used algorithm set-XU Shi-liang C algorithms commonly used procedures set-XU Shi-liang
    2022-03-17 06:34:01下载
    积分:1
  • 分步傅利叶方法解非线性方程
    分步傅利叶方法解非线性方程-Fourier step-by-step method for solving systems of nonlinear equations
    2022-12-13 00:25:03下载
    积分:1
  • nurbs曲线插补源代码
    nurbs曲线插补算法,采用了泰勒展开式来进行参数值的计算,保证了插补的精度,避免了差分方法带来的较大误差和迭代次数,保证了算法的实时性,在插补过程中运用了加减速控制,保证了加工过程中速度的平稳过渡,降低冲击,提高了工件的精度同时有保证了加工速度
    2022-03-18 13:47:03下载
    积分:1
  • 牛顿、拉格朗日、三次自然插值的演示文件。
    牛顿、拉格朗日、三次自然插值的演示文件。-Newton, Lagrange, three natural interpolation Presentations.
    2023-05-12 05:20:02下载
    积分:1
  • BP神经网络java
    资源描述包含源代码及说明文档,使用java语言,代码清晰,使用时先用StartLearning类训练,后使用TestMain类测试,说明文档简单讲解了算法流程及注意事项,附带3000个训练测试数据。仅供学习参考,欢迎提问。
    2023-08-30 04:40:03下载
    积分:1
  • c4.5决策树算法
    C4.5决策树算法,经典,易于理解,中间存在一点点的小问题,希望大家多多指点,帮忙解决
    2022-11-12 03:55:03下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载