当前课程知识点:大数据平台核心技术 >  第九讲 大规模数据的分布式机器学习平台 >  主讲人:褚葳 >  大规模数据的分布式机器学习平台(主讲人:褚葳)

返回《大数据平台核心技术》慕课在线视频课程列表

大规模数据的分布式机器学习平台(主讲人:褚葳)在线视频

大规模数据的分布式机器学习平台(主讲人:褚葳)

下一节:分布式环境下的新问题(主讲人:徐冬)

返回《大数据平台核心技术》慕课在线视频列表

大规模数据的分布式机器学习平台(主讲人:褚葳)课程教案、知识点、字幕

各位同学大家好

我是IDST褚葳

今天我给大家介绍一下

我们在机器学习方法平台上的

一些工作

我会从大数据的特点

和潜在的价值谈起

介绍在阿里的业务场景中

常用到的机器学习的算法

以及我们采用的分布式

机器学习的框架

最后介绍一下我们的PAI

算法平台

和最近的天池大赛

我们正在步入大数据的时代

大数据至少具备以下四个特点

第一个特点是海量的样本

数据的规模巨大

描述样本的特征非常得多

并且新的数据每时每刻

都在继续产生

80年以来

大约每40个月数据量就翻一倍

这个速度还在增加

如何存储和有效的利用

这些海量的数据

都是巨大的挑战

第二个特点是内容多样

每天产生的数据里

有图像语音视频

还有各类传感器产生的数据

例如各种定位的信息

穿戴设备

我们在互联网上的浏览

网购的行为也会被记录下来

形成庞大的日志文件

非结构化的文本数据

也是重要的一个组成部分

第三个特点是时效性强

数据实时更新

包括突发的事件

以及用户的短期行为

这要求我们需要实时检索

和计算的能力

第四个特点是质量不均匀

由于数据的采集渠道很多

包括精准的传感器数据

也包括随机性很强的

用户行为的数据

数据质量参差不齐

这对数据分析

提出了不同的要求

17世纪英国杰出的

唯物主义哲学家

科学家弗朗西斯·培根说过

知识就是力量

大数据里就蕴藏着丰富的知识

如何使大数据成为知识和力量

这是数据挖掘科学家的使命

数据挖掘这一术语含义广泛

概指一些通常

由软件实现的机制

目的是从海量数据中

提取出信息

数据挖掘的方法又被称做算法

在海量样本里

我们可以更加准确地发现

事件间的关联关系

对未知的事件

有精准预测的能力

帮助我们做出更合理的决策

在电子商务领域

数据挖掘正在广泛地应用于

精准营销

风险控制成本管理等方方面面

大数据挖掘的基础

就是分布式的大规模

机器学习的能力

这张照片是阿里云的机房

海量的数据就存储其中

阿里有7.6亿的商品

日均访问量10亿次

占C2C市场90%以上

占50%以上的B2C市场

第三方支付的50%

在数据平台事业部的服务器上

积累了超过100PB

已处理过的数据

相当于4万个西雅图中央图书馆

580亿本藏书

机器学习在阿里广泛地应用

在淘宝的主页上

搜索技术里的

对搜索关健词的理解和重写

结果内容的排序

广告投放的点击率的预估

商品的聚类和去重

还有相关商品的推荐技术等等

在蚂蚁金服的业务中

图像识别技术广泛应用到

证件智能审核和人脸识别

规则挖掘技术也运用在

风险控制上

在客服业务里

语音识别技术广泛地应用

下面我简单地介绍一下

在阿里业务中经常使用的

机器学习的算法

通常我们把机器学习的算法

分为三大类

有监督学习无监督学习

和强化学习

有监督学习里

我们重点介绍

逻辑回归和决策树

无监督学习里

我们重点介绍聚类算法

由于深度学习

在阿里业务中的广泛地应用

我们也会简单地介绍一下

常见的深度学习的模型

逻辑回归广泛地运用

在二分类的问题

基于多个输入变量

来估计某一事件发生的概率

在CTR预估的任务中

我们最常用到的

线性逻辑回归的模型

输入变量描述上下文

可以包含广告质量信息

与搜索关键字的相关性

历史记录中的点击情况

以及用户的个人信息

