Presentation is loading. Please wait.

Presentation is loading. Please wait.

全国高校标准教材《云计算》姊妹篇,剖析大数据核心技术和实战应用

Similar presentations


Presentation on theme: "全国高校标准教材《云计算》姊妹篇,剖析大数据核心技术和实战应用"— Presentation transcript:

1 全国高校标准教材《云计算》姊妹篇,剖析大数据核心技术和实战应用
BIG DATA 刘鹏  主编    张燕 张重生 张志立  副主编

2 刘 鹏 教授,清华大学博士。现任南京大数据研究院院长、中国信息协会大数据分会副会长、中国大数据技术与应用联盟副理事长。
主持完成科研项目25项,发表论文80余篇,出版专业书籍15本。获部级科技进步二等奖4项、三等奖4项。主编的《云计算》被全国高校普遍采用,被引用量排名中国计算机图书第一名。创办了知名的中国云计算(chinacloud.cn)和中国大数据(thebigdata.cn)网站。 曾率队夺得2002 PennySort国际计算机排序比赛冠军,两次夺得全国高校科技比赛最高奖,并三次夺得清华大学科技比赛最高奖。 荣获“全军十大学习成才标兵”(排名第一)、南京“十大杰出青年”、江苏省中青年科学技术带头人、清华大学“学术新秀”等称号。

3 第四章 大数据挖掘工具 4.1 Mahout 4.2 Spark MLlib 4.3 其他数据挖掘工具 习题
全国高校标准教材《云计算》姊妹篇,剖析大数据核心技术和实战应用 第四章 大数据挖掘工具 4.1 Mahout 4.2 Spark MLlib 4.3 其他数据挖掘工具 习题 3 of 44

4 Mahout 简介 4.1 Mahout 定义:Apache Mahout 是一个由Java语言实现的开源的可扩展的机器学习算法库 发展历史
《大数据》配套PPT课件 Mahout 简介 定义:Apache Mahout 是一个由Java语言实现的开源的可扩展的机器学习算法库 发展历史 2008年之前 Apache Lucene开源搜索引擎的子项目 实现Lucene框架中的聚类以及分类算法 吸纳协调过滤项目Taste成为独立子项目 2010年以后 成为Apache顶级项目 实现聚类、分类和协同过滤等机器学习算法 既可以单机运行也可在Hadoop平台上运行 驱象人 目标:机器学习平台,提供类似R的DSL以支持线性代数运算(如分布式向量计算)、大数据统计等基本功能 4 of 44

5 4.1 Mahout Mahout在各平台支持的机器学习算法 《大数据》配套PPT课件 5 of 44 算法 单机 MapReduce
Spark H2O 聚类算法 Canopy deprecated k-means x 模糊k-means 流k-means 谱聚类 分类算法 逻辑回归 朴素贝叶斯 随机森林 隐马尔可夫模型 多层感知器 协同过滤算法 基于用户的协同过滤 基于物品的协同过滤 基于ALS的矩阵分解 基于ALS的矩阵分解(隐式 反馈) 加权矩阵分解 降维算法 奇异值分解 Lanczos 随机SVD PCA QR分解 5 of 44

6 4.1 Mahout 1.下载Mahout安装包 2. 解压并安装Mahout 3. 启动并验证Mahout 4.1.1 Mahout 安装
《大数据》配套PPT课件 4.1.1 Mahout 安装 安装环境:Linux操作系统(CentOS 6.5 )、 Hadoop平台(Hadoop 2.5.1) 1.下载Mahout安装包 镜像网站 2. 解压并安装Mahout 3. 启动并验证Mahout 6 of 44

7 4.1 Mahout 本节重点 K-means聚类算法 4.1.2 聚类算法 无监督学习算法 同一个簇中对象具有高相似度
《大数据》配套PPT课件 4.1.2 聚类算法 无监督学习算法 同一个簇中对象具有高相似度 Canopy、k-means、模糊k-means、流k-means和谱聚类等都是聚类算法 本节重点 K-means聚类算法 基于Mahout命令运行k-means算法 基于MahoutAPI运行k-means算法 基于多维输入数据运行k-means算法 7 of 44

8 4.1 Mahout 基于Mahout命令运行k-means算法 1 10 1 11 2 10 2 11 10 1 10 2 12个二维数据
《大数据》配套PPT课件 基于Mahout命令运行k-means算法 1 10 1 11 2 10 2 11 10 1 10 2 12个二维数据 聚类中心坐标 3次迭代 (1.5,10.5) (10.5, 1.5 ) (10.5,10.5 ) 运行聚类算法 以上述3个坐标为中心,半径为(0.5,0.5),生成3个聚类,每个聚类4个成员 8 of 44

