基于巴氏系数的协同过滤算法
推荐系统成功帮助人们解决了“信息过载”问题,并成功运用于商业领域。推荐系统的核心是推荐算法,协同过滤算法是其中最为广泛使用的协同过滤算法,其优点是它与领域知识无关并且准确性也比其他算法高。可分为:基于用户的的协同过滤推荐算法和基于项目的协同过滤推荐算法。协同过滤推荐算法的基本思想是:与目标用户相似的用户喜欢的项目目标用户也可能喜欢,其核心是相似度计算。传统的相似度计算方法大都依赖共同评分项来计算目标用户的近邻,而稀疏性使得这些方法失效甚至适得其反。经过多年的发展,出现了各种不同的相似度计算方法:皮尔森相关系数(PC)是衡量两个用户(项目)的线性相关性。皮尔森相关系数(PC)在共同评分项较少的情形下无法判定两个用户的相似性,而且没有充分利用全局评分信息;Ahn 提出了PIP (Proximity-lmpact-Popularity)只考虑评分的片面信息:接近、影响度和普及度,而没有考虑全局评分信息的利用;Jaccard相似度计算方法考虑到使用全局评分信息,但是没有考虑评分的数值的大小,而是简单的处理为0和1;Bobadilla等捉出了多个相似度计算方法来克服其之前的相似度计算方法的缺点。1)结合了均方差(Mean squared-difference,MSD)和Jaccard提出JMSD计算方法,让两者克服彼此的缺点;2)他们提出Mean-Jaccard-Difference (MJD) ,在一定程度上克服了稀疏性问题。但上述的所有相似度计算方法在共同评分项较少的时候性能变得很差。
由前面的讨论可以看出传统的相似性计算方法并不适用于稀疏用户一项目评分的场景,因为它们都依赖共同评分项。在此,我们提出一个基于巴氏系数的协同过滤算法(Collaborative Filtering Based on Bhattacharyya Coefficient,CFBC),该算法通过巴氏系数来度量项目间的相似度,巴氏系数通过计算项目的全局评分信息从而克服对共同评分项的依赖问题。CFBC算法有效缓解传统相似度在用户一项目评分数据非常稀疏场景下推荐质量低的问题。
非常好我支持^.^
(0) 0%
不好我反对
(0) 0%