随机梯度下降法原理和步骤
发布网友
发布时间:2022-03-30 05:27
我来回答
共2个回答
懂视网
时间:2022-03-30 09:49
梯度下降法是迭代法的一种,可以用于求解最小二乘问题(线性和非线性都可以)。在求解机器学习算法的模型参数,即无约束优化问题时,梯度下降是最常采用的方法之一,在求解损失函数的最小值时,可以通过梯度下降法来一步步的迭代求解,得到最小化的损失函数和模型参数值。反过来,如果我们需要求解损失函数的最大值,这时就需要用梯度上升法来迭代了。
热心网友
时间:2022-03-30 06:57
随机梯度下降主要用来求解类似于如下求和形式的优化问题:
[公式]
梯度下降法:
[公式]
当[公式]很大时,每次迭代计算所有的[公式]会非常耗时。
随机梯度下降的想法就是每次在[公式]中random选取一个计算代替如上的[公式],以这个随机选取的方向作为下降的方向。
[公式][公式]
由于[公式], 当选取step size [公式]时,算法在期望的意义下收敛。
注意到在[公式] 靠近极小值点[公式]时,[公式],这导致随机梯度下降法精度低。由于方差的存在,要使得算法收敛,就需要[公式]随[公式]逐渐减小。因此导致函数即使在强凸且光滑的条件下,收敛速度也只有[公式]. 后来提出的变种SAG,SVRG,SDCA都是在降方差,为了保证在[公式]时,方差趋于0。以上提到的几种变种都能达到线性收敛速度。