[W10]大数据学习

大数据学习

我的学习算法有时候会面对大数据的考验,我们需要做一些优化才能保证速度

随机梯度下降

传统的梯度下降法每次会遍历整个集合,效率较低,随机梯度下降不必每次都遍历,效率较高
首先引入几个公式

算法步骤

1.随机排序数据集合
2.遍历随机的数据,使用如下公式进行学习

迷你梯度下降法

迷你梯度下降是一个折中的办法,不像梯度下降每次使用全部,也不是只使用一个数据。
迷你梯度下降一次只使用少量数据,一般范围是2-100
公式如下

随机梯度下降的收敛

我们怎么判断什么样的下降率a是合适的?我们如何确定已经到达了全局最优解的点?

我们可以每隔1000个数据绘制一个cost点

使用较小的下降率会更有可能获得更好的解,因为最终我们的结果会在最优解附近徘徊,小的小将率会让跳跃步幅减小

一个有效的获得全局最优解的办法就是,缓慢的调整下降下降率a,例如下面这个公式

在线学习

对于持续不断的数据流,我们可以使用一个无限循环,每次有输入我们就用其训练,并更新,这就是在线学习。

映射缩减和数据并发

如果我们的数据集合可以被分为多个子集,而且如果你有多台机器,那么我们可以把任务分割为子任务,让每台机器执行一个,这样就能加快我们的运算。
例如对于梯度

u3coding

A software developer

Leave a Comment

Your email address will not be published. Required fields are marked *

*