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

C++ ItemCF

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

  • 遗传求解TSP问题
    有31座城市,采用遗传算法求解tsp问题,给出源程序。可运行! 遗传算法是模仿生物进化和自然选择机理,模拟生物在自然环境中的遗传和进化过程而形成的一种自适应全局优化概率搜索算法。近年来,遗传算法由于在解决各类最优化问题时表现出的鲁棒性、全局性、隐含并行性和自适应性而成为一种应用同益广泛的智能优化算法。旅行商问题(TSP)是组合优化领域中的一个典型NP完全问题,是诸多领域内出现的多种复杂问题的集中概括和简化形式。快速、有效地解决TSP问题有着较高的理论意义和实际应用价值。本文针对解决TSP 问题,用遗传算法施行对TSP问题进行了求解,对选择、交叉和变异算子进行了算法设计,最后探讨了遗传算法解决旅行商问题自身具备的特点。
    2022-07-16 23:21:19下载
    积分:1
  • 操作系统中的多级反馈队列调度
    操作系统中的多级反馈队列调度算法-operating system as a multi-level feedback queue scheduling algorithm
    2022-10-13 21:30:02下载
    积分:1
  • 基于c实现单片机的键盘控制
    本代码主要实现了基于89c52单片机实现矩阵键盘的程序,主要体现了分为横扫描以及竖扫面的主体思想,实现对矩阵键盘的控制,并结合数码管的显示来验证此程序的正确性。在使用此程序之前,要人为的去修改硬件资源程序部分,使之程序的思路是根据此程序来的,但是具体的硬件资源是根据手里所有的开发板来进行修改的,这样可以很好的适合于每个平台。此代码为c代码有很好的移植性以及易懂性
    2022-06-26 14:01:57下载
    积分:1
  • 语音识别,matlab
    语音识别,matlab,自己结合搜集的数据做的语音识别,matlab,自己结合搜集的数据做的语音识别,matlab,自己结合搜集的数据做的语音识别,matlab,自己结合搜集的数据做的语音识别,matlab,自己结合搜集的数据做的
    2022-08-23 09:30:33下载
    积分:1
  • 一个简单的计器功能 真的 让你了解他 你难道不相信吗
    一个简单的计算器功能 真的 让你了解他 你难道不相信吗 -A simple calculator function allows you to really know Do not you believe it
    2022-12-26 18:15:03下载
    积分:1
  • 8位crc校验的计源码,查表计,可以计任意8位的多项式的校验...
    8位crc校验的计算源码,查表计算,可以计算任意8位的多项式的校验-eight crc check the source calculation, look-up table to be calculated in terms of the eight random polynomial Check
    2022-02-02 07:48:22下载
    积分:1
  • cron creator
    This is a tool to create the cron expression. 这是一个能够产生cron表达式的。 主要是针对的linux平台下的cron的移植,能够用于界面直接输入,然后输出cron表达式!!!
    2022-06-20 03:16:39下载
    积分:1
  • Anderson CFD 第七章Fortran程序
    针对Anderson教材第七章相关章节(7.3&7.4)书写的Fortran程序,和书本上的结果进行了对比,程序运行正确。使用最新的Fortran语法书写,方便阅读;
    2022-10-25 17:25:03下载
    积分:1
  • 图像锐化处理
    根据图像锐化的原理编写,可以直接运行,效果明显,和photoshop里的Usm锐化的效果差不多
    2022-03-04 18:00:41下载
    积分:1
  • 基本粒子群
    本文件是基于C语言的基本粒子群算法实现代码,其中测试函数使用的超球函数。本文件对于粒子群算法初学者能起到一定辅助作用
    2022-01-26 06:26:34下载
    积分:1
  • 696518资源总数
  • 106208会员总数
  • 21今日下载