-
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
-
九维的卡尔曼滤波跟踪算法,包括xyz三方向和各方向的位置,速度,加速度。...
九维的卡尔曼滤波跟踪算法,包括xyz三方向和各方向的位置,速度,加速度。-Nine-dimensional Kalman filter tracking algorithm, including the three xyz direction and the location of the direction, velocity, acceleration.
- 2022-04-18 23:39:23下载
- 积分:1
-
两段锁模拟 java语言
通过基于锁的并发控制系统的模拟实现,掌握两段加锁协议和简单并发控制系统的构建;理解事务并发访问造成的不可串行化和如何保证可串行化的技术,使用java语言模拟实现数据库的两段锁协议的实现过程
- 2023-03-14 16:00:04下载
- 积分:1
-
image rotation procedures, the images can be arbitrary angle of rotation (after...
图像旋转程序,可以对图像进行任意角度的旋转(旋转后无图像部分用255赋值)。-image rotation procedures, the images can be arbitrary angle of rotation (after rotating images without using some 255 assignment).
- 2022-06-14 18:32:45下载
- 积分:1
-
对于给定的自然数n,编程计算半数集set(n)中的元素个数
对于给定的自然数n,编程计算半数集set(n)中的元素个数-regard to the natural number n, calculate half Sets set (n) of the number of elements
- 2023-06-19 16:35:03下载
- 积分:1
-
with Primbetov heap sorting algorithm using the shortest path to achieve the sea...
用普里姆算法借助堆排序实现最短路径的查找,用C语言实现-with Primbetov heap sorting algorithm using the shortest path to achieve the search, using C language
- 2022-11-01 15:05:03下载
- 积分:1
-
OSGAx,嵌入式osg插件
一款关于OpenSceneGraph插件Activex的软件,osg是庞大的三维渲染引擎,OSG的安装方法和其他大型开源工程类似,需要通过源代码进行编译和生成,其中涉及Cmake,编译器的设置,环境变量设置等诸多概念
- 2022-06-16 12:25:23下载
- 积分:1
-
模拟退火算法介绍,来自某一论坛,既有简介又有不同人的讨论,值得仔细揣摩、...
模拟退火算法介绍,来自某一论坛,既有简介又有不同人的讨论,值得仔细揣摩、-Simulated annealing algorithm introduction, from a forum for both brief and the discussion of different people, it is worth carefully try to figure out,
- 2022-08-17 06:03:06下载
- 积分:1
-
基因表达
public override float CalculateFitness()
- 2023-04-09 05:10:03下载
- 积分:1
-
蚁群算法
运用蚁群算法对函数进行求解 得到最优解,运用蚁群算法对函数进行求解 得到最优解
- 2022-06-16 18:09:17下载
- 积分:1