集体智慧编程(一)

集体智慧(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。

posted on 2012-02-01 11:23  darry  阅读(376)  评论(0编辑  收藏  举报

导航