推荐系统是为了解决信息过载问题,让用户快捷找到自身喜爱的商品,把商品推荐给对其感兴趣的用户。
推荐算法概括起来可以分为5种:
-
基于内容的推荐:这一类一般依赖于自然语言处理NLP的一些知识,通过挖掘文本的TF-IDF特征向量,来得到用户的偏好,进而做推荐。这类推荐算法可以找到用户独特的小众喜好,而且还有较好的解释性。
-
协同过滤推荐:协调过滤是推荐算法中目前最主流的种类,花样繁多,在工业界已经
有了很多广泛的应用。它的优点是不需要太多特定领域的知识,可以通过基于统计的机器学习算法来得到较好的推荐效果。最大的优点是工程上容易实现,可以方便应用到产品中。目前绝大多数实际应用的推荐算法都是协同过滤推荐算法。 -
混合推荐:这个类似我们机器学习中的集成学习,博才众长,通过多个推荐算法的结合,得到一个更好的推荐算法,起到三个臭皮匠顶一个诸葛亮的作用。比如通过建立多个推荐算法的模型,最后用投票法决定最终的推荐结果。混合推荐理论上不会比单一任何一种推荐算法差,但是使用混合推荐,算法复杂度会有所提高。
-
基于规则推荐:这类算法常见的比如基于最多用户点击,最多用户浏览等,属于大众型的推荐方法,在目前的大数据时代并不主流。
-
t基于人口统计信息推荐:这一类是最简单的推荐算法了,它只是简单的根据系统用户的基本信息发现用户的相关程度,然后进行推荐,目前在大型系统中已经较少使用。
推荐系统应用一般作为页面的一部分,例如商品推荐、广告推荐、电影推荐、音乐推荐等等。
测评推荐系统的好坏一般从三方面考量。以图书为例:首先对于用户,能为用户推荐自身感兴趣的图书;其次对于商家,能将商家商品全部推荐给感兴趣的用户;最后对于推荐系统本身,能够获得用户反馈,不断完善推荐质量,增加用户和网站的交互。具体的评价指标有:
l 用户满意度
l 预测准确度,主要包含:评分预测、TopN推荐
l 覆盖率:推荐列表中的商品数占总商品数的比例
l 多样性:推荐列表中各个商品之间的距离的均值
l 新颖性:推荐列表中商品热度的均值
l 惊喜度
l 信任度
l 实时性
l 健壮性
l 商业目标
总结:对于离线测评一个推荐系统时,可以考虑在给定覆盖率、多样性、新颖性等指标的情况下,尽量优化预测准确度;同时,考量一个推荐系统的好坏,可以加入不同维度的考量,比如:用户维度、商品维度、时间维度,可能不同算法在不同维度表现不同,从而融合各自优点,取得最好的整体性能。