像年龄教育程度等等

我们利用日志中的上一次的

历史事件

学习一个线性模型

来拟合用户的点击行为

这个线性模型的输出值

通过一个logit model

把一个实数映射到零一之间

成为一个概率值

通常我们假定样本

是互不相关的

利用几大四软法

来优化线型模型的权重

根据具体的情况

我们还会加上正则项

来获得相对更简单的模型

其它的多分类的问题

序数回归的问题

也可以转化为

二分类的问题来求解

所以逻辑回归

适用范围非常得广

K-Means是一个常用的聚类算法

把样本按照空间位置

划分成K个类

K事先设定

目标是把空间位置相近的样本

聚在同一个类里

样本可以是用户

也可以是商品

或者照片等等

每个样本由一组特征来描述

我们通过损失目标函数最小化

来优化每个聚类中的中心位置

和各个样本的所属类

这个算法的大致过程是这样的

我们初始化每个聚类的中心

简单的方法

可以随机的选K个样本作为中心

然后计算每个样本

达到K个中心点的距离

距离可以是欧式空间距离

也可以是其它距离

每个样本选择距离

最近的中心点

作为该样本的所属类

之后根据该类里面所有样本

来更新该类的中心点位置

可以就是样本的平均值

根据新的各类中心点位置

再决定每个样本的归属类迭代

直到结果不再变化

这样我们最终获得了K个类

每个类里面都有很相似的样本

还有其它的无监督学习的算法

例如谱聚类和LDA等等

我们就不一一介绍了

决策树也是一种监督学习

就是给定一堆样本

每个样本都有一组属性

和一个类别

这些类别是事先确定的

通过学习得到一个分类器

这个分类器能够

对新出现的对象

给出正确的分类

决策树是一种树型的结构

其中每个内部结点

表示一个属性上的测试

每个分枝代表了一个测试输出

每一个叶结点代表一个类别

特征和分类点

由信息熵的增益来决定

随机森林是一个包含

多个决策树的分类器

并且其输出的类别

是由个别树输出的类别的

众数而定

我们建立多棵决策树

各个决策树之间没有关联

分别学习部分训练样本

而最终的结果由投票决定

GBDT的全称是

Gradient Boost Decision

Tree

和随机森林一样

是由多棵决策树组成的

我们依次生成决策树

各个决策树之间是有关联的

因为下一颗树

是在现有模型的残差的基础上

生成的

最终的结论由累加的

各个决策树结果来决定

在生成一颗新树的时候

目标值设定为当前模型的梯度

然后按照常规的方法

来建立决策树

深度学习是最近的热点

核心还是神经元网络模型

随着近年来

并行分布式计算能力的发展

使得在海量数据上

训练复杂模型成为了现实

实践也证明

复杂的神经元网络模型

在高难度的学习任务上

表现优异

例如图像识别

语音识别机器翻译等领域

神经元网络模型

包括一个输入层

由输入特征决定

一个输出层

由学习目标来决定

还有至少一个隐藏层

深度学习研究的模型

一般都包含多个隐藏层

形成比较复杂的网络结构

常用的网络结构

有用于图像识别的

CNN卷积神经元网络

用于语音和翻译的RNN

还有深度置信模型DBN

下面我简单地介绍一下CNN

这是经典的LeNet5结构图

图中的卷积网络工作流程

是这样的

输入层有32乘32的

感知结点组成

接受原始图像

然后计算流程在卷积

和子抽样之间交替进行

第一个隐藏层进行卷积

它有八个特征映射组成

每个特征映射有28乘28的

神经元组成

每一个神经元

指定一个5乘5的接受域

第二个隐藏层实现

子抽样和局部平均

它同样由8个特征映射而成

但每个特征

映射由14乘14的神经元组成

每个神经元

具有一个2乘2的接受域

一个可训练系数

一个可训练偏置

和一个sigmoid激活函数

训练系数和

偏置控制神经元的操作点

第三隐藏层进行第二次卷积

它有20个特征映射组成

每个特征映射由10乘10的

神经元组成

该隐藏层中的每个神经元

可以具有和下一个隐藏层

几个特征映射相连的突触连接

它以与第一个卷积层的

相似的方式来操作

第四个隐藏层

