机器学习算法特点:迭代运算

损失函数最小化训练过程中,在巨大参数空间中迭代寻找最优解

比如:主题模型、回归、矩阵分解、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机器学习:范型与架构的更多相关文章

  1. 一. 数据分片和路由 <<大数据日知录>> 读书笔记

    本章主要讲解大数据下如何做数据分片,所谓分片,即将大量数据分散在不同的节点,同时每个存储节点还要做副本备份. 而一般的抽象分片方法是, 先将数据映射到一个分片空间,这是多对一的关系,即一个数据分片区间 ...

  2. 二. 大数据常用的算法和数据结构 <<大数据日知录>> 读书笔记

    基本上是hash实用的各种举例 布隆过滤器 Bloom Filter 常用来检测某个原色是否是巨量数据集合中的成员,优势是节省空间,不会有漏判(已经存在的数据肯定能够查找到),缺点是有误判(不存在的数 ...

  3. 读&lt;大数据日知录:架构与算法&gt;有感

    前一段时间, 一个老师建议我能够学学 '大数据' 和 '机器学习', 他说这必定是今后的热点, 学会了, 你就是香饽饽.在此之前, 我对大数据, 机器学习并没有非常深的认识, 总觉得它们是那么的缥缈, ...

  4. 《大数据日知录》读书笔记-ch1数据分片与路由

    目前主流大数据存储使用横向扩展(scale out)而非传统数据库纵向扩展(scale up)的方式.因此涉及数据分片.数据路由(routing).数据一致性问题 二级映射关系:key-partiti ...

  5. 《大数据日知录》读书笔记-ch2数据复制与一致性

    CAP理论:Consistency,Availability,Partition tolerance 对于一个分布式数据系统,CAP三要素不可兼得,至多实现其二.要么AP,要么CP,不存在CAP.分布 ...

  6. 《大数据日知录》读书笔记-ch16机器学习:分布式算法

    计算广告:逻辑回归 千次展示收益eCPM(Effective Cost Per Mille) eCPM= CTR * BidPrice 优化算法 训练数据使用:在线学习(online learning ...

  7. 《大数据日知录》读书笔记-ch11大规模批处理系统

    MapReduce: 计算模型: 实例1:单词统计 实例2:链接反转 实例3:页面点击统计 系统架构: 在Map阶段还可以执行可选的Combiner操作,类似于Reduce,但是在Mapper sid ...

  8. 《大数据日知录》读书笔记-ch3大数据常用的算法与数据结构

    布隆过滤器(bloom filter,BF): 二进制向量数据结构,时空效率很好,尤其是空间效率极高.作用:检测某个元素在某个巨量集合中存在. 构造: 查询: 不会发生漏判(false negativ ...

  9. [转载] leveldb日知录

    原文: http://www.cnblogs.com/haippy/archive/2011/12/04/2276064.html 对leveldb非常好的一篇学习总结文章 郑重声明:本篇博客是自己学 ...

随机推荐

  1. bt协议详解 基础篇(下)

    bt协议详解 基础篇(下) 最近开发了一个免费教程的网站,产生了仔细了解bt协议的想法,所以写了这一篇文章,后续还会写一些关于搜索和索引的东西,都是在开发这个网站的过程中学习到的技术,敬请期待. 1 ...

  2. Spring.NET 整合Nhibernate

    因为最近无意中学了AOP ,所以想一探究竟,看看.net里这个Spring.Net 到底是怎么回事,请有需要的童鞋往下,不需要的请alt+w.因为是先配置的 Nhibernate 所以就从这个开始.开 ...

  3. 基于SSH的网上购物商城系统-JavaWeb项目-有源码

    开发工具:Myeclipse/Eclipse + MySQL + Tomcat 项目简介: 基于WEB的网上购物系统主要功能包括:前台用户登录退出.注册.在线购物.修改个人信息.后台商品管理等等.本系 ...

  4. mysql连接com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

    现象:客户端连接服务器端mysql是没问题的,所有都木有问题,应用程序配置也没问题,但是连接就抛异常: com.mysql.jdbc.exceptions.jdbc4.CommunicationsEx ...

  5. hadoop2.2.0编译、安装和测试

    搭建环境:单机64位CentOS6.5 .jdk1.6.0_45.Hadoop2.2.0 1.准备编译环境 从http://www.apache.org/dyn/closer.cgi/hadoop/c ...

  6. 解决centOS 本地可以访问 外部主机不能访问的问题

    但是centos中的防火墙规则比较严密 用curl http://localhost:10000 可以看到内容,但是外部无法访问,原因是防火墙没有开启10000端口,需要将10000端口加入到信任规则 ...

  7. Dev 之 GridControl 列表 显示底部(包括底部统计)

    1.列表 Gridview 显示底部 2 底部增加统计

  8. 【05】循序渐进学 docker:系统资源和网络

    写在前面的话 在上一篇学习 Dockerfile 的时候其实还有几个相当重要得关键中没有谈到,但没关系,在后面的内容会单独提出来一个一个的学习.这里就先谈谈关于资源的控制个容器的网络~ 资源限制 其实 ...

  9. TOMCAT在POST方法提交参数丢失问题

    最近写程序发现post参数接收不到了,jdk,eclipse,jar包,换了多次都不行,后来看到网上一篇文章: 随后设置Tomcat中POST方式提交数据大小: maxPostSize="0 ...

  10. 深入了解java虚拟机(JVM) 第三章 内存区域----堆空间

    一.堆的含义 jvm堆的区域主要是用来存放对象的实例,它的空间大小是JVM内存区域中占比重最大的,也是jvm最大的内存管理模块,最重要的是,这个区域是垃圾收集器主要管理的区域,这意味着我们在考虑垃圾回 ...