大规模机器学习 机器学习基础(9)
2016-03-04 20:41
393 查看
大规模机器学习
机器学习在充足的数据可以用来训练的情况下,效果是非常好的。目前,许多网站与公司正在收集大量的数据,了解如何处理大数据是在硅谷最抢手的技能之一。大数据集的梯度下降
大数据学习
大数据学习存在计算量过大的问题。在学习过程中,首先从大数据集中抽取少量的数据进行学习,可用于检查该数据集是否适合学习,验证机器学习系统是否是一个高方差(学习曲线)的系统,适合用大数据集进行学习,以提高系统性能;然后,高偏差,低方差的系统显然没必要使用大规模学习,逼近学习效果并不会比小数据集学习效果好很多。
因此,大数据学习仅适用于高方差的机器学习系统。
在大规模数据学习中,随机梯度下降与映射化简 2 种计算方法(实际上,不止 2 种)。
随机梯度下降法
大数据集的计算算法对于优化目标,在迭代过程中仅考虑单个训练数据。相比较每次都遍历所有训练样本求 θ 直至收敛的批量梯度下降法。随机梯度下降法的算法步骤如下:小批量梯度下降
批量梯度下降:每次迭代 m 个样本随机梯度下降:每次迭代 1 个样本
小批量梯度下降:每次迭代 b 个样本(1<b<m)
小批量梯度下降算法的步骤:
当计算采用向量化的计算方法时,并行化的运算模式会使小批量梯度下降算法效率更高,并需要选择合适的 b 值,以优化收敛速度。
随机梯度下降的收敛性
修改梯度下降的学习参数 α 可以改善收敛性,一般地
α=C1Ite+C2
C1, C2 为常数,可取 1;Ite 为迭代次数,即 m。
进阶主题
在线学习
在线学习是大规模机器学习方法,可应对数据流的分析。值得注意的事,在线学习方法可以不断地调整参数以适应新的数据。映射化简与数据并行
映射化简能够处理更大数据集,将计算并行化,在多核/多工作机上都可以实现并行化。在一直的开源并行系统中,例如 Hodoop 中,都有并行化。梯度计算并行模式如下,计算模型(m=400)为
映射化简的工作模式:1 台工作机 → 4 台工作机。
值得注意的事,线性代数运算函数库自动执行多核并行运算。
相关文章推荐
- 康诺云推出三款智能硬件产品,为健康管理业务搭建数据池
- MySQL中使用innobackupex、xtrabackup进行大数据的备份和还原教程
- php+ajax导入大数据时产生的问题处理
- C# 大数据导出word的假死报错的处理方法
- 用Python从零实现贝叶斯分类器的机器学习的教程
- 用Python实现协同过滤的教程
- Python利用多进程将大量数据放入有限内存的教程
- mongodb常遇到的错误。
- My Machine Learning
- 机器学习---学习首页 3ff0
- Stack数据结构的特点后进先出的应用:大数据运算
- YARN或将成为Hadoop新发力点
- Hadoop 1.x版本伪单机配置
- Glusterfs的编译选项 #pragma GCC poison system popen
- 反向传播(Backpropagation)算法的数学原理
- 也谈 机器学习到底有没有用 ?
- Python 大数据思维导图
- Spark HA部署方案
- Spark HA原理架构图
- HADOOP的HA部署方案