最速下降法 共轭梯度法PPT
最速下降法(Gradient Descent)和共轭梯度法(Conjugate Gradient Method)都是求解无约束优化问题的迭代方法。它们都需...
最速下降法(Gradient Descent)和共轭梯度法(Conjugate Gradient Method)都是求解无约束优化问题的迭代方法。它们都需要目标函数的梯度(或者近似梯度)信息。最速下降法最速下降法是最早的迭代优化方法之一,其基本思想是沿着梯度的反方向进行搜索,以期望找到最小值。最速下降法每一次迭代都选择一个负梯度方向作为搜索方向,这是因为在这个方向上函数值的下降速度最快。最速下降法的基本步骤如下:初始化一个点$x_0$计算在当前点的梯度$\nabla f(x_k)$更新搜索方向$d_{k} = -\nabla f(x_k)$寻找一个步长$\alpha_k$使得$f(x_k + \alpha_k d_k)$比$f(x_k)$更小。这个步长可以通过线搜索(如黄金分割法、线性搜索等)来找到更新当前点$x_{k+1} = x_k + \alpha_k d_k$如果满足停止条件(如达到最大迭代次数或者函数值的改变量小于某个阈值),则停止迭代。否则,返回第二步最速下降法的主要缺点是它对目标函数的曲率非常敏感。在曲率较小的地方,搜索步长可能会很小,导致需要更多的迭代次数才能找到最小值。此外,如果目标函数的梯度接近于零,最速下降法可能会变得非常慢,甚至可能无法找到正确的解。共轭梯度法共轭梯度法是为了解决最速下降法在面对大规模问题时效率低下的问题而提出的。它是一种利用前一步的搜索方向和当前步的梯度来构造一个更好的搜索方向的方法。通过这种方式,可以在保证搜索速度的同时,减少所需的迭代次数。具体来说,共轭梯度法通过以下方式来更新搜索方向:在开始时设置初始搜索方向$d_0 = -\nabla f(x_0)$在每一步迭代中计算当前的梯度$\nabla f(x_k)$,然后计算一个新的方向$d_{k+1}$,使其与前一步的方向$d_k$共轭:$d_{k+1} = -\nabla f(x_k) + \beta_k d_k$,其中$\beta_k$是一个标量,用于调整搜索方向使用线搜索找到一个合适的步长$\alpha_k$使得$f(x_k + \alpha_k d_{k+1})$比$f(x_k)$更小更新当前点$x_{k+1} = x_k + \alpha_k d_{k+1}$如果满足停止条件则停止迭代。否则,返回第二步共轭梯度法的主要优点是它可以更快地找到最小值,特别是在面对大规模问题时。此外,由于它使用前一步的搜索方向来构造新的搜索方向,因此它可以更好地处理目标函数的曲率变化。然而,如果目标函数的梯度接近于零,或者在某些情况下梯度变化很大,共轭梯度法也可能变得很慢或者无法找到正确的解。