梯度下降是工程中常用于求解目标函数极小值或求解优化问题次优解。梯度下降是一种贪心算法,通过在每一步选择局部最优而不断迭代得到一个较优解。梯度方向是在一点处函数增长最快的方向,因此若想要求得极小值,则需要往负梯度方向迭代,负梯度方向是该点处目标函数值下降最快的方向。
定步长梯度下降的步骤是:
- 选择迭代的初始点。
- 求该点处目标函数的梯度。
- 沿梯度方向更新。
- 判断是否继续迭代,若继续则返回(2)步,否则结束。
梯度下降工具包在资源中给出,在该梯度下降工具包(gradient_descent_toolbox_v1.0)中,基本功能是通过梯度下降法,求解函数的极小值。另外可以在求解过程中添加目标函数的限制条件,求得在限制条件下的目标函数最小值,限制条件例如函数自变量边界。