推荐系统中的冷启动问题

原文地址:http://blog.sina.com.cn/s/blog_c0256ec50101bjt0.html

冷启动问题的研究意义
冷启动问题是协同过滤推荐算法中被广泛关注的一个经典问题,该问题一直影响传统协同过滤推荐系统的健康发展,它的存在严重影响了推荐系统的推荐质量。对于电子商务推荐系统,每天都有大量的新用户访问系统,每都有相当数量的新项目添加到系统中,一方面,如果推荐系统能够为新用户推荐比较喜欢的商品,推荐系统会赢得更多用户的信任,对商家来说增加了客源,提高用户对系统的忠诚度,对用户来说,可以随时得到高质量的个性化服务; 另一方面,如果新商品能够及时地被推荐出去,可以提高产品的销售量,为商家赢得更大的经济利益,促进电子商务的健康发展。
目前针对冷启动问题提出了一些解决方法,如随机推荐法、平均值法、众数法、信息熵法、相似度度量改进法结合内容信息的方法等。不同的算法有各自的优点和不足,充分认识各算法的性能特征,掌握其适用的特定环境,便于研究者发现不同算法的改进点,明确算法的研究方向。更重要的是便于推荐系统对算法的选择和应用。而目前,大多数研究者热衷于提出新的算法,而对算法的研究现状的分析和比较不够。为弥补这一不足,本文重点对解决冷启动问题的不同算法进行分析比较,明确算法各自的优缺点,为读者提供有益的借鉴。

