计算技术通常用来分析数据,而理解数据则依赖于机器学习。多年来,对于大多数开发者来说,机器学习却是非常遥远、一直是难以企及的。
这可能是现在收益最高,也是最受欢迎的一项技术之一。毫无疑问——作为开发人员,机器学习是一个能够大展身手的舞台。
图1:机器学习的构成
机器学习是简单数据检索与存储的合理扩展。通过开发各种组件,使计算机更加智能学习和发生行为。
机器学习使得挖掘历史数据和预测未来趋势成为可能。你可能还没意识到,但的确已经在使用机器学习,并受益颇多。与机器学习有关的例子很多,如搜索引擎产生结果、在线推荐、广告投放、欺诈检测以及垃圾邮件过滤等。
机器学习依赖数据进行决策。直觉虽然重要,但却也很难超越经验数据。
机器学习的各个方面
一旦你开始深入探索机器学习,你会遇到以下几个问题:
1. 有监督与无监督的学习
2. 分类 3. 马尔科夫模型、贝叶斯网络等Mahout和Hadoop
Apache Mahout项目的目的是建立一个可扩展的机器学习库。
大数据分析与hadoop之间存在一定程度的重叠
Mahout内置聚类、分类以及协同过滤等算法。除此之外还有:
1. 基于矩阵分解的推荐系统
2. K-均值,模糊k-均值聚类算法
3. 隐含狄利克雷分配算法
4. 奇异值分解
5. 逻辑回归分类器
6. (互补)朴素贝叶斯分类器
7. 随机森林分类器
机器学习曾经需要复杂的软件与高端的计算机,以及数据科学家。。而对于现在的机器学习,即预测分析来讲,所需要的是一个全管理的云服务。
通过使用拖拽(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. 工程学从数据科学中受益的行业包括:
- 金融服务业
- 电信业
- 信息技术
- 制造业
- 公共事业
- 公共卫生
- 市场