集体智慧(collective intelligence)编程
第一章 集体智慧导言
总而言之,集体智慧指为了创造新的想法,而将一群人的行为、偏好或思想组合在一起,而个体成员将被忽略。
第二章 提供推荐
如amazon的购物推荐系统。
Collaborative filtering协同过滤:对一大群人进行搜索,从中找出与我们品味相似的一小群人。协同过滤始于David Goldberg 1992年的论文
《Using collaborative filtering to weave an information tapestry》
相似度评价体系:
1. 欧几里德距离:sim_distance = sqrt(∑(x1i – x2i)2)
偏好越相似,距离越短。相似度可以用 1 / (1 + sim_distance)表示
2. 皮尔逊相关度:
判断两组数据与某一直线的拟合程度。解决了夸大分值(grade inflation)的情况,即用户1倾向与比用户2给更高的分值,但分值之差保持一致。(公式没推导出来,书中P13。是类似linear regression中cost function么?书中直接给出了结果)
两种度量的空间含义不一样。欧几里德距离的x和y轴分别代表一个产品(当然还可已有更多维),如(3,5)表示一个人对x轴产品打分3,对y轴产品打分为5;而皮尔逊相关度x和y轴分别代表2个人,空间内会有很多点,对于点(3,5),则代表对于指定的点,也就是一个指定的产品,x轴代表的用户评分为3,y轴代表的用户评分为5。