Spark 机器学习《一》

1.机器学习
(1)介绍
机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中  改善具体算法的性能。 
机器学习是对能通过经验自动改进的计算机算法的研究。
机器学习是用数据或以往的经验,以此优化计算机程序的性能标准。
A computer program is said to learn from experience E with respect to some class of tasks
T and performance measure P, if its performance at tasks in T, as measured by P, improves
with experience E.
Spark 机器学习《一》_第1张图片

(2)机器学习应用十分广泛
– 数据挖掘
– 计算机视觉
– 自然语言处理
– 生物特征识别
– 搜索引擎
– 医学诊断
– 检测信用卡欺诈
– 证券市场分析
–  DNA 序列测序 
– 语音和手写识别
– 战略游戏和机器人运用

Spark 机器学习《一》_第2张图片
(层次聚类鸟类进化分类)

(3)机器学习分类
监督学习从给定的训练数据集中学习出一个函数(模型),当新的数据到来时,可以根据这个函  数(模型)预测结果。监督学习的训练集要求是包括输入和输出,也可以说是特征和目标。训练  集中的目标是由人标注(标量 ) 的。常见的监督学习算法包括回归分析和统计分类。 
– 二元分类是 ML 要解决的基本问题,将测试数据分成两个类。如圾邮件的判别、房贷是否允许等等问题的判断。
– 多元分类是二元分类的逻辑延伸。例如,在因特网的流分类的情况下,根据问题的网页可以  被归类为体育,新闻,技术,或成人 / 色情,依此类推。 
无监督学习与监督学习相比,训练集没有人为标注的结果。常见的无监督学习算法有聚类。
半监督学习介于监督学习与无监督学习之间。
增强学习通过观察来学习做成如何的动作。每个动作都会对环境有所影响,学习对象根据观察到  的周围环境的反馈来做出判断。

(4)机器学习常用算法
Spark 机器学习《一》_第3张图片
2.MLlib
(1)介绍
Spark 机器学习《一》_第4张图片
MLbase有三大组件 ML Optimizer,MLI,ML ib.但是目前   ML Optimizer,MLI还不够完善,没有得到很好发布。

(2)MLlib特点
1)性能
Spark 机器学习《一》_第5张图片
上图是在逻辑回归上与hadoop性能的比较(差不多一百多倍)

2)集成
可以与Spark其他组件进行集成
Spark 机器学习《一》_第6张图片
3)易用
第一步:读数据,进行向量化或者矩阵化
第二步:设置参数
第三步:进行模型训练
第四步:对数据进行预测
第五步:进行评估
Spark 机器学习《一》_第7张图片
3.MLlib 构成
主要有三部分组成:
第一部分: 实用程序部分 使用算法 )     第二部分: 基础部分 线性代数的运行库 )     第三部分: 算法部分 算法库
Spark 机器学习《一》_第8张图片
(1)实用程序部分
Spark 机器学习《一》_第9张图片

(2)基础部分
Spark 机器学习《一》_第10张图片
1)向量
Spark 机器学习《一》_第11张图片 Spark 机器学习《一》_第12张图片
稀疏向量只列出非0的元素,记录大小,非0元素 索引,值。
由此可以看到稀疏向量不但能够节省空间,还能够提升计算的性能。

2)矩阵
本地矩阵
Spark 机器学习《一》_第13张图片
用法:


分布式矩阵
Spark 机器学习《一》_第14张图片
由此可见每个元素在不同的RDD中。

行矩阵
Spark 机器学习《一》_第15张图片

带有索引的行矩阵
Spark 机器学习《一》_第16张图片

坐标式矩阵
多用于稀疏矩阵性能较高的计算中
Spark 机器学习《一》_第17张图片

(3)算法部分
Spark 机器学习《一》_第18张图片

4.MLlib 运行结构
Spark 机器学习《一》_第19张图片





你可能感兴趣的