knn mllib spark_Spark机器学习快速入门

一.机器学习简介

机器学习【Machine Learning ML】是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。机器学习算法是一类从数据中自动分析获得规律,并利用规律对未知数据进行预测的算法。在算法设计方面,机器学习理论关注可以实现的、行之有效的学习算法。

机器学习可以分成下面几种类别。

监督学习:输入数据被称为训练数据,它们有已知的标签或者结果,比如垃圾邮件/非垃圾邮件或者某段时间的股票价格。当预测不符时,则需要进行修正。常见的监督学习算法包括回归分析和统计分类。无监督学习:输入数据不带标签或者没有一个已知的结果。通过推测输入数据中存在的结构来建立模型。常见的无监督学习算法有聚类。半监督学习:输入数据由带标签的数据和不带标签的数据组成。合适的预测模型虽然已经存在,但是模型在预测的同时还必须通过发现潜在的结构来组织数据。这类问题包括分类和回归。强化学习:输入数据作为来自环境的激励提供给模型,且模型必须做出反应。反馈并不像监督学习那样来自训练的过程,而是作为环境的奖励或者惩罚。例如,系统和机器人控制。算法的例子包括Q学习和时序差分学习。当处理大量数据来对商业决策建模时,通常会使用监督和无监督学习。目前的一个热门话题是半监督学习,比如会应用在图像分类中,涉及的数据集很大但是只包含极少数标签的数据。

常见的机器学习算法如下:

分类和回归——线性回归、逻辑回归、贝叶斯分类、决策树等。聚类算法——KMeans聚类、LDA主题、KNN等。关联规则——Apriori、FPGrowth等。推荐算法——协同过滤、ALS等。神经网络——BP、RBF、SVM等。深度神经网络等。二.Spark简介

Spark是一个基于内存计算的开源集群计算引擎,是由加州大学伯克利分校AMP实验室使用Scala语言开发的,目前已是Apache的顶级开源项目,是Apache社区最火热的项目之一。Spark提供了一个更快、更通用的数据处理平台,和Hadoop相比,Spark可以让你的程序在内存中运行时速度提升100倍,或者在磁盘上运行时速度提升10倍。

Spark是基于MapReduce算法实现的分布式计算引擎,拥有Hadoop MapReduce所具有的优点:但不同于MapReduce的是中间过程的输出和结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适应于数据挖掘与机器学习等需要迭代计算的MapReduce算法。

Spark核心由一组功能强大,高级别的库组成,这些库可以无缝地应用到同一个应用程序中。目前这些库包括SparkSQL、Spark Streaming、MLlib以及GraphX。如下:

Spark Core是一个基本引擎,用于大规模并行和分布式数据处理。Spark引入了弹性分布式数据集【RDD Resilient Distributed Dataset】。RDD是一个不可变的、容错的、分布式对象集合,我们可以并行地操作这个集合,并且RDD提供了丰富的数据操作接口。SparkSQL是Spark的一个组件,它支持我们通过SQL或者Hive查询语言来查询数据。Spark Streaming支持对流数据的实时处理【微批处理】,例如产品环境Web服务器的日志文件,Spark Streaming会接收日志数据,然后将其分为不同的批次,接下来Spark引擎来处理这些批次的数据,并根据批次中的结果,生成最终的流。MLlib是一个机器学习库,它提供了各种各样的算法,这些算法用来在集群上针对分类、回归、聚类、协调过滤等。GraphX是一个图计算库,用来处理图,执行基于图的并行操作。

如下图:

Spark四大组成部件

三.Spark MLlib简介

MLlib是Spark中可扩展的机器学习库,它由一系列机器学习算法和实用程序组成,包括分类、回归、聚类、协同过滤、降维,还包括一些底层的优化方法。

依赖:MLlib的底层采用数值计算库Breeze和基础线性代数库BLAS。

BLAS基础线性函数库

优化计算:MLlib目前支持随机梯度下降法、少内存拟牛顿法、最小二乘法等。分类:MLlib目前支持贝叶斯分类、决策树分类、线性SVM分类和逻辑回归分类、同时也包括与之相关的L1和L2正则化的变体。MLlib中分类算法的优化计算方法采用随机梯度下降法。

分类算法

备注:聚类属于分类算法的一种,只是实现思路与普通的分类算法有所不同!

回归:MLlib目前支持线性回归、逻辑回归、岭回归、保序回归和与之相关的L1和L2正则化的变体。MLlib中回归算法的优化计算方法采用随机梯度下降法。

回归算法

聚类:MLlib目前支持KMeans聚类算法、LDA主题模型算法。推荐:MLlib目前支持ALS推荐,采用交替最小二乘法求解的协调推荐算法。

推荐算法

关联规则:MLlib目前支持FPGrowth关联规则挖掘算法。

关联规则

了解了这些之后,相信大家对机器学习以及Spark内部的机器学习模块基本都有那些内容有了一定的了解,后续会给大家带来编码实战!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值