基本概念
梯度下降法又被称为最速下降法(Steepest descend method),其理论基础是梯度的概念。梯度与方向导数的关系为:梯度的方向与取得最大方向导数值的方向一致,而梯度的模就是函数在该点的方向导数的最大值。梯度下降算法应用于求多维函数的在某一点收敛的极小值,可以用这个算法迭代出在哪个点收敛,也是求最小二乘问题的一种方法。
借用前辈的一张图说明算法的应用。假如你站在一座山上,怎么找到最快下山的方法呢?这时你当然会朝着最陡峭的方向前进,到达一个点后,再次朝着陡峭的方向下山,从而循环这些步骤,到达山脚。从图上也可以看到,算法一定会找到函数的极值点,但未必会找到最值点。
基本原理
我们用matlab编程示例最速下降法的原理。简单起见,最速下降函数为一元二次方程:
(目标函数)
我们通过求解目标函数期望得到