导航菜单

每天五分钟机器学习:随机梯度下降可以解决大规模数据的训练问题

02: 41: 49 Cosmic V技术

本文的重点

如果我们需要大规模的训练集,我们将使用批量梯度来减少计算量。此时我们可以尝试使用随机梯度下降法而不是批量梯度下降法。

批量梯度下降

成本函数是这样的:

m个样本的总损失

梯度下降算法是:

以上是批量梯度下降,但它在处理大数据集时不是很有用,因为计算导数项需要考虑所有训练样本。

随机梯度下降

在随机梯度下降算法中,我们只需要考虑一个样本。此时,我们定义了培训样本的成本。在这种情况下,成本函数实际上测量某个样本中算法的假设(x(i),y(i)上的性能)。

培训样本的费用

梯度下降算法是:

重新排列所有m个训练样本(数据预处理,加扰将导致随机梯度下降算法稍微收敛)。

随机梯度下降算法实际上扫描所有训练样本(1,m)。对于第一个训练样本(x(1),y(1)),计算其成本和返回以执行梯度下降。效果是它会略微修改参数θ,使其成为第一次训练。样品的拟合变得更好。

完成此步骤后,我开始转向第二个训练样本。等等,直到所有训练集。

总结

批量梯度下降

{! - PGC_COLUMN - }

可以看出,批量梯度下降算法的迭代轨迹似乎非常快地收敛到全局最小值。随机梯度下降算法在每次计算之后更新参数θ,而不首先对所有训练集求和。当梯度下降算法没有完成迭代时,随机梯度下降算法已经走远了。但是这种算法的问题在于并非每一步都是在“正确”的方向上进行的。因此,虽然算法将逐渐移动到全局最小值的位置,但它可能无法达到最小点,但接近最小点。

随机梯度下降

随机梯度下降法17.2

本文的重点

如果我们需要大规模的训练集,我们将使用批量梯度来减少计算量。此时我们可以尝试使用随机梯度下降法而不是批量梯度下降法。

批量梯度下降

成本函数是这样的:

m个样本的总损失

梯度下降算法是:

以上是批量梯度下降,但它在处理大数据集时不是很有用,因为计算导数项需要考虑所有训练样本。

随机梯度下降

在随机梯度下降算法中,我们只需要考虑一个样本。此时,我们定义了培训样本的成本。在这种情况下,成本函数实际上测量某个样本中算法的假设(x(i),y(i)上的性能)。

培训样本的费用

梯度下降算法是:

重新排列所有m个训练样本(数据预处理,加扰将导致随机梯度下降算法稍微收敛)。

随机梯度下降算法实际上扫描所有训练样本(1,m)。对于第一个训练样本(x(1),y(1)),计算其成本和返回以执行梯度下降。效果是它会略微修改参数θ,使其成为第一次训练。样品的拟合变得更好。

完成此步骤后,我开始转向第二个训练样本。等等,直到所有训练集。

总结

批量梯度下降

{! - PGC_COLUMN - }

可以看出,批量梯度下降算法的迭代轨迹似乎非常快地收敛到全局最小值。随机梯度下降算法在每次计算之后更新参数θ,而不首先对所有训练集求和。当梯度下降算法没有完成迭代时,随机梯度下降算法已经走远了。但是这种算法的问题在于并非每一步都是在“正确”的方向上进行的。因此,虽然算法将逐渐移动到全局最小值的位置,但它可能无法达到最小点,但接近最小点。

随机梯度下降

随机梯度下降法17.2

http://www.sugys.com/bdsnUx