消去法实验报告19

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

最速下降法

最速下降法又称为梯度法,是1847 年由著名数学家Cauchy 给出的,它是解析法中最古老的一种,其他解析方法或是它的变形,或是受它的启发而得到的,因此它是最优化方法的基础。作为一种基本的算法,他在最优化方法中占有重要地位。其优点是工作量少,存储变量较少,初始点要求不高;缺点是收敛慢,效率不高,有时达不到最优解。非线性规划研究的对象是非线性函数的数值最优化问题。它的理论和方法渗透到许多方面,特别是在军事、经济、管理、生产过程自动化、工程设计和产品优化设计等方面都有着重要的应用。而最速下降法正是n元函数的无约束非线性规划问题min f (x)的一种重要解析法,研究最速下降法原理及其算法实现对我们有着极其重要的意义。

最速下降法

1.最速下降方向

函数f(x)在点x处沿方向d的变化率可用方向导数来表示。对于可微函数,方向导数等于梯度与方向的内积,即:

Df(x;d) = ▽f(x)Td,

因此,求函数f(x)在点x处的下降最快的方向,可归结为求解下列非线性规划:min ▽f(x)Td

s.t. ||d|| ≤ 1

当 d = -▽f(x) / ||▽f(x)||

时等号成立。因此,在点x处沿上式所定义的方向变化率最小,即负梯度方向为最速下降方向。

2.最速下降算法

最速下降法的迭代公式是

x(k+1) = x(k) + λkd(k) ,

其中d(k)是从x(k)出发的搜索方向,这里取在x(k)处的最速下降方向,即

d = -▽f(x(k)).

λk是从x(k)出发沿方向d(k)进行一维搜索的步长,即λk满足

f(x(k) + λkd(k)) = min f(x(k)+λd(k)) (λ≥0).

计算步骤如下:

(1)给定初点x(1) ∈ Rn,允许误差ε> 0,置k = 1。

(2)计算搜索方向d = -▽f(x(k))。

(3)若||d(k)|| ≤ε,则停止计算;否则,从x(k)出发,沿d(k)进行一维搜索,求λk,使

f(x(k) + λkd(k)) = min f(x(k)+λd(k)) (λ≥0).

(4)令x(k+1) = x(k) + λkd(k) ,置k = k + 1,转步骤(2)。

/yangxi/archive/2011/10/20/2219408.html

梯度下降法

梯度下降法是一个一阶最优化算法,通常也称为最速下降法。

描述

有关梯度下降法的描述

梯度下降法,基于这样的观察:如果实值函数在点处可微且有定义,

那么函数在点沿着梯度相反的方向下降最快。

因而,如果

对于γ > 0 为一个够小数值时成立,那么。

考虑到这一点,我们可以从函数 F 的局部极小值的初始估计出发,并考虑

如下序列使得

因此可得到

如果顺利的话序列收敛到期望的极值。注意每次迭代步长γ可以改变。

右侧的图片示例了这一过程,这里假设 F 定义在平面上,并且函数图像是一个碗形。蓝色的曲线是等高线(水平集),即函数 F 为常数的集合构成的曲线。红色的箭头指向该点梯度的反方向。(一点处的梯度方向与通过该点的等高线垂直)。沿着梯度下降方向,将最终到达碗底,即函数 F 值最小的点。

例子

梯度下降法处理一些复杂的非线性函数会出现问题,例如Rosenbrock函数

其最小值在 (x,y) = (1,1) 处,数值为f(x,y) = 0。但是此函数具有狭窄弯曲

的山谷,最小值 (x,y) = (1,1) 就在这些山谷之中,并且谷底很平。优化过程是之字形的向极小值点靠近,速度非常缓慢。

下面这个例子也鲜明的示例了"之字"的下降,这个例子用梯度下降法求

的极小值。

缺点

由上面的两个例子,梯度下降法的缺点是 [1]: 靠近极小值时速度减慢。

直线搜索可能会产生一些问题。

可能会'之字型'地下降。

参阅

共轭梯度法

随机梯度下降法牛顿法最优化线搜索

参考文献

Mordecai Avriel (2003). Nonlinear Programming: Analysis and Methods. Dover Publishing. ISBN 0-486-43227-0.

Jan A. Snyman (2005). Practical Mathematical Optimization: An Introduction to Basic Optimization Theory and Classical and New Gradient-Based Algorithms. Springer Publishing. ISBN 0-387-24348-8

共轭梯度法

数学上,共轭梯度法是求解特定线性系统的数值解的方法,其中那些矩阵为对称和正定。共轭梯度法是一个迭代方法,所以它适用于稀疏矩阵系统,因为这些系统对于象乔莱斯基分解这样的直接方法太大了。这种系统在数值求解偏微分方程时相当常见。

共轭梯度法也可以用于求解无约束的最优化问题。

双共轭梯度法提供了一种处理非对称矩阵情况的推广。

方法的表述

设我们要求解下列线性系统

Ax = b,,

其中n-×-n矩阵A是对称的(也即,AT = A),正定的(也即,xTAx > 0对于所有非0向量x属于Rn),并且是实系数的。

将系统的唯一解记作x*。

最后算法

经过一些简化,可以得到下列求解Ax = b的算法,其中A是实对称正定矩阵。x0 := 0

k := 0

r0 := b

repeat until rk is "sufficiently small":

k := k + 1

if k = 1

p1 := r0

else

end if

xk := xk-1 + αk pk

rk := rk-1 - αk A pk

end repeat

结果为xk

外部连接

Méthode du gradient conjugé(共轭梯度法,法语)作者N. Soualem.

Méthode du gradient conjugé préconditionné(预处理共轭梯度法,法语)作者N. Soualem.

共轭梯度法通俗介绍作者Jonathan Richard Shewchuk.

参考

共轭梯度法最初出现于

Magnus R. Hestenes and Eduard Stiefel(1952),Methods of conjugate gradients for solving linear systems, J. Research Nat. Bur. Standards 49, 409–436.

下列教科书中可以找到该方法的描述

Kendell A. Atkinson(1988),An introduction to numerical analysis(2nd ed.),Section 8.9, John Wiley and Sons. ISBN 0-471-50023-2.

Gene H. Golub and Charles F. Van Loan, Matrix computations(3rd ed.),Chapter 10, Johns Hopkins University Press. ISBN 0-8018-5414-8.

相关文档
最新文档