Mahout和Hadoop:机器学习的基本原理

  计算技术通常用来分析数据,而理解数据则依赖于机器学习。多年来,对于大多数开发者来说,机器学习却是非常遥远、一直是难以企及的。

  这可能是现在收益最高,也是最受欢迎的一项技术之一。毫无疑问——作为开发人员,机器学习是一个能够大展身手的舞台。

  图1:机器学习的构成

  机器学习是简单数据检索与存储的合理扩展。通过开发各种组件,使计算机更加智能学习和发生行为。

  机器学习使得挖掘历史数据和预测未来趋势成为可能。你可能还没意识到,但的确已经在使用机器学习,并受益颇多。与机器学习有关的例子很多,如搜索引擎产生结果、在线推荐、广告投放、欺诈检测以及垃圾邮件过滤等。

  机器学习依赖数据进行决策。直觉虽然重要,但却也很难超越经验数据。

  机器学习的各个方面

  一旦你开始深入探索机器学习,你会遇到以下几个问题:

  1. 有监督与无监督的学习

  2. 分类

  3. 马尔科夫模型、贝叶斯网络等

  Mahout和Hadoop

  Apache Mahout项目的目的是建立一个可扩展的机器学习库。

  大数据分析与hadoop之间存在一定程度的重叠

  与Hadoop一起,你可以免费获得整个机器学习开源项目。更多内容参见:

  http://mahout.apache.org/

  Mahout内置聚类、分类以及协同过滤等算法。除此之外还有:

  1. 基于矩阵分解的推荐系统

  2. K-均值,模糊k-均值聚类算法

  3. 隐含狄利克雷分配算法

  4. 奇异值分解

  5. 逻辑回归分类器

  6. (互补)朴素贝叶斯分类器

  7. 随机森林分类器

  我去过加利福尼亚大学伯克利分校,发现他们有很多不错的课程。

  我希望能有更多的时间。我认真考虑过,决定开始参加MIT在线课程,地址如下:

  http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-867-machine-learning-fall-2006/index.htm

  Azure是民主化的机器学习

  机器学习曾经需要复杂的软件与高端的计算机,以及数据科学家。。而对于现在的机器学习,即预测分析来讲,所需要的是一个全管理的云服务。

  欢迎使用ML Studio

  通过使用拖拽(drag-and-drop)与一些数据流图就可以进行一些实验,就如写代码一般利用起高大上的算法。

  数据科学家用R编写代码

  对于统计与数据挖掘的来说,R是一个很受欢迎的开源项目。好消息是R能够很容易的集成到ML Studio中。我有很多朋友在使用机器学习的功能语言,如F#。但是很显然的,R在此领域仍占统治地位。

  数据挖掘的测验与调查显示,近年来R受欢迎的程度逐渐增强。R是由新泽西的Auckland大学的Ross Ihaka 与Robert Gentleman发明的,目前由R核心开发组(R Development Core Team)负责研发,其中Chambers也是开发成员之一。R的命名主要是根据前两个R作者名字的首字母。R是一个GNU项目,主要是用C语言与 Fortran写的。

  数据分析

  以下框架提供了理解机器学习预测的方法。总的来说就是当涉及到如何使用有限的资源,为增加收益或限制成本提供决策支持。包括预测消费模型、优化供应链等。

  如何进行数据分析

  理解机器学习的最好方法就是将分析分解为3个问题:

  1. 发生了什么?

  a) 从历史角度去看

  2. 将发生什么?

  a) 预测未来

  3. 下一步应该怎么做?

  a) 规范与指引

  分析过程中大家扮演什么角色

  1. 信息工作者

  a) 通常使用自助服务工具Power BI:Office 365的Power BI是一种自我服务的事务智能解决途径,能够通过BI Excel 与Office 365给信息工作者提供数据分析与鉴别数据深层事务预测可视化的能力。

  2. IT专家

  a) 涉及数据转换、数据仓库、创建数据分析立方体及数据建模

  3. 数据科学家

  a) 深层次的技术与技能,包括编码、数学、统计以及概率

  b) 能够通过一系列技术将概率用于预测(如未来18小时内价格上涨的概率为42%)

  c) 如蒙特卡罗(Monte Carlo)模拟,模型参数化

  d) 数据科学家应具备的素质

  i. 领域知识

  ii. 对于科学方法的清晰理解:目标、假设、验证、透明度

  iii. 擅长数学与统计学

  iv. 求知欲与极强的思考能力

  v. 图形化描述与沟通能力

  vi. 高级计算与数据管理能力

  学术背景

  如果你想进入学校,通过学习成为一个数据科学家,可选择的课程如下:

  1. 应用数学

  2. 计算机科学

  3. 经济学

  4. 统计学

  5. 工程学

  从数据科学中受益的行业包括:

  1. 金融服务业

  2. 电信业

  3. 信息技术

  4. 制造业

  5. 公共事业

  6. 公共卫生

  7. 市场

【TechTarget中国原创内容,版权所有,经授权中国大数据发布,谢绝转载。否则TechTarget中国将保留追究其法律责任的权利。】

时间: 2024-09-27 19:19:17

Mahout和Hadoop:机器学习的基本原理的相关文章

Mahout驾驭hadoop之详解