9 4.1 Mahout 基于Mahout API运行k-means算法 给出初始聚类中心 1 10 10 1 10 10
《大数据》配套PPT课件 基于Mahout API运行k-means算法 给出初始聚类中心 1 10 10 1 10 10 调用Mahout API运行k-means聚类算法,指定Hadoop配置信息、输入数据、初始聚类中心,迭代2次得到聚类结果 9 of 44

10 4.1 Mahout 基于多维输入数据运行k-means算法 60维数据样本 600条60维趋势数据(600行60列)
《大数据》配套PPT课件 基于多维输入数据运行k-means算法 60维数据样本 600条60维趋势数据(600行60列) 表达了正常、循环、渐增、渐减、向上偏移和向下偏移6类趋势 每类100条 每类取一条做初始聚类中心 运行KmeansDemo类 将计算出的聚类中心数据导入到Excel文件 6个聚类中心所代表的趋势曲线 10 of 44

11 4.1 Mahout 4.1.3 分类算法 有监督学习算法 考察已被分类的样本数据,学习训练分类规则 进行输入数据的类别判定 垃圾邮件检测
《大数据》配套PPT课件 4.1.3 分类算法 有监督学习算法 考察已被分类的样本数据,学习训练分类规则 进行输入数据的类别判定 垃圾邮件 广告点击 金融诈骗 用电异常 分类预测 垃圾邮件检测 11 of 44

12 4.1 Mahout 《大数据》配套PPT课件 逻辑回归算法 Mahout下基于随机梯度下降(SGD)实现的逻辑回归(Logistic Regression)算法是一种二元分类算法,只能在单机上运行,适合分类算法的入门学习。 可视化表达 样本数据 分类模型 正确分类 训练学习 模型评估 12 of 44

13 4.1 Mahout 朴素贝叶斯算法 新闻网页数据 数据清洗 训练分类模型 新闻类别判定 共53条测试数据 正确分类51条 未正确分类2条
《大数据》配套PPT课件 朴素贝叶斯算法 新闻网页数据 数据清洗 训练分类模型 新闻类别判定 共53条测试数据 正确分类51条 未正确分类2条 13 of 44

14 4.1 Mahout 协同 过滤 算法 4.1.4 协同过滤算法 通过收集大量用户(协同)的喜好信息,以自动预测(过滤)用户感兴趣的商品
《大数据》配套PPT课件 4.1.4 协同过滤算法 通过收集大量用户(协同)的喜好信息,以自动预测(过滤)用户感兴趣的商品 基于物品的协同过滤算法 计算物品相似性矩阵 协同 过滤 算法 基于ALS的矩阵分解算法 通过矩阵分解进行预测 14 of 44

15 4.1 Mahout 空白处未评分 物品相似度 预测评分 基于物品的协同过滤算法 《大数据》配套PPT课件 用户评分矩阵 物品相似性矩阵
物品1 物品2 物品3 物品4 用户1 5 2 用户2 3 用户3 用户4 空白处未评分 物品相似度 预测评分 用户评分矩阵 物品1 物品2 物品3 物品4 0.25 0.66 0.5 0.33 物品相似性矩阵 物品1 物品2 物品3 物品4 用户1 5 2 4.25 用户2 3.3 3 用户3 3.67 4.14 用户4 4.0 3.55 用户评分矩阵(补入预测评分) 15 of 44

