欢迎来到天天文库
浏览记录
ID:36471546
大小:410.00 KB
页数:24页
时间:2019-05-11
《推荐系统技术预研报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、用户书册Mahout技术预研报告版本:V1.0文档编号保密等级作者最后修改日期审核人最后审批日期批准人最后批准日期修订记录用户书册日期版本修订说明修订人2011-5-31V1.0创建用户书册目录1简介21.1编写目的21.2背景21.2.1任务的提出21.2.2使用者21.3参考资料22协同过滤机制分析32.1基于协同过滤的推荐机制基本原理32.2基于用户的协同过滤推荐32.3基于项目的协同过滤推荐42.4SlopeOne协同过滤推荐52.5协同过滤各种算法比较73相似度的计算73.1皮尔逊相关系数(PearsonCorrelationCoefficient)73.2欧
2、几里德距离(EuclideanDistance)83.3Cosine相似度(CosineSimilarity)83.4修正的余弦相似性93.5Spearman秩相关系数--SpearmanCorrelation93.6Tanimoto系数(TanimotoCoefficient)103.7对数似然相似度103.8曼哈顿距离104降维算法分析114.1主成分分析114.2奇异值分解115关联规则挖掘算法分析135.1概要135.2并行FPGrowth算法(ParallelFPGrowthAlgorithm)136聚类算法分析146.1概要146.2各种聚类算法14第22页
3、用户书册6.2.1K均值(K-means)146.2.2模糊K均值(FuzzyK-means)146.2.3Canopy聚类(CanopyClustering)156.2.4均值漂移聚类(MeanShiftClustering)156.2.5EM聚类(ExpectationMaximization)166.2.6狄利克雷聚类算法177分类算法分析177.1概要177.2各种分类算法177.2.1逻辑回归算法177.2.2贝叶斯算法187.2.3SVM(支持向量机)197.2.4神经网络207.2.5HMM(隐马尔科夫模型)217.2.6决策树21第22页用户书册1简介1
4、.1编写目的通过对ApacheMahout开源框架和推荐系统相关技术的学习,归纳出推荐系统领域目前的主要相关算法以及这些算法的应用场景及优缺点,为后续“金融产品推荐”产品提供理论支持和技术储备。1.2背景1.2.1任务的提出。。。。。。。。1.2.2使用者金融产品推荐项目组开发者。1.3参考资料参考资料主要来源于互联网和相关算法的论文。第22页用户书册1协同过滤机制分析1.1基于协同过滤的推荐机制基本原理协同过滤是利用集体智慧的一个典型方法。协同过滤的核心思想是我们一般更倾向于从口味比较类似的朋友那里得到推荐。协同过滤一般是在海量的用户中发掘出一小部分和你品位比较类似的
5、,在协同过滤中,这些用户成为邻居,然后根据他们喜欢的其他东西组织成一个排序的目录作为推荐给你。要实现协同过滤,需要以下几个步骤:l收集用户偏好l找到相似的用户或物品(计算相似度)l计算推荐列表下面介绍mahout实现的的三种协同过滤推荐机制。1.2基于用户的协同过滤推荐1.基本原理说明基于用户的协同过滤推荐的基本原理是,根据所有用户对物品或者信息的偏好,发现与当前用户口味和偏好相似的“邻居”用户群,在一般的应用中是采用计算“K-邻居”的算法;然后,基于这K个邻居的历史偏好信息,为当前用户进行推荐。下图给出了原理图。基于用户的协同过滤推荐机制的基本原理上图示意出基于用户的
6、协同过滤推荐机制的基本原理,假设用户A喜欢物品A,物品C,用户B喜欢物品B,用户C喜欢物品A,物品C和物品D;从这些用户的历史喜好信息中,我们可以发现用户A和用户C的口味和偏好是比较类似的,同时用户C还喜欢物品D,那么我们可以推断用户A可能也喜欢物品D,因此可以将物品D推荐给用户A。第22页用户书册基于用户的协同过滤推荐机制和基于人口统计学的推荐机制都是计算用户的相似度,并基于“邻居”用户群计算推荐,但它们所不同的是如何计算用户的相似度,基于人口统计学的机制只考虑用户本身的特征,而基于用户的协同过滤机制可是在用户的历史偏好的数据上计算用户的相似度,它的基本假设是,喜欢类
7、似物品的用户可能有相同或者相似的口味和偏好。1.基于mahout实现基于用户的协同过滤推荐给出示例代码如下:DataModelmodel=newFileDataModel(newFile("preferences.dat"));UserSimilaritysimilarity=newPearsonCorrelationSimilarity(model);UserNeighborhoodneighborhood=newNearestNUserNeighborhood(100,similarity,model);Recommenderreco
此文档下载收益归作者所有