《programming.collective.intelligence》(集体智慧编程)读书笔记

1.      相关性算法:

a)          欧几里得距离是以物品为坐标描述玩家的位置,然后根据玩家之间的距离衡量玩家相似度(玩家对物品评分严厉程度不一样时数据可能不准确)

b)          皮尔逊相关度是以玩家为坐标描述物品的位置,然后根据斜率衡量玩家相似度

c)          Tanimoto系数代表的是交集(只包含那些在两个集合中都出现的项)与并集(包含所有出现于任易集合中的项)的比率(列数据为0/1时用该算法更有意义)

 

2.      基于用户的推荐(根据玩家品味相似推荐物品)

         计算完用户跟其他每个用户之间的相似度之后,根据相似度计算所有物品的加权评分,然后求和除以相似度之和得到各物品的推荐系数

         行是除我以外的所有用户或者跟我相似值比较高的一部分用户

         列是所有我没有看过的物品

         《programming.collective.intelligence》(集体智慧编程)读书笔记_第1张图片

3.      基于物品的推荐(寻找物品之间的相似度,推荐物品、寻找潜在用户)

         对于上述方法,把物品和用户位置调换就可以找到物品之间的相似度

         行是我评过分的所有物品

         列是所有我没有看过的物品

 《programming.collective.intelligence》(集体智慧编程)读书笔记_第2张图片

4.      基于用户和基于物品的协作性过滤的选择:在用户数较多时基于物品的效率高一些(用户的数据是在不断变化的,基于用户需要频繁跟其他用户对比计算相似度,而基于物品时某个用户的行为不足以对物品之间的相似值影响太大);当数据集比较稀疏时基于物品的准确度高一些(因为两用户之间可能没有都评价过的物品)


你可能感兴趣的:(编程,c,算法,读书)