16 4.1 Mahout 基于物品的协同过滤算法实现代码 《大数据》配套PPT课件 16 of 44
public class ItemCFDemo extends Configured implements Tool{   public static void main(String[] args) throws Exception{ ToolRunner.run(new Configuration(), new ItemCFDemo(), args); }   @Override public int run(String[] args) throws Exception { Configuration conf = getConf(); try { FileSystem fs = FileSystem.get(conf); String dir="/itemcfdemo"; if (!fs.exists(new Path(dir))) { System.err.println("Please make director /itemcfdemo"); return 2; String input=dir+"/input"; if (!fs.exists(new Path(input))) { System.err.println("Please make director /itemcfdemo/input"); String output=dir+"/output"; Path p = new Path(output); if (fs.exists(p)) { fs.delete(p, true); String temp=dir+"/temp"; Path p2 = new Path(temp); if (fs.exists(p2)) { fs.delete(p2, true); } RecommenderJob recommenderJob = new RecommenderJob(); recommenderJob.setConf(conf); recommenderJob.run(new String[]{"--input",input, "--output",output, "--tempDir",temp, "--similarityClassname", TanimotoCoefficientSimilarity.class.getName(), "--numRecommendations", "4"}); } catch (Exception e) { e.printStackTrace(); return 0; 16 of 44

17 4.1 Mahout 基于ALS的矩阵分解算法 A=U×MT 用户评分矩阵A 用户评分矩阵U 用户评分矩阵M 预测评分矩阵A_k
《大数据》配套PPT课件 基于ALS的矩阵分解算法 特征维度1 特征维度2 特征维度3 用户1 1.12 1.49 0.48 用户2 1.31 -0.52 0.59 用户3 1.13 0.67 用户4 1.39 0.05 0.45 用户评分矩阵A A=U×MT 用户特征矩阵U 特征维度1 特征维度2 特征维度3 物品1 1.81 1.62 0.74 物品2 2.66 1.71 -1.08 物品3 1.73 -0.23 0.78 物品4 3.16 -0.24 0.90 用户评分矩阵U 用户评分矩阵M 物品特征矩阵M 物品1 物品2 物品3 物品4 用户1 4.796 5.009 1.969 3.614 用户2 1.965 1.958 2.846 4.795 用户3 2.746 4.713 1.395 2.942 用户4 2.930 3.297 2.744 4.785 预测评分矩阵A_k 预测评分矩阵A_k 17 of 44

18 第四章 大数据挖掘工具 4.1 Mahout 4.2 Spark MLlib 4.3 其他数据挖掘工具 习题
全国高校标准教材《云计算》姊妹篇,剖析大数据核心技术和实战应用 第四章 大数据挖掘工具 4.1 Mahout 4.2 Spark MLlib 4.3 其他数据挖掘工具 习题 18 of 44

19 Spark 4.2 Spark MLlib 运行在Spark平台上专为在集群上并行运行而设计 MLlib
《大数据》配套PPT课件 Spark 运行在Spark平台上专为在集群上并行运行而设计 MLlib 内存中更快地实现多次迭代,适用于大规模数据集 离散型 连续型 有监督的机器学习 分类 逻辑回归 支持向量机(SVM) 朴素贝叶斯 决策树 随机森林 梯度提升决策树 (GBT) 回归 线性回归 保序回归 无监督的机器学习 聚类 k-means 高斯混合 快速迭代聚类(PIC) 隐含狄利克雷分布(LDA) 二分k-means 流k-means 协同过滤、降维 交替最小二乘(ALS) 奇异值分解(SVD) 主成分分析(PCA) MLlib支持的机器学习算法 19 of 44

20 4.2 Spark MLlib 4.2.1 聚类算法 实现代码 输出结果
《大数据》配套PPT课件 4.2.1 聚类算法 实现代码 输出结果 import org.apache.spark.mllib.clustering.{KMeans, KMeansModel} import org.apache.spark.mllib.linalg.Vectors // Load and parse the data val data = sc.textFile("data/mllib/points.txt") val parsedData = data.map(s => Vectors.dense(s.split("\\s+").map(_.toDouble))).cache() // Cluster the data into three classes using KMeans val k = 3 val numIterations = 20 val clusters = KMeans.train(parsedData, k, numIterations) for(c <- clusters.clusterCenters){ println(c) } clusters.predict(Vectors.dense(10,10)) // Evaluate clustering by computing Within Set Sum of Squared Errors val WSSSE = clusters.computeCost(parsedData) println("Within Set Sum of Squared Errors = " + WSSSE) [1.5,10.5] [10.5,1.5] [10.5,10.5] 2 Within Set Sum of Squared Errors = 与Mahout下的k-means聚类应用相比,无论在代码量、易用性及运行方式上,MLlib都具有明显的优势 20 of 44

21 4.2 Spark MLlib 《大数据》配套PPT课件 4.2.2 回归算法 回归算法和分类算法都是有监督的学习,分类算法预测的结果是离散的类别,而回归算法预测的结果是连续的数值 线性回归——最常用的算法之一,使用输入值的线性组合来预测输出值 类LinearRegressionWithSGD——MLlib实现线性回归算法的常用类之一,基于随机梯度下降实现线性回归 输出结果 输入函数 y=0.5*x1+0.2*x2 weights: [ , ], intercept:0.0 training Mean Squared Error = E-20 输入数据 21 of 44

22 4.2 Spark MLlib 4.2.3 分类算法 Vector(0 0 9) 's label is 2.0 Scala代码
《大数据》配套PPT课件 4.2.3 分类算法 0,1 0 0 0,2 0 0 0,3 0 0 0,4 0 0 1,0 1 0 1,0 2 0 1,0 3 0 1,0 4 0 2,0 0 1 2,0 0 2 2,0 0 3 2,0 0 4 Vector(0 0 9) 's label is 2.0 Accuracy: 1.0 输出程序 Scala代码 加载训练数据文件 解析每行数据 训练模型 预测分类 22 of 44

23 4.2 Spark MLlib 4.2.4 协同过滤算法 MLlib中支持的是基于模型的协同过滤,即交替最小二乘(ALS)算法
《大数据》配套PPT课件 4.2.4 协同过滤算法 MLlib中支持的是基于模型的协同过滤,即交替最小二乘(ALS)算法 依旧以4.1.4节中用户物品数据为例: 先加载了训练数据文件,然后解析每行数据,并将其转换为Rating对象 定义特征矩阵的维度rank和算法迭代次数numIterations 调用ALS的类方法train(),根据训练数据ratings学习出评分模型 调用recommendProductsForUsers()向用户推荐指定个数的物品 23 of 44

24 第四章 大数据挖掘工具 4.1 Mahout 4.2 Spark MLlib 4.3 其他数据挖掘工具 习题
全国高校标准教材《云计算》姊妹篇,剖析大数据核心技术和实战应用 第四章 大数据挖掘工具 4.1 Mahout 4.2 Spark MLlib 4.3 其他数据挖掘工具 习题 24 of 44

25 4.3 其他数据挖掘工具 提供标准算法,无法满足个性化需求 Mahout Spark MLlib 提供的并行化机器学习算法数量有限
《大数据》配套PPT课件 提供标准算法,无法满足个性化需求 Mahout Spark MLlib 提供的并行化机器学习算法数量有限 其他数据挖掘工具 SystemML GraphLab WEKA scikit-learn H2O Parameter Server 基于R语言的机器学习库 阿里数据挖掘平台DT PAI 百度大规模机器学习框架ELF与机器学习云平台BML 腾讯大规模主题模型训练系统Peacock与深度学习平台Mariana 25 of 44

26 4.3 其他数据挖掘工具 《大数据》配套PPT课件 SystemML IBM Waston Research Center 和 IBM Almaden Research Center联合研发的大数据机器学习系统 提供大量的监督和非监督的机器学习算法所需要的线性代数原语,统计功能和ML指定结构,可更容易也更原生地表达ML算法 具有较好的可编程性和易用性,用户不需要具备任何分布式系统的概念或编程经验,即可写出可扩展的机器学习算法 26 of 44

27 4.3 其他数据挖掘工具 《大数据》配套PPT课件 GraphLab 卡内基梅隆大学的Select实验室开发的以顶点为计算单元的大规模图处理系统,是一个基于图模型抽象的可扩展的机器学习框架 解决 稀疏数据集 迭代可收敛 异步执行 高效处理大数据图像算法问题或者可归结为图问题的机器学习和数据挖掘问题 优点 提供的接口细节比较复杂,使用难度大 缺点 27 of 44

28 4.3 其他数据挖掘工具 Parameter Server
《大数据》配套PPT课件 Parameter Server 基于模型参数的抽象方法,即把所有机器学习算法抽象为对学习过程中一组模型参数的管理和控制,并提供对大规模场景下大量模型参数的有效管理和访问 适用 机器学习算法研究者、深度优化机器学习算法的数据分析程序员 优点 为大规模机器学习提供了非常灵活的模型参数调优和控制机制 缺点 缺少对大规模机器学习时的数据及编程计算模型的高层抽象 28 of 44

29 … 4.3 其他数据挖掘工具 scikit-learn 分类 回归 聚类 数据 降维 模型 选择 数据预处理 主要模块 支持算法 开发案例
《大数据》配套PPT课件 scikit-learn 基于Python的机器学习库,建立在NumPy、SciPy和matplotlib基础之上,使用BSD开源许可证 分类 回归 聚类 数据 降维 模型 选择 数据预处理 主要模块 SVM K-Means SVR Lasso random forest 支持算法 开发案例 29 of 44

30 4.3 其他数据挖掘工具 分类 归类 聚类 关联 WEKA 现今最完备的数据挖掘工具之一,数据挖掘和机器学习历史上的里程碑
《大数据》配套PPT课件 WEKA 现今最完备的数据挖掘工具之一,数据挖掘和机器学习历史上的里程碑 分类 归类 聚类 关联 WEKA可视化GUI界面 30 of 44

31 R 语言 4.3 其他数据挖掘工具 R中处理大数据 基于R语言的机器学习库 SparkR MapReduce RHadoop RHDFS
《大数据》配套PPT课件 基于R语言的机器学习库 R语言目前在数据分析应用领域最广为使用的数据分析、统计计算及制图的开源软件系统,提供了大量的专业模块和实用工具 R中处理大数据 R 语言 SparkR MapReduce RHadoop RHDFS RHBase 31 of 44

32 4.3 其他数据挖掘工具 《大数据》配套PPT课件 H2O 服务于数据科学家和开发者的开源机器学习和深度学习的平台 32 of 44

33 4.3 其他数据挖掘工具 腾讯大规模主题模型训练系统Peacock与深度学习平台Mariana Peacock Mariana
《大数据》配套PPT课件 腾讯大规模主题模型训练系统Peacock与深度学习平台Mariana Peacock:大规模LDA主题模型训练系统,用于语义理解、兴趣挖掘、用户拓展、QQ群推荐等 Mariana:大规模并行化机器学习处理,用于微信语音和图像识别的深度学习平台 Peacock 大规模样本数据处理 大规模矩阵分解 隐含语义学习 Peacock应用于QQ群推荐 Mariana 多GPU的深度神经网络并行计算系统Mariana DNN CPU集群的深度神经网络并行计算系统Mariana Cluster 多GPU的深度卷积神经网络并行计算系统Mariana CNN Mariana应用于微信语音识别 33 of 44

34 ELF BML 4.3 其他数据挖掘工具 百度大规模机器学习框架ELF与机器学习云平台BML
《大数据》配套PPT课件 百度大规模机器学习框架ELF与机器学习云平台BML ELF:大规模分布式机器学习框架,基于Parameter Server模型的通用化大规模机器学习系统 BML:大规模并行化机器学习处理,用于微信语音和图像识别的深度学习平台 ELF (Essential Learning Framework) 吸收了Hadoop、Spark和MPI等大数据平台的优点,用类似于Spark的全内存DAG计算引擎,可基于数据流的编程模式,通过高度抽象的编程接口,让用户方便地完成各种机器学习算法的并行化设计和快速计算 BML (Baidu Machine Learning) 支持数据预处理算法、分类算法、聚类算法、深度学习等20多种机器学习算法,通过分布和并行化计算实现优异的计算性能,承载百度公司如网页搜索、百度推广(凤巢、网盟CTR预估)、百度地图、百度翻译等业务应用

35 4.3 其他数据挖掘工具 阿里数据挖掘平台DT PAI 图形化编程 数据分析挖掘 用户行为预测 行业走势预测
《大数据》配套PPT课件 阿里数据挖掘平台DT PAI DT PAI基于阿里云大数据处理平台ODPS构建,集成了阿里巴巴核心智能算法库,包括特征工程、数据探查与统计、大规模机器学习、深度学习,以及阿里在文本、图像和语音处理方面的数据技术 图形化编程 数据分析挖掘 用户行为预测 行业走势预测

36 习题: 1.简述常用机器学习系统和大数据挖掘工具有哪些? 2.安装好Mahout环境后,演示Mahout操作实例?
5. Spark MLlib的适用场合与特点有哪些? 6.简述SystemML的体系结构。 7.简述GraphLab的体系结构。 8.简述Parameter Server的工作原理。 9.简述scikit-learn的主要模块及开发案例。 10.简述WEKA的工作原理。 11.基于R语言的机器学习库有哪些? 12.简述H2O机器学习系统的主要功能。

37 百度排名首位的大数据资料和交流中心

38 百度排名首位的云计算资料和交流中心

39

40

41 BDRack大数据实验一体机 虚拟出百套集群,并行开展大数据实验 预装各种流行云计算和大数据平台 提供配套实验教程、课件、PPT和培训

42 知名微信公众号推荐 学习大数据必须关注的公众号 刘鹏看未来 云计算头条 中国大数据 云创大数据 眼光决定成败,与刘鹏教授看未来。
微信号:lpoutlook 微信号: chinacloudnj 眼光决定成败,与刘鹏教授看未来。 刘鹏,清华博士,《云计算》作者。 资源丰富、分析深入、更新及时的云计算知识共享平台。 中国大数据 云创大数据 微信号: cStor_cn 微信号: cstorbigdata 国内大数据龙头企业。提供领先的云存储、云数据库、云视频、云传输产品和解决方案。 分享大数据技术,剖析大数据案例,讨论大数据话题。

43 运用大数据,精彩你生活 免费大数据App推荐

44 感谢聆听


Download ppt "全国高校标准教材《云计算》姊妹篇,剖析大数据核心技术和实战应用"

Similar presentations


Ads by Google