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

C++ ItemCF

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

  • 经典小游戏-俄罗斯方块
    经典小游戏-俄罗斯方块,简单有趣,十分好玩,界面也比较美观,源代码其实也是比较通俗易懂的,基本上能够很方便的看懂,游戏运行起来也比较流畅,虽说简单,但其实也设计有两种模式,可以给玩家提供更多的选择。
    2022-01-22 11:43:39下载
    积分:1
  • 飞思卡尔智能车比赛程序
    第八届飞思卡尔智能车比赛 摄像头组的源程序, 使用的主控芯片是xs128的芯片。 使用的开发环境是飞思卡尔的cw。 在安徽赛区获得二等奖的程序。 希望对大家参加飞思卡尔比赛的可以有帮助。
    2022-05-06 21:16:43下载
    积分:1
  • 哈夫曼编码
    利用哈夫曼编码进行信息通信可以大大提高信道利用率,缩短信息传输时间,降低传输成本。但是,这要求在发送端通过一个编码系统对待传数据预先编码,在接收端将传来的数据进行译码(复原).对于双工信道(既可以双向传输信息的信道),每端都需要一个完整的编/译码系统。试为这样的信息收发站写一个哈夫曼的编/译码器。该系统可进行字符与二进制码值间转换。可用于电脑系统中用户的文件,这样可节省内存,当用户使用时又可转换为字符形式。还可实现对所给文件进行统计字符出现频率,及相应二进制码值,并对文件编码解码。1 统计权值;2 建立哈夫曼树:从结构体数组中读入n个字符和n个权值,利用静态三查三叉链表建立哈夫曼树.3 编码:利用已建立好的哈夫曼树,获得各个字符的哈夫曼编码,并对正文进行编码,然后输出编码结果。4 译码:利用已建立好的哈夫曼树将文件中的代码进行译码。
    2022-03-20 11:31:36下载
    积分:1
  • 生成球体表面均匀分布的点的程序
    生成球体表面均匀分布的点的程序- Production spheroid surface even distribution spot procedure
    2022-09-05 15:45:02下载
    积分:1
  • Johnson 计数器
    所谓Johnson 计数器,其实说白了无非就是复杂一点的流水灯实验。流水灯加上了按键控制,流水灯的开启关闭和变化方向在按键的控制下进行。本实例是带停止控制的双向4bit Johnson 计数器,可以通过LED 灯直观的在学习板上进行演示。
    2022-11-26 12:35:03下载
    积分:1
  • 路由器最短路径测试源代码!
    路由器最短路径测试源代码!-Shortest Path router test source code!
    2022-01-26 00:10:38下载
    积分:1
  • 混沌工具箱
    该工具箱是研究非线性时间序列混沌与分形的有力工具,能够计算非线性时间序列的动力学不变量,如关联维数,李亚普洛夫指数等指标。此外还包含相空间重构的过程中参数的估计方法。
    2022-04-22 23:13:45下载
    积分:1
  • C++ net time 读取网洛时间
    C++ net time 读取网洛时间-C net Luo time reading time
    2022-08-03 15:31:02下载
    积分:1
  • 正态分布 normal VBA 代码
    应用背景用于计算正态分布的累积分布函数和逆函数,可转化为其他语言。用于可靠性分析和数理统计关键技术正态分布是应用统计中最为广泛使用的一个分布,此算法可给数据分析相关人员开发工具时参考。
    2022-01-31 07:07:11下载
    积分:1
  • VB 功能强大的计费算法
    VB 功能强大的计费算法 VB 功能强大的计费算法VB 功能强大的计费算法VB 功能强大的计费算法
    2022-03-17 16:00:48下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载