1.2 推荐算法MAHOUT
1.2.1 机器学习
机器学习(Machine Learning, ML)是一门复杂的多领域交叉学科,涉及多门学科。计算机模拟人类的认知和学习能力,提升自身的服务水平,通过机器学习实现智能应用商业化,机器学习在人工智能的领域应用十分广泛,它使用的方法是综合归纳而不是演绎推理,是使得机器具有人类智慧的根本途径[ ]。
1.2.2 介绍MAHOUT
Mahout项目 是 Apache Software Foundation旗下的一个开源项目,主要应用于帮助软件开发人员方便快捷地构建智能的应用程序,它拥有很多可扩展的机器学习方面的经典算法的实现,原则上,Mahout在理论上可以实现所有类型的机器学习技术,但实际上当前它仅仅关注机器学习的三个主要领域,即推荐引擎(协同过滤)、聚类和分类[ ]。
协同过滤是电子商务公司极为崇尚的一项技巧,它使用用户对商品的评分、点击、搜索和购买等用户行为信息为其他用户提供推荐商品。协同过滤往往用于推荐给用户各种消费品,比如说书籍、电影和音乐。协同过滤应用程序依据客户和项目历史向正在使用系统的客户提供推荐。产生推荐的3种典型推荐算法:基于用户推荐,通过查找偏好相似的用户来推荐其可能感兴趣的项目,但是因为用户具有动态特性,所以这往往难以定量;基于项目推荐,计算项目之间的相似度而产生推荐,因为项目往往不会过多变更,所以这通常可以离线实现;基于Slope-One推荐,利用用户在电子商务网站上被记录的评分信息实现简单快速的项目推荐方法。所有协同过滤方法最后都需要计算用户以及其评分项目之间的相似度。能够利用许多方法来计算用户和物品间的相似度,而且绝大多数的协同过滤系统都允许用户不断地插入不同的指标,以便系统确定最佳推荐结果。
聚类技术试图将大量的事物组合为有类似属性的族(cluster),借以在一些规模较大或难于理解的数据集上发现层次结构和顺序,以揭示一些有用的模式或让数据集更加容易理解。通常使用聚类技术通过标题把新闻文章进行分组,从而按照逻辑线索来显示新闻,而非给出所有文章的原始列表。聚类技术可以根据如收入,居住地和购买习惯等属性,将消费者分为许多族。聚类可以帮你在一大堆东西中找到脉络,甚至层次关系,否则理解这些数据将非常困难。利用这种技术,企业可以发现用户中潜在的群体,可以合理地组织大量文档,还可以根据日志来发现用户使用网站的常见模式。
分类技术决定了一个事物多大程度上从属于某些类别或类型,或者多大程度上具有或不具有某些属性。与聚类一样,分类也无处不在,但是更多隐身于幕后。通常这些系统会考察类别中的大量实例,来学习推导出分类的规则。垃圾邮件的判别便是分类技术的具体应用之一。分类有助于判断一个新的输入或新的事物是否与以前观察到的模式相匹配,它通常还被用于遴选异常的行为或模式,来检测可疑的网络活动或欺诈行为。它还可用于察觉某个用户的消息是否存在失望或满意情绪。
1.3 本文研究内容及主要贡献
本文通过利用包含来自众多用户在2000年对4000左右部电影和书籍的100万个匿名评分信息的数据集[ ]和Mahout推荐算法,实现了三种不同方式的推荐引擎:基于用户之间相似度的推荐引擎,基于内容之间相似度的推荐引擎,以及基于Slope One 算法的推荐引擎,为不同的用户推荐满足其兴趣口的电影和书籍,实现个性化推荐。第二章介绍推荐系统的需求分析、总体思路、基本原理以及研究或设计采用的开发环境,第三章介绍核心推荐算法,第四章介绍系统功能具体的实现,第五章实现系统的数据准备以及系统运行效果的关键截图及其分析,第751章为总结和展望,即对本课题的研究进行总结,已经解决了什么问题,还有那些方面有待进一步研究或改进。 基于Mahout的推荐系统的设计与实现(3):http://www.751com.cn/jisuanji/lunwen_39450.html