最小二乘问题.docVIP

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
最小二乘问题.doc

最小二乘问题 22.1 算法 最小二乘问题可用下式表达: 此类问题在实际应用中很常见,特别是进行数据拟合、非线性参数估计时。最小二乘问题的常见解法有Gauss-Newton法和Levenberg-Marquardt法。 Gauss-Newton法 该法通过在每一次迭代中求解下列线性最小二乘问题来获得搜索方向。 搜索方向可以用于一维搜索,以保证每一次迭代都使函数f(x)减小。 图22-1演示了采用Gauss-Newton法求解Rosenbrock函数最小化问题的路径。该法只用了48次迭代即完成计算。 Gauss-Newton法有时会出现矩阵求逆的困难或出现假收敛的情况。用Levenberg-Marquart法可以解决此问题。 图22-1 Guass-Newton法的搜索路径 Levenberg-Marquart法(又称阻尼最小二乘法) 该法用下式求搜索方向: ( 式中为阻尼因子,它可以控制的大小和方向。当=0时,即为Gauss-Newton法。当时,趋于零向量,即为最速下降法。因此,只要给一个足够大的就始终为真。因此,即使是遇到影响Gauss-Newton法有效性的病态二次项,也可以通过阻尼因子来进行控制。 因此,Levenberg-Marquart法给出的是介于Gauss-Newton法和最速下降法之间的搜索 方向。图22-2是该法的演示,它用了90次迭代运算,介于Gauss-Newton法的48次和最速下降法的1000次之间。 图22-2 Levenberg-Marquart法的搜索路径 线性最小二乘问题 利用左除(“\”)算子可以求解线性最小二乘问题。 如果A为平方矩阵,则除了算法不同,A\b与inv(A)*b大致相当。如果A是一个n阶方阵,b是一个具有n个元素的列向量或具有多个此类列向量的矩阵,则X=A\b为用高斯消元法得到的方程Ax=b的解。如果A奇异,则会给出警告消息。 如果A不是方阵,则x=A\b为等式系统Ax=b(b也可以是矩阵)的最小二乘意义上的解。 22.3 非负线性最小二乘解的问题 基本数学原理 非负线性最小二乘届问题的数学模型为 式中,矩阵C和向量d为目标函数的系数。独立变量向量x要求非负。 22.3.2有关函数介绍 用1sqnonneg函数求线性问题的非负最小二乘解。其调用格式为: x=1sqnonneg(C,d) 返回向量x,使范数||C*x-d||最小化,约束条件为x=0。C和d必须为实的。 x=1sqnonneg(C,d,x0) 若所有的x0=0, 则使用 x0为初值;否则使用默认值。默认的初值为原点(当 (x0= =[ ]或只提供两个输入变量时也使用默认值)。 x=1sqnonneg(C,d,x0,options) 用 options结构指定的优化参数进行最小化。 [x,resnorm]=1sqnonneg(…)返回残差的平方范数值: norm(C*x-d)^2。 [x,resnorm,residua1]=1sqnonneg(…)返回残差C*x-d。 [x,resnorm,reidua1,exitf1ag]=1sqnonneg(…) 返回exitf1ag参数,描述退出条件。 [x,resnorm,residua1,exitf1ag,output]=1sqnonneg(…)返回包含优化信息的输出结构output参数。 [x,resnorm,residua1,exitf1ag,output,1ambda]=1sqnonneg(…) 返回拉格朗日乘子1ambda 各参数的意义可以参见表15-7和表15-8。 1sqnonneg函数使用的算法是从一系列可能的基本向量出发,计算相关的对偶向量1ambda。然后选择与1ambda中最大值对应的基本向量并将它剔除,然后将下一个值交换进来。重复此过程,直到1ambda=0 必须注意的是,非负最小二乘问题是有约束线性最小二乘问题的一个子集,所以当 C的行数比列数多时,除了1ambda=-1ambda_1sq1in.ineq1in外, [x,resnorm, residual, exitflag, output, lambda]=lsqnonneg(C,d) 等价于 [m,n]=size(C); [x,resnorm,residual,exitflag,output,lambda_lsqlin]= lsqlin(C,d,-eye(n,n),zeros(n,1)); 对于大于20阶的问题,1sq1in函数比1sqnonneg 函数的计算速度快。否则,使用1sqnonneg 函数更有效。 应用实例 【例22-1】 利用下面的4*2问题比较无约束最小二乘解和 1sqnonneg函数解。 format compact C=[0.0372 0.2

文档评论(0)

dzzj200808 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档