首页 > 代码库 > Mahout 机器学习的基本原理

Mahout 机器学习的基本原理

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. 市场


本文出自 “李世龙” 博客,谢绝转载!

Mahout 机器学习的基本原理