-
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
-
embedded compilation write bubble sort, XP VC6.0 compile.
内嵌汇编写的起泡排序,XP下VC6.0编译通过。-embedded compilation write bubble sort, XP VC6.0 compile.
- 2022-01-25 22:29:18下载
- 积分:1
-
This is an ultrasonic launch control circuit design, a continuous single
这是一个超声波发射的控制电路的设计,可以发出连续的单载波脉冲.-This is an ultrasonic launch control circuit design, a continuous single-carrier pulse.
- 2022-03-24 14:35:14下载
- 积分:1
-
冒泡法 起泡法 用使数组排列
C语言冒泡法(起泡法)排序
思路:将相邻的两个数进行比较,将小的调到前头。
如果有n个数,那么要进行n-1次的比较。在第一次比较中要进行n-1次的两两比较,在第j次比较中要进行n-j次的两两比较。
过程:先通过动态赋值的方法,把用户输入的10个数字保存到数组中。
用两个for循环语句,外层循环是限制次数,内层循环限制某次要进行两两比较的次数。
如果a[n]>a[n+1],那么将两个数进行交换。
- 2023-04-24 18:25:03下载
- 积分:1
-
6元+ +下的元胞自动机生成程序,很难
vc++6.0下的元胞自动机生成程序,好不容易找到的哦,非常好用!-vc++6.0 under the cellular automaton generating program, hard-won Oh, very easy to use!
- 2023-08-26 02:15:04下载
- 积分:1
-
加权的 KNN
KNN 算法,您可以应用此算法进行本地化人类或室内和室外的对象。它是清楚地知道在本地化过程中的算法
- 2022-03-24 06:22:05下载
- 积分:1
-
一元线性回归,数值分析方面可参考
一元线性回归,数值分析方面可参考-one yuan linear regression, numerical analysis can look at the reference
- 2022-03-20 17:59:50下载
- 积分:1
-
rapid power level with the previous two are together
快速幂级2 跟前面的是一起的-rapid power level with the previous two are together
- 2022-10-07 18:05:02下载
- 积分:1
-
Hash函数MD5的实现
资源描述
用C语言实现该MD5压缩算法,尽可能的优化算法的实现。通过编程实现算法,对该算法的设计有较好的认识。
- 2022-03-24 04:29:04下载
- 积分:1
-
对偶单纯形发源程序,利用Delphi开发的,使用范围较广
对偶单纯形发源程序,利用Delphi开发的,使用范围较广-Dual simplex-fat source, the use of Delphi development, the use of a wider scope
- 2022-07-22 21:41:48下载
- 积分:1