① 梯度类算法原理:最速下降法、牛顿法和拟牛顿法
梯度类算法众多,其中最速下降法、牛顿法和拟牛顿法是最常见的三种。尽管算法名称各异,但它们的结构大同小异。这些算法的基本步骤如下:
(1)首先选定初始点。
(2)然后根据迭代公式进行迭代,其中迭代步长和迭代方向是关键。
人们常说,选择大于努力。在优化算法中,这一点同样适用。如果迭代方向设计不当,即使努力尝试,也可能无法得到最优解。因此,我们应重点关注迭代方向的构造方法。
最速下降法是一种简单直观的算法。其核心思想是针对任意初始点,直接计算出使函数下降最快的方向。具体来说,我们假设函数的一阶导数存在,并给定一个方向,然后计算该方向上的增量和变化率。当增量足够小时,变化率可以通过微分计算得到。通过分析变化率,我们可以确定函数在该点处下降最快的方向。
牛顿法是对最速下降法的一种改进。它不仅考虑了一阶导数,还考虑了函数的二次项。通过泰勒公式展开,并保留二次项,我们可以得到一个更精确的迭代公式。牛顿法利用了海森矩阵,它代表了函数的二阶导数信息。由于海森矩阵的存在,牛顿法在接近最优解时具有更快的收敛速度。
然而,牛顿法也存在一些问题。首先,函数必须二阶可导;其次,计算海森矩阵的过程较为复杂。为了解决这些问题,拟牛顿法应运而生。拟牛顿法通过构造一个复杂度低的函数来替代海森矩阵,从而降低计算复杂度。这种方法不仅简化了计算过程,还降低了函数的二阶可导性要求。