[bj]集体智慧编程

来源:互联网 发布:西安软件测试 编辑:程序博客网 时间:2024/04/30 02:37


第2章 提供推荐


(1)搜集偏好: 数据准备过程,根据用户的不同行为和物品属性确定分值
(2)

user-based collaborative filtering基于用户的协作性过滤
基于用户的推荐:物品x推荐给用户y的推荐值=sum(用户y1与y相似度*y1对x的评分)for each y1;
item-based collaborative filtering基于物品的协作性过滤
基于物品的推荐:物品x推荐给用户y的推荐值=sum(物品x1与x相似度*y对x的评分)for each x1;
(3)选择user-based还是item-based取决于目的,若用户的数据量较大且变化频繁时,则用户相似度计算耗费时间较多且次数也频繁;
物品相对于用户数据则稳定的多,物品相似度更新不用太频繁。

(4)皮尔逊相关度

相对于欧式距离的区别详见http://blog.csdn.net/hu17889/archive/2011/06/11/6538007.aspx

 


第3章 发现群组


(1)问题博客分组;样本:博客,特征:关键词数量,方法:分层聚类,kmeans聚类。

距离定义:皮尔逊相关度,因为不同博客下,具有相似单词量分布,但单词数量可能不同。如[1 2 3]与[11 12 13]的相关度为0

皮尔逊相关度的说明详见http://blog.csdn.net/hu17889/archive/2011/06/11/6538007.aspx
(2)用tanimoto系数度量二值数据矢量直接的距离,应用:用户-物品(喜欢1,不喜欢0)

(3)对于用非欧氏距离求得的距离矩阵只包含两两关系,并且不一定符合欧式空间分布,文中提出了一种将上述距离矩阵转化为欧式二维分布并形式化表达出来,高维数据也能通过求两两距离转化为距离矩阵,再用本文方法画出二维样本分布图,方便观察数据。

原创粉丝点击