-
C++ ItemCF
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中选择。认识到这一
- 2022-03-26 08:57:57下载
- 积分:1
-
能实现任意两个超大整数的乘法。经本人实验,任意大整数都能实现。...
能实现任意两个超大整数的乘法。经本人实验,任意大整数都能实现。-achieve two super arbitrary integer multiplication. After I experiment arbitrarily large integers can be materialized.
- 2022-02-26 23:37:00下载
- 积分:1
-
数据压缩算法
这是简单的源代码,以帮助了解如何算术数据压缩的工作。在使用 devcpp 5.6.1 的 c 语言中创建此源代码。这段代码是 linier 编程风格这不 OOP,但它可以开发的。使用 2 的比较方法,一是在功能和其他主要是写这个程序是不同的两个功能。第一个排序按升序排列的代码性格,帮助每个字符的代码量降序排序第二个,然后它的代码字符升序排序。此代码用链表来保存它的限于 1000年字符字符压缩的结果。如延长它的限制或更改的数据结构,它可以升级。无论如何这我第一次上传代码,对不起如果坏了。
- 2023-08-27 07:25:03下载
- 积分:1
-
差分进化算法的源代码,编码简单,可读性强,与约。
差分进化算法的源代码,编码简单可读,可以直接编译执行-Differential evolution algorithm source code, coding simple and readable, and can directly compile the implementation of
- 2023-08-27 22:40:04下载
- 积分:1
-
objective function for the solution of optimization problem, the objective funct...
用于解决目标函数的最优化问题,目标函数自编,在vc++6.0中运行通过-objective function for the solution of optimization problem, the objective function writing, the vc++6.0 running through
- 2022-05-24 20:22:06下载
- 积分:1
-
CTC编码,用于验证CTC编码
CTC编码函数,生成CTC循环卷积码
编解码都有,可以验证软入软出原则下的CTC码性能
- 2022-09-20 13:40:03下载
- 积分:1
-
BP神经网络java
资源描述包含源代码及说明文档,使用java语言,代码清晰,使用时先用StartLearning类训练,后使用TestMain类测试,说明文档简单讲解了算法流程及注意事项,附带3000个训练测试数据。仅供学习参考,欢迎提问。
- 2023-08-30 04:40:03下载
- 积分:1
-
Newton差商插值,可输入数组进行插值运算
Newton差商插值,可输入数组进行插值运算-Newton difference quotient interpolation, may import array interpolation Operational
- 2022-10-24 13:00:03下载
- 积分:1
-
delphi-crypto
厌倦了使用大型库,比如OpenSSL,
- 2022-03-18 03:04:30下载
- 积分:1
-
B+树源码实现
B+tree C语言实现,适合各种单独需要Btree的场合,效果经错测试,非常不错。欢迎下载使用。B+tree C语言实现,适合各种单独需要Btree的场合,效果经错测试,非常不错。欢迎下载使用。
- 2022-08-09 01:44:10下载
- 积分:1