在讨论函数的极值问题时,我们一般使用二次正定函数来推导。为什么只是二次呢?这里引用吴福朝老师的话说:“光滑函数或二阶可微函数,在极值点的局部范围内,在相差高阶无穷小的情况下,都可以表示为二次函数,极值是局部性质,这就理所当然地,用局部二次taylor展开来讨论函数的极值了。”说得很精妙!
最速梯度下降方法,其每次进行直线搜索的梯度方向,都与等值面相切,不是直接指向最优解的方向,感觉有点”剑走偏锋”,没有直接指向要害,这样会使其搜索效率变低。那么有没有什么办法使得每次迭代的搜索方向指向最优解呢?这样我们就引出了牛顿法。牛顿法是使用一个正定矩阵乘以负梯度向量,把负梯度方向旋转到最优方向。而牛顿法计算求解hessian矩阵及其逆,计算量很大,那么可不可以不通过计算hessian矩阵的逆也能找到最优下降方向?这样我们就引出了共轭梯度的方法,其最优方向有该点的负梯度方向和相邻前一点搜索方向乘以一个系数的和。沿共轭方向搜索得到的点的梯度方向都与之前的共轭方向正交。在求解该系数的时候,我们需要将hessian矩阵的逆化解掉,这样就出来了四种方法,其中有一种方法是我们中国的袁亚湘院士和他的学生戴虹提出来的,给力!
在进行公式推导前,我们需要了解一下基本的数学知识
1、负梯度法(最速梯度下降法)
2、牛顿法
3、共轭法