-
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
-
沃而什编码源程序
沃而什编码源程序- Fertile and assorted code source program
- 2023-02-25 22:55:03下载
- 积分:1
-
vfdevdvdbvbvdvfbgfdbfdb
很好的矩阵类,花了好久才搞到的哦,很好用-vfdevdvdbvbvdvfbgfdbfdb
- 2022-07-16 23:38:27下载
- 积分:1
-
路径查找代码[vb版本代码]
路径查找代码[vb版本代码]-path search code [vb code version]
- 2022-01-26 03:39:11下载
- 积分:1
-
时空图
模拟交通流量在秩序更好计算模拟二维交通网络,基于人流 BML 模型,从而构建四个方向交通运营模式,并考虑参数的加速度和变道的概率正在通过调整参数来运行动态过程仿真的车辆流量大、 备受打击。种群表明换车道的概率正在扰动对输入和输出流量,并指出了转概率和交通流线的求解关系,车道 changingrules 对应于车辆运行的基本路线。
- 2023-03-03 10:55:04下载
- 积分:1
-
本程序为三维FDTD方法在Matlab中的实现。
本程序为三维FDTD方法在Matlab中的实现。-This procedure for the three-dimensional FDTD method in the realization of Matlab.
- 2022-01-26 17:24:46下载
- 积分:1
-
本程序实现了卡尔曼滤波器的算法及其在信号处理中的应用
本程序实现了卡尔曼滤波器的算法及其在信号处理中的应用-This procedure achieved a Kalman Filter Algorithm and Its Application in Signal Processing
- 2022-10-29 19:10:04下载
- 积分:1
-
cuda实现矩阵相乘实例
CUDA矩阵相乘A*B=C代码,任意输入矩阵A的宽度和矩阵B的宽度(A[wB][wA]*B[wA][wB]),cudaMallocPitch开辟显存空间,cudaMemcpy2D数组复制,Kahan"s Summation Formula提高浮点计算精度。
- 2022-06-16 18:04:10下载
- 积分:1
-
FFT C语言编程
本文档介绍了离散傅里叶变换(DFT),即,一个适用于离散傅里叶变换的复值序列。数学将和源代码(写在C编程语言)在附录中提供。
- 2022-05-06 13:08:09下载
- 积分:1
-
通过高斯消去法,进行矩阵求逆运算,在工程中有很强的实用价值。...
通过高斯消去法,进行矩阵求逆运算,在工程中有很强的实用价值。-through Gaussian elimination method for computing matrix inversion, the project has a strong practical value.
- 2022-08-06 13:10:42下载
- 积分:1