推荐算法概述

1 基于人口统计学的推荐 这是最为简单的一种推荐算法,它只是简单的根据系统用户的基本信息发现用户的相关程度,然后将相似用户喜爱的其他物品推荐给当前用户。

系统首先会根据用户的属性建模,比如用户的年龄,性别,兴趣等信息。根据这些特征计算用户间的相似度。比如系统通过计算发现用户A和C比较相似。就会把A喜欢的物品推荐给C。

优势:

a 不需要历史数据,没有冷启动问题

b 不依赖于物品的属性,因此其他领域的问题都可无缝接入。

不足:

算法比较粗糙,效果很难令人满意,只适合简单的推荐

2 基于内容的推荐 与上面的方法相类似,只不过这次的中心转到了物品本身。使用物品本身的相似度而不是用户的相似度。

系统首先对物品(图中举电影的例子)的属性进行建模,图中用类型作为属性。在实际应用中,只根据类型显然过于粗糙,还需 要考虑演员,导演等更多信息。通过相似度计算,发现电影A和C相似度较高,因为他们都属于爱情类。系统还会发现用户A喜欢电影A,由此得出结论,用户A很 可能对电影C也感兴趣。于是将电影C推荐给A。

优势:

对用户兴趣可以很好的建模,并通过对物品属性维度的增加,获得更好的推荐精度

不足:

a 物品的属性有限,很难有效的得到更多数据

b 物品相似度的衡量标准只考虑到了物品本身,有一定的片面性

c 需要用户的物品的历史数据,有冷启动的问题

3 协同过滤 协同过滤是利用集体智慧的一个典型方法。要理解什么是协同过滤 (Collaborative Filtering, 简称 CF),首先想一个简单的问题,如果你现在想看个电影,但你不知道具体看哪部,你会怎么做?大部分的人会问问周围的朋友,看看最近有什么好看的电影推荐, 而我们一般更倾向于从口味比较类似的朋友那里得到推荐。这就是协同过滤的核心思想。换句话说,就是借鉴和你相关人群的观点来进行推荐,很好理解。

posted @ 2016-12-25 18:24  371502685  阅读(422)  评论(0编辑  收藏  举报