Mahout 简明教程

Mahout - Machine Learning

Apache Mahout 是一个高度可扩展的机器学习库,使开发人员能够使用经过优化的算法。Mahout 实现了流行的机器学习技术,例如推荐、分类和聚类。因此,在继续深入之前,有必要简要了解一下机器学习。

What is Machine Learning?

机器学习是计算机科学的一个分支,它通过编程系统的方式使其能够通过经验自动学习和改进。这里的学习是指识别和理解输入数据,并根据所提供的数据做出明智的决策。

根据所有可能的输入迎合所有决策非常困难。为了解决这个问题,开发了算法。这些算法根据特定的数据和过去经验以及统计学、概率论、逻辑学、组合优化、搜索、强化学习和控制论的原则来构建知识。

已开发的算法形成各种应用的基础,如:

  1. Vision processing

  2. Language processing

  3. 预测(例如股票市场趋势)

  4. Pattern recognition

  5. Games

  6. Data mining

  7. Expert systems

  8. Robotics

机器学习是一个广阔的领域,涵盖其所有功能超出了本教程的范围。有多种方法可用于实现机器学习技术,但最常用的方法是 supervisedunsupervised learning

Supervised Learning

监督学习涉及从可用的训练数据中学习函数。监督学习算法分析训练数据并生成一个推断函数,该函数可用于映射新示例。监督学习的常见示例包括:

  1. classifying e-mails as spam,

  2. 根据其内容对网页进行标记,以及

  3. voice recognition.

有许多监督学习算法,例神经网络、支持向量机 (SVM) 和朴素贝叶斯分类器。Mahout 实现了朴素贝叶斯分类器。

Unsupervised Learning

无监督学习可以理解未标记数据,而无需任何预定义的数据集进行训练。无监督学习是一种非常强大的工具,可用于分析可用数据并查找模式和趋势。它最常用于将相似的输入聚类到逻辑组中。无监督学习的常见方法包括:

  1. k-means

  2. self-organizing maps, and

  3. hierarchical clustering

Recommendation

推荐是一种流行的技术,它根据用户的购买记录、点击和评级等信息提供密切的建议。

  1. 亚马逊使用此技术来显示您可能感兴趣的推荐项目列表,该列表借鉴您过去的操作信息。亚马逊背后有一些推荐引擎,可以捕捉用户的行为,并根据您的早期操作推荐所选项目。

  2. Facebook 使用推荐技术来识别并推荐“您可能认识的人列表”。

recommendation

Classification

分类也称为 categorization ,是一种机器学习技术,该技术使用已知数据确定如何将新数据分类到一组现有类别中。分类是一种监督学习形式。

  1. 雅虎!和 Gmail 等邮件服务提供商使用此技术来决定是否将新邮件归类为垃圾邮件。分类算法通过分析用户将某些邮件标记为垃圾邮件的习惯来自我训练。基于此,分类器决定是否将将来的邮件发送到您的收件箱或垃圾邮件文件夹。

  2. iTunes 应用程序使用分类来创建播放列表。

classification

Clustering

聚类用于根据共同特征形成相似数据的组或群集。聚类是一种无监督学习形式。

  1. 谷歌和雅虎!等搜索引擎使用聚类技术对具有相似特征的数据进行分组。

  2. 新闻组使用聚类技术根据相关主题对各种文章进行分组。

聚类引擎会完全遍历输入数据,并根据数据的特征决定将其归入哪个群集中。请看以下示例。

clustering

我们的教程库中包含各种主题。我们收到 TutorialsPoint 中的新教程时,它将由聚类引擎进行处理,基于其内容决定将其分组到何处。