冷启动问题的研究现状
目前针对冷启动问题提出了一些解决方法,主要分为两大方面,一是直接利用传统协同过滤的评分数据结合特定的方法进行解决,二是新用户或新项目的内容属性信息与传统的协同过滤评分数据相结合的方法进行改善冷启动问题。
不考虑内容的解决方法
随机推荐的方法
对于冷启动问题,实际应用中最简单最直观的方法是采用随机推荐的方式,对于新用户,系统随机地给他们推荐项目; 对于新项目,系统将它们和现有项目一起随机地推荐给用户,然后根据他们的反馈,不断修正用户对被推荐的项目的评价来了解新用户的兴趣偏好和新项目被哪些用户群体所喜好。但是这种方法是比较冒险的方式,效果并不理想。因为从长期来看,随机推荐的方法的准确率不会超过 50%,而一旦用户得到系统推荐的项目不符合他们的兴趣偏好,他们会失去对推荐系统的信任而弃之不用。
平均值法
平均值法也是一种非常简单的方法,该方法选取所有项目的均值,作为用户对未评价过项目的预测值,将原始评分矩阵进行填充,然后在填充后的评分矩阵上寻找目标用户的最近邻居,应用协同过滤的方法产生推荐。但是均值的方法只能说是一种被动应付的方式,新用户对项目的喜好值正好等于其他用户对此项目的平均值的概率是非常小的,同样,用户对新项目的评价,不可能永远是单一的均值,而是有着个人的喜好在里面,应该是以平均喜好为轴,个人的实际兴趣喜好围绕此轴上下波动的一种预测模式。简单的均值法抹杀了这种个体差异。
众数法
众数法是指采用用户对所有评价过的项目的评分个数最多的那个值作为对未评价项目的预测评分值。众数是集中量的一种体现,指一组数据中出现频数最多的那个数。采用众数法的依据是用户对某一项目的喜好大都有从众心理,用户一般比较喜欢大多数人都喜欢的东西,同样,用户对项目进行评分,一般也具有集中性,用户可能会对比较喜好的项目都打 5 分,而对不太喜好的项目都打 1 分。众数法是同平均值方法相似的一种方法,用多数替代少数,用众性替代个性。实际上,用户对未评价过的项目或者新项目的预测,并不是一概而论的,例如有些用户有比较强的个性,其兴趣爱好和大多数人差距较大。采用众数法,只能说从统计学的角度而言,预测准确的概
率高于不准确的概率。如果预测的项目恰巧是用户喜欢的,而评价过的该项目的用户不喜欢的占多数,并且打为 l 分,那么预测的项目被评为 l,这种预测就不仅不是近似的预测,而是错误的预测。
相似度度量改进法
相似度度量改进法是通过改进传统协同过滤推荐算法中的相似度度量标准实现的,传统的相似度度量是在评分矩阵上通过计算两个向量的几何距离或与一条直线的逼近程度进行确定的,如果两个用户共同评分的个数较少,相似度的计算就不够准确,很难找出相似的用户。针对此问题,文献[15]对相似度的概念进行了新的定义,在计算相似度时,打破传统的计算几何距离的观念,采取启发式策略,在计算相似度时,考虑评分行为意义的影响因素。对于评分信息,首先设置一个中间值作为参考值,如果两者的评分在参考值的同侧,则依据评分信息给予相应的奖励,如果位于两侧,则给予一个惩罚,奖励和惩罚机制根据评分值的差值而定,这些奖励和惩罚措施就使行为相近的更接近,行为差距比较大的距离进一步加大,并且对评分个数的依赖会减小。但是这种方法只能解决评分个数不足的情况,对于没有评分的冷启动问题却无能为力。
结合内容信息的解决方法
基于原始评分矩阵扩充的方法
文献[16]提出了原始评分矩阵扩充的方法,该算法的基本思想是直接将用户的人口统计信息和项目的内容特征信息添加到原始用户-项目评分矩阵增加的行和列中,这样评分矩阵的行和列有所增加,矩阵得以扩充。协同过滤推荐算法在扩充后的矩阵上进行实施,这样即使用户项目的评分信息为零,其内容信息也是存在的,因此可以继续计算相似邻居,产生推荐。此算法能同时对新用户和新项目问题有所改善,但是对于超高维的数据,内容特征信息的维数相对用户数量和项目数量可谓“冰山一角”,用少数的内容信息并不能有效描述用户和项目的兴趣概况,所以此方法在处理高维数据的推荐系统中并不能有效解决冷启动问题。
构建概率统计模型的方法
协同过滤概率模型中将用户、项目和评分初始化为相应概率分布,利用 Hofmann 的 EM 迭代算法求解用户在评分给定的情况下某项目出现的概率,然后将概率从大到小排序,将概率大于某个值或排在前 N项的项目推荐给用户
。对于冷启动问题,用户-项目的评分信息不足,文献[25]和文献[26]将用户或项目的内容信息初始化为一个指定的概率分布,代替协同过滤推荐中评分概率分布,然后在内容信息替代评分信息的概率分布上利用 Hofmann 的 EM 迭代算法[24],从而完成推荐。概率模型方法能很大程度地解决冷启动问题,实验结果证实了该方法可以有效地解决冷启动问题。但是该方法在搜集概率条件信息时要花费很大的代价,并且要经过大量的迭代计算
才能产生推荐,所以投入实际应用较少。
与机器学习相结合的方法
此方法的基本思想是利用用户或项目的内容信息,通过机器学习查找内容和评分的内在联系,采取相应的措施产生推荐,该方法是目前解决冷启动问题研究的方向性方法。文献[26]利用感知机学习用户和项目之间的关系从而解决冷启动问题,文献[20]通过注入有限数目的“智能体”模拟学习新用户和新项目的兴趣概况信息从而对新用户和新项目给予适当的预测评分。文献[28]利用用户的内容属性信息通过无监督的 K-means 聚类学习算法将用户分成不同的兴趣组,每一组中用户的兴趣偏好相似的可能性比较大,那么系统在查找用户之间的距离时将所聚类中的用户之间的距离作为一个影响因素考虑进去。实验结果证明了该算法可以在一定程度上解决冷启动问题。但是此算法对影响因素的比例选取没有充分的数学依据,只能适用于特定的数据集。

你可能感兴趣的:(推荐系统中的冷启动问题)