进行第二次子抽样

和局部平均计算

它由20个特征映射组成

但每个特征映射由5乘5的

神经元组成

它与第一次抽样

相似的方式进行

第五个隐藏层

实现卷积的最后阶段

它由120神经元组成

每个神经元指定

一个5乘5的接受域

最后是一个全连接层

得到输出的向量

下面介绍两个主要的

分布式积极学习的计算框架

一个是基于

消息传播接口的MPI框架

另一个是参数服务器框架

这是阿里的

数据生态圈的示意图

底层的存储层是ODPS

中间层是计算层

搭载着MapReduce Spark

Graph还有MPI和参数服务器

最上层是应用层

支持阿里各个BU的业务

包括广告 搜索

淘宝 天猫 聚划算和蚂蚁金服

MPI是1994年5月

发布的一种消息传播接口

它实际上是一个

消息传播函数库的标准说明

吸收了众多

消息传递系统的优点

是目前国际上最流行的

并行编程环境之一

MPI具有许多的优点

具有可移植性和易用性

有完备的异步通信的功能

有正式和详细的精确定义

在基于MPI编程模型中

计算是由一个或多个

彼此通过调用库函数进行消息

收发通信的进程所组成

在绝大部分MPI实现中

一组固定的进程

在程序初始化的时候产生

一般情况下

一个处理器只生成一个进程

这些进程

可以执行相同或不同的程序

进程间的通信

可以是点到点

也可以是集合的

MPI提供了一个并行环境库

通过调用MPI的库函数

来达到并行的目的

目前流行的实现

包括MPICH和OpenMPI

MPI提供C语言和FORTRAN语言的接口

支持迭代

非常适合

实现分布式机器学习算法

这个示意图是关于MapReduce数据分片

每个结点只处理一部分数据

通过增加处理结点

减少每个结点的计算工作量

从而完成大规模的

数据处理任务

MPI框架支持结点间的通信

一般结点0就担当汇总的结点

推动其它结点

进行迭代计算的工作

参数服务器是谷歌的一个

大规模分布式的计算平台

用来训练深度学习的模型

这个架构支持模型分片

可以把一个超大规模的模型

分解成很多的小部分

一个参数服务器

只负责模型的一小部分

可以通过增加

参数服务器的数目

来提升模型处理的规模

在数据分片方面和MPI是一样的

可以通过增加结点

来提升数据处理的规模

另外这个框架还支持异步迭代

和Failover机制

框架会保存每一个结点的状态

当任何一个结点任务失败以后

框架会启动一个新的任务

继续跑未跑完的任务

这里讲一下

K-Means的分布式

实现作为一个例子

其它的算法的实现

也可以依此类推

在MPI框架下

结点0保存当时各个聚类的

中心点的信息

每一个结点从结点0

把当前各个聚类的

中心点信息拉下来

然后计算分到的样本

到这些中心点的距离

根据最短的距离获得所属类

并累计本地的中心点的信息

遍历所有的样本

将本地的中心点的信息

推送到结点0

结点0收集到所有信息之后

更新当前的各个类的

中心点的信息

这一步就是同步迭代

各个结点继续各自的计算

直到收敛

也就是各个中心点的位置

不再变化

当特征维度非常高的时候

如10亿以上

结点0可能没有

足够的内存资源

来保存中心点的信息

参数服务器

正好可以解决这样的难题

首先模型分片

参数服务器们

分别保存当前类

中心点的一部分特征维度

每一个结点从参数服务器上

拉下来中心点的部分特征

累计每个样本

到各个中心点的距离

再从参数服务器上

拉下来另外一部分特征

继续计算到各个中心点的距离

直到得到完整的本

地中心点的信息

之后将本地中心点的信息

推送到参数服务器

参数服务器

搜集到所有的信息之后

更新当前的各个类的

中心点的信息

这一步还是同步迭代

各个结点继续各自的计算

直到收敛

接下来

介绍一下PAI算法平台的

设计理念和天池大赛

这是PAI算法平台的

一个Snapshot

PAI算法平台将提供Web服务

支持拖拽的图形见面操作

在授权的基础上

所有的算法模块都可以共享

所有的实验记录都可以复用

我们希望营造一个

算法的生态圈

