WEB开发网
开发学院软件开发Java Apache Mahout 简介:通过可伸缩、商业友好的机器... 阅读

Apache Mahout 简介:通过可伸缩、商业友好的机器学习来构建智能应用程序

 2009-10-15 00:00:00 来源:WEB开发网   
核心提示: CF 应用程序根据用户和项目历史向系统的当前用户提供推荐,生成推荐的 4 种典型方法如下:基于用户:通过查找相似的用户来推荐项目,Apache Mahout 简介:通过可伸缩、商业友好的机器学习来构建智能应用程序(3),由于用户的动态特性,这通常难以定量,流行的方法包括 k-Means 和分层集

CF 应用程序根据用户和项目历史向系统的当前用户提供推荐。生成推荐的 4 种典型方法如下:

基于用户:通过查找相似的用户来推荐项目。由于用户的动态特性,这通常难以定量。

基于项目:计算项目之间的相似度并做出推荐。项目通常不会过多更改,因此这通常可以离线完成。

Slope-One:非常快速简单的基于项目的推荐方法,需要使用用户的评分信息(而不仅仅是布尔型的首选项)。

基于模型:通过开发一个用户及评分模型来提供推荐。

所有 CF 方法最终都需要计算用户及其评分项目之间的相似度。可以通过许多方法来计算相似度,并且大多数 CF 系统都允许您插入不同的指标,以便确定最佳结果。

集群

对于大型数据集来说,无论它们是文本还是数值,一般都可以将类似的项目自动组织,或集群,到一起。举例来说,对于全美国某天内的所有的报纸新闻,您可能希望将所有主题相同的文章自动归类到一起;然后,可以选择专注于特定的集群和主题,而不需要阅读大量无关内容。另一个例子是:某台机器上的传感器会持续输出内容,您可能希望对输出进行分类,以便于分辨正常和有问题的操作,因为普通操作和异常操作会归类到不同的集群中。

与 CF 类似,集群计算集合中各项目之间的相似度,但它的任务只是对相似的项目进行分组。在许多集群实现中,集合中的项目都是作为矢量表示在 n 维度空间中的。通过矢量,开发人员可以使用各种指标(比如说曼哈顿距离、欧氏距离或余弦相似性)来计算两个项目之间的距离。然后,通过将距离相近的项目归类到一起,可以计算出实际集群。

可以通过许多方法来计算集群,每种方法都有自己的利弊。一些方法从较小的集群逐渐构建成较大的集群,还有一些方法将单个大集群分解为越来越小的集群。在发展成平凡集群表示之前(所有项目都在一个集群中,或者所有项目都在各自的集群中),这两种方法都会通过特定的标准退出处理。流行的方法包括 k-Means 和分层集群。如下所示,Mahout 也随带了一些不同的集群方法。

上一页  1 2 3 4 5 6 7 8  下一页

Tags:Apache Mahout 简介

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接