众所周知,Mahout是基于Hadoop分布式系统的,要想看懂Mahout的源码,首先得明白mahout是如何使用hadoop的! 首先,在我的<<Hadoop运行原理详解>>一篇中,详细介绍了hadoop的运行机制,这里就不多说了!下面我就以Kmeans聚类算法为例,讲讲mahout如何利用hadoop实现数据挖掘算法并行化.如以下类图所示, 该图描述了整个mahout实现Kmeans算法的架构图,首先KmeansCluster继承Cluster,在KmeansCluster中有

通过简单的线性回归理解机器学习的基本原理

在本文中,我将使用一个简单的线性回归模型来解释一些机器学习(ML)的基本原理.线性回归虽然不是机器学习中最强大的模型,但由于容易熟悉并且可解释性好,所以仍然被广泛使用.简单地说,线性回归用于估计连续或分类数据之间的线性关系. 我将使用X和y来表示变量.如果你喜欢更具体的东西,可以想象y是销售额,X是广告支出,我们想估计广告花费如何影响销售额.我将展示一个线性回归如何学习绘制最适合通过这些数据的线: 机器学到了什么? 机器学习最基础的问题是:"机器(即统计模型)实际上学到了什么?" 这取

(deprecated) 百度开放研究社区-hadoop云平台-mahout兴趣小组

百度开放研究云平台 百度开放研究云平台由百度开放研究计划支持而建设的.当前已建成基于开源Hadoop 1.0.0而构建的开放数据分析平台,将逐步投入数百台服务器来支持海量数据分析.同时也将不断在平台上放置来自百度产品和系统的数据供学术研究使用.来自学术界的使用者可以在该平台上开展数据分析的研究. 百度开放研究云平台是面向学术界免费使用的.有意使用者可以向campuscloud@baidu.com发信了解更多信息. 为了使用户在开放研究云平台上有与通过命令行使用Hadoop一致的体验,也为了提高在

对Python、机器学习和NLTK库的探索

挑战:使用机器学习对 RSS 提要进行分类 最近,我接到一项任务,要求为客户创建一个 RSS 提要分类子系统. 目标是读取几十个甚至几百个 RSS 提要,将它们的许多文章自动分类到几十个预定义的主题领域当中.客户网站的内容. 导航和搜索功能都将由这个每日自动提要检索和分类结果驱动. 客户建议使用机器学习,或许还会使用 Apache Mahout 和 Hadoop 来实现该任务,因为客户最近阅读了有关这些技术的文章.但是,客户的开发团队和我们的开发团队都 更熟悉 Ruby,而不是 Java 技术.

Mahout学习之Mahout简介、安装、配置、入门程序测试

原文地址:http://blog.csdn.net/aaronhadoop/article/details/24577221 一.Mahout简介 查了Mahout的中文意思--驭象的人,再看看Mahout的logo,好吧,想和小黄象happy地玩耍,得顺便陪陪这位驭象人耍耍了... 附logo: (就是他,骑在象头上的那个Mahout)  步入正文啦:        Mahout 是一个很强大的数据挖掘工具,是一个分布式机器学习算法的集合,包括:被称为Taste的分布式协同过滤的实现.分类.聚

探索 Python、机器学习和 NLTK 库

简介: 机器学习取决于 IT.数学和自然语言的交集,在大数据应用程序中会通常用到机器学习.本文将讨论 Python 编程语言和它的 NLTK 库,然后将它们应用于一个机器学习项目. 挑战:使用机器学习对 RSS 提要进行分类 最近,我接到一项任务,要求为客户创建一个 RSS 提要分类子系统.目标是读取几十个甚至几百个 RSS 提要,将它们的许多文章自动分类到几十个预定义的主题领域当中.客户网站的内容.导航和搜索功能都将由这个每日自动提要检索和分类结果驱动. 客户建议使用机器学习,或许还会使用 A

推荐!国外程序员整理的机器学习资源大全

C++ 计算机视觉 CCV-基于C语言/提供缓存/核心的机器视觉库,新颖的机器视觉库 OpenCV-它提供C++, C, Python, Java 以及 MATLAB接口,并支持Windows, Linux, Android and Mac OS操作系统. 通用机器学习 MLPack DLib ecogg shark Closure 通用机器学习 Closure Toolbox-Clojure语言库与工具的分类目录 Go 自然语言处理 go-porterstemmer-一个Porter词干提取算

史上最全的机器学习资料(上)

机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论.统计学.逼近论.凸分析.算法复杂度理论等多门学科.专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能.机器学习牵涉的编程语言十分之广,包括了MATLAB.Julia.R.Perl.Python.Clojure.Ruby等等. 为了让开发者更加广泛.深入地了解机器学习,组织翻译了GitHub Awesome Machine Learning 资源,涵盖2

一文看懂大数据的技术生态圈,Hadoop,hive,spark都有了

大数据本身是个很宽泛的概念,Hadoop生态圈(或者泛生态圈)基本上都是为了处理超过单机尺度的数据处理而诞生的.你可以把它比作一个厨房所以需要的各种工具.锅碗瓢盆,各有各的用处,互相之间又有重合.你可以用汤锅直接当碗吃饭喝汤,你可以用小刀或者刨子去皮.但是每个工具有自己的特性,虽然奇怪的组合也能工作,但是未必是最佳选择. 大数据,首先你要能存的下大数据. 传统的文件系统是单机的,不能横跨不同的机器.HDFS(Hadoop Distributed FileSystem)的设计本质上是为了大量的数据