每一个社区成员

都可以做出他的共享

最后介绍一下由PAI算法平台

支持的天池大赛

阿里于2014年

正式推出了天池大赛

天池大赛基于

ODPS和PAI算法平台

向学术界提供了科研数据

和开放的数据处理服务

天池数据竞赛

旨在借助社会的力量

来挖掘数据的价值

促进大数据领域的发展

2014年第一届大数据竞赛

天猫推荐算法大挑战

引起了社会的巨大关注

共有60余家媒体先后报道

大赛第三赛季

设置了实战双11环节

参与第三赛季的六个

90后的选手

在双11当天的算法效果

超过了天猫现有算法的17%

百万大奖挑战成功

2015年3月份

我们重磅推出了

天池大数据竞赛黄金联赛

三个有意思的数据命题组成了

年度最顶尖的数据挖掘竞赛

悬赏100万奖金

寻找最顶尖的

新生代数据科学家

希望大家踊跃参赛

谢谢大家

大数据平台核心技术课程列表:

第一讲 大数据和ODPS

-主讲人:武永卫

--大数据处理平台概述(主讲人:武永卫)

-主讲人:程永

--大数据平台ODPS(主讲人:程永)

-QUIZ--作业

第二讲 分布式存储

-大纲

--大纲(主讲人:姚文辉)

-初步认识大数据对分布式存储系统的需求

--初步认识大数据对分布式存储系统的需求

-理解大数据对分布式存储系统的需求

--理解大数据对分布式存储系统的需求(主讲人:姚文辉)

-具体说明大数据对分布式存储系统的需求

--具体说明大数据对分布式存储系统的需求(主讲人:姚文辉)

-大规模分布式存储的挑战

--大规模分布式存储的挑战(主讲人:姚文辉)

-小概率事件-Raid卡故障

--小概率事件-Raid卡故障(主讲人:姚文辉)

-分布式存储系统举例

--分布式存储系统举例(主讲人:姚文辉)

-分布式存储系统重要功能设计要点剖析

--分布式存储系统重要功能设计要点剖析(主讲人:姚文辉)

-链式写正常流程

--链式写正常流程(主讲人:姚文辉)

-写流程的另一种常见方式:主从模式

--写流程的另一种常见方式:主从模式(主讲人:姚文辉)

-链式写异常流程

--链式写异常流程(主讲人:姚文辉)

-写异常处理的另一种方法-Seal and New

--写异常处理的另一种方法-Seal and New(主讲人:姚文辉)

-读正常流程

--读正常流程(主讲人:姚文辉)

-读流程优化-BackupRead

--读流程优化-BackupRead(主讲人:姚文辉)

-IO QoS

--IO QoS(主讲人:姚文辉)

-数据正确性:checksum

--数据正确性:checksum(主讲人:姚文辉)

-数据可靠性-Replication

--数据可靠性-Replication(主讲人:姚文辉)

-数据均衡-Rebalance

--数据均衡-Rebalance(主讲人:姚文辉)

-垃圾回收-Garbage collection

--垃圾回收-Garbage collection(主讲人:姚文辉)

-Erasure coding

--Erasure coding(主讲人:姚文辉)

-Erasure coding(3,2)写入和读取过程

--Erasure coding(3,2)写入和读取过程(主讲人:姚文辉)

-元数据管理的高可用性和可扩展性

--元数据管理的高可用性和可扩展性(主讲人:姚文辉)

-元数据管理的高可用性

--元数据管理的高可用性(主讲人:姚文辉)

-Paxos概要

--Paxos概要(主讲人:姚文辉)

-Raft

--Raft(主讲人:姚文辉)

-元数据管理的可扩展性

--元数据管理的可扩展性(主讲人:姚文辉)

-不同存储介质的特性

--不同存储介质的特性(主讲人:姚文辉)

-盘古混合存储

--盘古混合存储(主讲人:姚文辉)

-QUIZ--作业

第三讲 资源管理与任务调度

-阿里云飞天分布式调度

--阿里云飞天分布式调度(主讲人:陶阳宇)

-任务调度

--任务调度(主讲人:陶阳宇)

-资源调度

--资源调度(主讲人:陶阳宇)

-容错机制

--容错机制(主讲人:陶阳宇)

