《大数据日知录》读书笔记-ch15机器学习:范型与架构
机器学习算法特点:迭代运算
损失函数最小化训练过程中,在巨大参数空间中迭代寻找最优解
比如:主题模型、回归、矩阵分解、SVM、深度学习
分布式机器学习的挑战:
- 网络通信效率
- 不同节点执行速度不同:加快慢任务
- 容错性
机器学习简介:
数据并行vs模型并行:
数据并行
模型并行
分布式机器学习范型:
其他情形
MPI:容错性差、集群规模小、扩展性低
GPU:目前处理规模中等(6-10GB)
1. 同步范型(严格情形每轮迭代进行数据同步)
快等慢,计算资源浪费;网络通信多
eg:MapReduce迭代计算、BSP模型属于严格同步范型
2. 异步范型(任意时刻读取更新全局参数)
若部分任务迭代严重落后会拉低效果
3. 部分同步范型(主要研究方向)
eg:SSP模型
MapReduce迭代计算模型
BSP(Bulk Synchronous Parallel)计算模型
“桥接模型”:介于纯硬件、纯编程模式之间的模型
许多相关工作已验证BSP模型的健壮性、性能可预测性和可扩展性
优点:
缺点:
资源利用率低、网络通信多、计算效率低
图计算框架也用BSP:比如Pregel、Giraph
SSP(Stale Synchronous Parallel)计算模型
阈值s=0时,SSP退化为BSP同步模型;s=+inf时,SSP演化为完全异步模型
分布式机器学习架构:
MapReduce系列架构:
Cloudera Oryx、Apache Mahout,两者类似。
Spark及MLBase:
Spark
2. MLBase
参数服务器(Parameter Server):
比如:Google能处理百亿参数的深度机器学习框架DistBelief
1. 架构
2. 一致性模型
需要设计新型的参数副本一致性均衡正确性和并发度。往往通过受限的异步并行方式(类似于部分同步并行)
1)时钟界异步并行(Clock-bounded Asynchronous Parallel,CAP)
2)值界异步并行(Value-bounded Asynchronous Parallel,VAP)
不考虑时钟值而是参数的更新积累数值。
也可以集成CAP和VAP。有理论可以证明:对于随机梯度下降等常见机器学习算法,VAP可以保证算法收敛性。
3. SSPTable
《大数据日知录》读书笔记-ch15机器学习:范型与架构的更多相关文章
- 一. 数据分片和路由 <<大数据日知录>> 读书笔记
本章主要讲解大数据下如何做数据分片,所谓分片,即将大量数据分散在不同的节点,同时每个存储节点还要做副本备份. 而一般的抽象分片方法是, 先将数据映射到一个分片空间,这是多对一的关系,即一个数据分片区间 ...
- 二. 大数据常用的算法和数据结构 <<大数据日知录>> 读书笔记
基本上是hash实用的各种举例 布隆过滤器 Bloom Filter 常用来检测某个原色是否是巨量数据集合中的成员,优势是节省空间,不会有漏判(已经存在的数据肯定能够查找到),缺点是有误判(不存在的数 ...
- 读<大数据日知录:架构与算法>有感
前一段时间, 一个老师建议我能够学学 '大数据' 和 '机器学习', 他说这必定是今后的热点, 学会了, 你就是香饽饽.在此之前, 我对大数据, 机器学习并没有非常深的认识, 总觉得它们是那么的缥缈, ...
- 《大数据日知录》读书笔记-ch1数据分片与路由
目前主流大数据存储使用横向扩展(scale out)而非传统数据库纵向扩展(scale up)的方式.因此涉及数据分片.数据路由(routing).数据一致性问题 二级映射关系:key-partiti ...
- 《大数据日知录》读书笔记-ch2数据复制与一致性
CAP理论:Consistency,Availability,Partition tolerance 对于一个分布式数据系统,CAP三要素不可兼得,至多实现其二.要么AP,要么CP,不存在CAP.分布 ...
- 《大数据日知录》读书笔记-ch16机器学习:分布式算法
计算广告:逻辑回归 千次展示收益eCPM(Effective Cost Per Mille) eCPM= CTR * BidPrice 优化算法 训练数据使用:在线学习(online learning ...
- 《大数据日知录》读书笔记-ch11大规模批处理系统
MapReduce: 计算模型: 实例1:单词统计 实例2:链接反转 实例3:页面点击统计 系统架构: 在Map阶段还可以执行可选的Combiner操作,类似于Reduce,但是在Mapper sid ...
- 《大数据日知录》读书笔记-ch3大数据常用的算法与数据结构
布隆过滤器(bloom filter,BF): 二进制向量数据结构,时空效率很好,尤其是空间效率极高.作用:检测某个元素在某个巨量集合中存在. 构造: 查询: 不会发生漏判(false negativ ...
- [转载] leveldb日知录
原文: http://www.cnblogs.com/haippy/archive/2011/12/04/2276064.html 对leveldb非常好的一篇学习总结文章 郑重声明:本篇博客是自己学 ...
随机推荐
- innerText兼容性问题
/* text方法,给网页元素设置文本值的方法 主要处理火狐不支持innerText这个属性的问题. 还学习了如何判断一个字符串类型的属性是否存在 如果判断一个对象类型的属性是否存在,用if(ele. ...
- Android 65536方法数限制的思考
前言 没想到,65536真的很小. 1 Unable to execute dex: method ID not in [0, 0xffff]: 65536 PS:本文只是纯探索一下这个65K的来源, ...
- 【Linux】Linux各文件夹说明
转载 /bin/ — 用来贮存普通命令. /sbin/ — 许多系统命令(例如 shutdown)的贮存位置.属于基本的系统命令,如shutdown,reboot,用于启动系统,修复系统./sbin目 ...
- 洛谷P2173 [ZJOI2012]网络(10棵lct与瞎jb暴力)
有一个无向图G,每个点有个权值,每条边有一个颜色.这个无向图满足以下两个条件: 对于任意节点连出去的边中,相同颜色的边不超过两条. 图中不存在同色的环,同色的环指相同颜色的边构成的环. 在这个图上,你 ...
- 51nod 1421 最大MOD值(高妙的调和级数复杂度)
有一个a数组,里面有n个整数.现在要从中找到两个数字(可以是同一个) ai,aj ,使得 ai mod aj 最大并且 ai ≥ aj. Input 单组测试数据. 第一行包含一个整数n,表示数组a的 ...
- Partition--分区切换
现有数据表[dbo].[staging_TB1_20131018-104722]和分区表[dbo].[TB1],需要将分区表和数据表中做数据交换 CREATE TABLE [dbo].[staging ...
- 【QTP专题】04_对象及操作方法
本节介绍知识点包括 1.QTP自动化的原理 2.两类对象:TO(测试对象).RO(运行对象) 3.操作方法:SetTOProperty,GetROProperty,GetTOProperty 1.QT ...
- POJ 3522 最小差值生成树(LCT)
题目大意:给出一个n个节点的图,求最大边权值减去最小边权值最小的生成树. 题解 Flash Hu大佬一如既往地强 先把边从小到大排序 然后依次加入每一条边 如果已经连通就把路径上权值最小的边删去 然后 ...
- miniui中表单验证规则总结
页面链接: http://www.miniui.com/demo/#src=form/rules.html 页面效果图: 页面代码: <!DOCTYPE html PUBLIC "-/ ...
- thinkphp3.2----设置静态缓存
开启静态缓存后,页面刷新时获取的是静态页面,控制器增加输出内容时页面还是一样,除非超过缓存时间或html结构发生变化才重新生成页面缓存 1.定义静态缓存目录 define("HTML_PAT ...