因为某种原因你从书架上取到这本书。也许你是在知道的其他书本,看到了这本书, 并觉的它有用。或者觉得书店把它放在这个位置,是因为喜欢这些书的人也喜欢这本书。也或许你在一个同事的书架上看到这本书,这位同事与你一样对机器学习很有兴趣。也有可能他可能直接推荐你看这本书。
在这一章,我们将会深入研究人们产生推荐,发现新事物的一些方法。当然还有这些进程,在软件中如何利用mahout实施.我们已经设计了一些方法:发现我们可能喜欢的项目,从而可以留心相似品味的人,看看他们喜欢的东西。换句话说,我们可以算出什么样的项目,会像我们以前喜欢的项目。另外我们可以通过留心观察其他人的选择。这些描述了推荐引擎算法的两个主要类别:“基于用户(user-based)” 和 “基于项目(item-based)”推荐器。
2.1.1基于内容(content-based)的协同过滤推荐算法
严格的说,这里有协同过滤(CF)的例子。根据也只能根据,用户与项目的关系的知识,从而产生推荐器。这些技术并不需要识别项目本身的属性。这在某种程度上这是一个优势。推荐器框架根本不关心,这个项目是否是书本、主题公园、花、或者是其他的人,因为它们的属性中没有任何一个会被当作输入的。
这里有根据项目属性而成立的其他方法,通常被认为是“基于内容(content-based)”推荐算法。例如,如果有一个朋友把这本书推荐给你,是因为这是一本Manning出版书,这位朋友喜欢其他的Manning出版的书,那么这位朋友正在从事的事情,大概就是“content-based”推荐器算法。这个算法是依据这本书的一个属性:出版商。Mahout推荐框架不直接实施这种算法,虽然它提供了一些方法,把项目属性信息加入它的计算。同样的,它可能在技术上被认为是一个协同筛选框架。
这些算法没有问题;相反的是,它们同样可以表现的相当好。但是它们必要是特定领域的方法,试图编纂进一个框架将是相当困难的。建立一个有效的content-based书本推荐算法,人们将必须决定一本书中的哪个属性:页数,作者,出版商,颜色,字体,那个是有意义的,并达到那种程度。这种知识中没有一个是可以翻译成另外一个领域的;预定这种方式的推荐器,对选择那个是更好的披萨没有帮助。
也就是因为这个原因,Mahout将不会太多讨论这种形式的推荐器。这些观点被锁定在Mahout提供的事情中,并置入高阁;在本章将会举个例子,我们会为一个日期网站建立一个推荐器。在随后介绍的Mahout为基于协同过滤推荐算法进行的实施后,我们将会更详细的讨论它们与contene—based算法的关系。
2.1.2 主流推荐算法
到目前为止,很多人可能已经了解到,如amazon或netflix这样的网站,在现实中实施的推荐算法:根据浏览和购买历史,网站会生产一个产品列表,它的推荐可能会吸引你。这种类型的推荐引擎自从1900就已开始出现,但直到最近它才进入大量的计算机研究领域,被精心设计和研究。随着这些技术变得越来越主流,对它们的要求也不断增加,提供的开源实现也同样如此。随着日益增加的,可理解的,低层本的运算能力,意味着推荐引擎正变的越来越易理解并广泛使用。
事实上,推荐技术对客户来说不仅仅是像DVD这类推荐的事物。这种方法通常估计大量众多的事物之间的相互关联。一个人可以用相同的技术把DVD推荐给客户,估计那个客户最有可能喜欢某个DVD.在一个社会网络中,一个推荐器可以把人推荐给别外一些人。
分享到:
相关推荐
### Mahout in Action:全面解析 #### 一、概述 《Mahout in Action》是一本由Sean Owen、Robin Anil、Ted Dunning和Ellen Friedman合著的专业书籍,旨在深入介绍Apache Mahout这一强大的机器学习库。该书的网上...
《Mahout in Action》是一本深入探讨Apache Mahout机器学习框架的专业书籍,其源码提供了丰富的实践示例和深入理解Mahout算法的机会。在GitHub上,你可以找到这些源码的完整版本,链接为。下面,我们将详细探讨...
Apache Mahout是一个Apache开源数据挖掘和机器学习项目,它提供了一系列基于...《Mahout in Action》作为一本实践导向的书籍,提供了详尽的理论知识和代码示例,是学习和应用Mahout进行数据挖掘和机器学习的理想选择。
一些支持 Map-Reduce 的集群实现包括 k-Means、模糊 k-Means、Canopy、Dirichlet 和 Mean-Shift。 Distributed Naive Bayes 和 Complementary Naive Bayes 分类实现。
#### 五、编写在Hadoop上的推荐器和分布式算法 针对维基百科的海量数据,Mahout可以部署新的推荐算法并利用分布式计算进行处理。具体而言,可以通过MapReduce模型来并行处理大规模的数据集,从而显著提高处理速度和...
《Mahout in Action》是一本深入探讨Apache Mahout的实战指南,它详尽地介绍了如何在Hadoop平台上实现机器学习算法。这本书的中文高清完整版为中国的读者提供了方便,使得更多的开发者可以理解并掌握这一强大的数据...
《Mahout in Action源代码Maven编译JAR包详解》 Apache Mahout是一个流行的机器学习库,广泛用于数据挖掘和大数据分析。《Mahout in Action》这本书是Mahout技术的权威指南,提供了丰富的示例代码供读者实践。然而...
Mahout In Action 清晰完整版 聚类分析、算法推荐
#### 描述:Mahout in Action 英文完整版(2012),自然语言处理,协同过滤,推荐引擎,聚类,分类 - **自然语言处理**:自然语言处理(Natural Language Processing, NLP)是计算机科学领域与人工智能领域中的一个...
《Mahout in Action》是一本关于Apache Mahout的权威指南,该书详细介绍了如何利用Mahout进行推荐系统、聚类分析以及分类等机器学习任务。此版本为2012年的最新完整版,由Sean Owen、Robin Anil、Ted Dunning和Ellen...
《Mahout in Action》是一本详细介绍Apache Mahout的书籍,中文版提供了全面的翻译,适合对机器学习和大数据处理感兴趣的读者。Mahout是一个Apache基金会的开源项目,专注于机器学习算法,它在Java语言基础上构建,...