-规模挑战

--规模挑战 (主讲人:陶阳宇)

-安全域性能隔离

--安全域性能隔离(主讲人:陶阳宇)

-分布式调度的发展方向

--分布式调度的发展方向(主讲人:陶阳宇)

-QUIZ--作业

第四讲 分布式编程模型的设计与演化

-数据格式和抽象

--数据格式和抽象(主讲人:吴威)

-分布式编程模型

--分布式编程模型(主讲人:吴威)

-MapReuduce编程模型

--MapReuduce编程模型(主讲人:吴威)

-关系型数据编程模型

--关系型数据编程模型(主讲人:吴威)

-分布式图计算模型

--分布式图计算模型(主讲人:吴威)

-分布式编程未来展望

--分布式编程未来展望(主讲人:吴威)

-QUIZ--作业

实践1:通过两阶段提交协议完成数据上传

-分布式事务

--分布式事务 (主讲人:冯骁)

-分布式一致性算法

--分布式一致性算法(主讲人:冯骁)

-两阶段提交与三阶段提交

--两阶段提交与三阶段提交(主讲人:冯骁)

-实践--介绍

--实践--介绍(主讲人:冯骁)

第五讲 离线分布式关系型计算

-关系型计算基本原理_1

--离线分布式关系型计算_1(主讲人:王鹏飞)

-关系型计算基本原理_2

--关系型计算基本原理_2(主讲人:王鹏飞)

-分布式环境中的连接计算和聚合计算

--分布式环境中的连接计算和聚合计算(主讲人:王鹏飞)

-其他计算和物理优化

--其他计算和物理优化(主讲人:王鹏飞)

-QUIZ--作业

第六讲 全局数据管理与调度

-提纲

--提纲(主讲人:罗李)

-课程背景介绍

--课程背景介绍(主讲人:罗李)

-前序知识

--前序知识(主讲人:罗李)

-分布式节点距离计算法则

--分布式节点距离计算法则(主讲人:罗李)

-数据分布策略

--数据分布策略(主讲人:罗李)

-分布式计算调度

--分布式计算调度(主讲人:罗李)

-数据就近原则计算如何容错

--数据就近原则计算如何容错(主讲人:罗李)

-ODPS跨集群数据依赖

--ODPS跨集群数据依赖(主讲人:罗李)

-QUIZ--作业

实践2:编写MR完成Group By+Join操作

-主讲人:谢德军

--实践2:编写MR完成Group By+Join操作(主讲人:谢德军)

第七讲 流式计算的系统设计与实现

-增量计算和流式计算

--流式计算的系统设计与实现(主讲人:强琦)

-与批量计算的区别

--与批量计算的区别(主讲人:强琦)

-业界典型系统技术概要分析

--业界典型系统技术概要分析(主讲人:强琦)

-核心技术

--核心技术(主讲人:强琦)

-消息机制

--消息机制(主讲人:强琦)

-有状态计算、并行DAG、抢占式调度和资源隔离、Failover机制

--有状态计算、并行DAG、抢占式调度和资源隔离、Failover机制(主讲人:强琦)

-StreamSQL

--StreamSQL(主讲人:强琦)

-QUIZ--作业

第八讲 内存计算

-软硬件趋势、分布式计算简史与内存计算

--软硬件趋势、分布式计算简史与内存计算(主讲人:强琦)

-分布式计算

--分布式计算(主讲人:强琦)

-内存计算

--内存计算(主讲人:强琦)

-统一的计算框架

--统一的计算框架(主讲人:强琦)

-业界经典系统技术分析-spark&flink

--业界经典系统技术分析-spark&flink(主讲人:强琦)

-QUIZ--作业

第九讲 大规模数据的分布式机器学习平台

-主讲人:褚葳

--大规模数据的分布式机器学习平台(主讲人:褚葳)

-QUIZ--作业

实践3:实现MapReduce编程运行时库

-分布式环境下的新问题

--分布式环境下的新问题(主讲人:徐冬)

-工程实现范例

--工程实现范例(主讲人:徐冬)

-课程设计相关问题

--课程设计相关问题(主讲人:徐冬)

大规模数据的分布式机器学习平台(主讲人:褚葳)笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。