正在加载图片...
搜索步长的确定 非线性最小二乘 Least square)拟合 线性索( Line search)确定步长方法 问题给定和方向d,确定步长α,使得 问题给定(py白1,n,拟合一个函敷=几(x) min f(x +ad 优化问题 其中x为待定的参数向量,∫对x非线性 dola=0 4(d")Vf(x +ad)=0 记误差r(x)=y-f(12x)r(x)=((x)…(x) 优化模型minR(x)=r(x)r(x) 优化糞金分割(0.618)法、 Fibonacci法、 Newton 算法 切线法、割线法、2次或3次插值法等 根据目标函数是rx)的二次函数的特点 构造简单算法 非线性最小二乘拟合 R(x)=r(x)r(x) 非线性最小二乘拟合 记r(x)的雅各比阵为J(x)=(r/ax)m Gauss-Newton算法:忽略矩阵S VR=2J(x)r(x)VR=2J(x)J(x)+2S 牛顿方程Vf(x2)d=-Vf(x2) S=Er(x)V; (x)Vr(x)=(@r/ax, ax) 用R代替,下降方向满足 讨论·牛顿法要计算 Hessian矩阵,其中S计算量大 J(x2)yJ(x4)d=-J/(x2)r(x2) ·若∫对x线性,则化为缄性最小二乘拟合此时S=0 GN算法收斂性依赖厂对x的线性程度 及偏差r的大小 特定算法考虑如何忽略或近似矩阵S。 (学学奖 大学费学买验 非线性最小二乘拟合 优化工具箱 Levenberg- Marquardt算法:GN算法修正 模型:Minf(x),x∈R f(x)的m文件名 x0~初始点;x-最优解 J(x2)2J(x2)d*=-J(x2)r(x) 基本用法 ~传给fun的参敷 几防止J出现病态 xfm]nnd(e,1b,u)中间输入项缺省用占位 (J(x2)yJ(x*)+a4D)d=-J(x3)r(x2) x=fminunc(@f, xo) x=fminunc(ef, xO, options, P1, P2,...) 中c少>0为修正参数 x=fminsearch(ef, xO, options, P1, P2,...) LM算法严位于牛顿方向(a很小)和负梯度 例:min(3sinx+x) 方向(很大之间 ∈l8 例ma+bE 其中a=b4 搜索步长的确定 线性搜索(Line Search)确定步长方法 问题 给定xk和方向dk, 确定步长αk, 使得 min ( ) k k f x αd α + 优化 算法 黄金分割(0.618)法、Fibonacci法、Newton 切线法、割线法、2次或3次插值法等 ~一维优化问题 k = 0 d df α α ( ) ∇ ( + ) = 0 k T k k k d f x α d 非线性最小二乘(Least Square)拟合 问题 给定(t i , y i ), i=1,…n, 拟合一个函数y=f(t, x), 其中x为待定的参数向量, f 对x非线性。 优化模型 min R(x) r (x)r(x) T x = r(x) y f (t , x) i = i − i T n r(x) (r(x), r (x)) 记误差 = 1 L 根据目标函数是 r(x) 的二次函数的特点 构造简单算法 非线性最小二乘拟合 R 2J (x) r(x) T ∇ = R J x J x S T 2 ( ) ( ) 2 2 ∇ = + i i k l m m r x r x x × ∇ ( ) = (∂ ∂ ∂ ) 2 2 讨论 • 牛顿法要计算Hessian矩阵,其中S计算量大 • 若 f 对x线性, 则化为线性最小二乘拟合,此时S=0 特定算法考虑如何忽略或近似矩阵S。 i j n m J x r x × 记 r(x) 的雅各比阵为 ( ) = (∂ / ∂ ) R(x) r (x)r(x) T = ( ) ( ) 2 1 S r x r x i n i =∑ i ∇ = Gauss-Newton算法:忽略矩阵S ( ) ( ) ( ) ( ) k T k k k k J x J x d = −J x r x f用R代替,下降方向dk满足 G-N算法 收敛性依赖 f 对 x 的线性程度, 及偏差r的大小 非线性最小二乘拟合 ( ) ( ) 2 k k 牛顿方程 ∇ f x d = −∇f x R 2J (x) r(x) T ∇ = 2 ( ) ( ) 2R J x J x T ∇ = Levenbery-Marquardt算法:G-N算法修正 ( ( ) ( ) ) ( ) ( ) k T k k k k k J x J x +α I d = −J x r x 其中αk>0为修正参数. dk位于牛顿方向(αk很小)和负梯度 方向(αk很大)之间 L-M算法 非线性最小二乘拟合 ( ) ( ) ( ) ( ) k T k k k k J x J x d = −J x r x 防止 JTJ 出现病态 优化工具箱 基本用法: x=fminbnd(@f,lb,ub) x=fminunc(@f,x0) x=fminunc(@f,x0,options,P1,P2,...) x=fminsearch(@f,x0,options,P1,P2,...) f.m ~ f(x)的m文件名 x0 ~初始点; x ~最优解 P1,P2, … ~ 传给fun的参数 中间输入项缺省用[ ]占位 n x 模型:Min f (x), x∈ R 2 2 min 2 2 = = + a b b y a x 其中 例 : Exam0701.m Exam0702.m x [1,8] 1 min (3sinx x) ∈ 例 : +
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有