您的位置:首页 > 大数据

大规模机器学习 机器学习基础(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 台工作机。



值得注意的事,线性代数运算函数库自动执行多核并行运算。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息