2. 福州市勘测院,福州市高新大道1号,350108;
3. 武汉大学资源与环境科学学院,武汉市珞喻路129号,430079
病态问题广泛存在于大地测量数据处理过程中,主要是由观测信息不充分、对参数物理信息和先验信息不了解及计算方法选择不适当等原因所致[1-2],其研究方法可以大致分为3类:
1) 间接法。主要围绕平差模型构成的法方程进行研究,通过对法方程附加一定的约束条件进行正则化处理,需要选择合适的正则化参数,如正则化方法。正则化方法原理是通过附加全部或部分参数(或其改正数)加权平方和极小化条件来克服不适定性,其实质是通过增加约束或补充(先验)信息的方法,降低不适定性[3]。在大地测量中,参数附加的约束不同,或者说参数的权阵选择不同,就有不同物理意义的解,许多学者对正则化参数的选择作了大量研究[4-6]。利用正则化方法处理病态问题的不足主要表现在缺少对参数物理信息或先验信息的掌握,附加信息无从获取,对于一些复杂的先验信息无能为力,确定正则化参数具有主观随意性。
2) 直接解算法。通过观测方程设计矩阵分解的方式进行解算,不需要选择正则化参数,如截断奇异值法[7]。截断奇异值法主要是通过数学手段截断相对较小的奇异值,用损失未知数的无偏性为代价换取均方根误差的减小,但截断参数的选取比较困难,对于条件数较大的病态问题效果不好。另外,实际工程技术中的法矩阵往往具有多个小特征值对模型求解构成危害,仅考虑克服最小特征值对解算结果的影响是不够的[8]。
3) 迭代法。代表性的解法有谱修正迭代算法、共轭梯度法、增广方程组法、快速搜索法及其他算法[8-11],这些求解方法主要是基于非线性规划理论,求解过程十分复杂,计算量较大,只能解一些低阶及病态程度不高的平差问题,将非线性规划算法引入到测量数据处理中,还需要解决初值选定、收敛速度等关键问题[12-13]。
本文通过分析近似计算中病态问题与局部最优解的关系,给出局部最优解的快速迭代方法,有效解决了大规模系数矩阵高病态的平差问题。
1 基于优化理论的病态原因分析设平差模型L= AX+e,其中,A为m×n(m≥n)维列满秩矩阵,L为n维观测向量,e为n维随机误差向量,X=(x1, x1, …, xn)T为n维参数向量。最小二乘平差准则可以看作是无约束二次规划问题,即
$ {\rm{min}}\mathit{F}\left( \mathit{\boldsymbol{X}} \right) = {\left( {\mathit{\boldsymbol{L}} - \mathit{\boldsymbol{AX}}} \right)^{\rm{T}}}\mathit{\boldsymbol{P}}\left( {\mathit{\boldsymbol{L}} - \mathit{\boldsymbol{AX}}} \right) $ | (1) |
式中,P为权矩阵。在目标函数F(X)=(L-AX)TP(L-AX)=XT(ATPA)X-2LTPAX+LTPL中,LTPL为一个常量,式(1)可以转化为二次规划问题,即
$ {\rm{min}}\ \mathit{ f}\left( \mathit{\boldsymbol{X}} \right) = \frac{1}{2}{\mathit{\boldsymbol{X}}^{\rm{T}}}\mathit{\boldsymbol{NX}} + {\mathit{\boldsymbol{c}}^{\rm{T}}}\mathit{\boldsymbol{X}} $ | (2) |
由于A为列满秩矩阵,N为正定矩阵,所以f(X)为严格凸二次函数。当法方程系数矩阵N=ATPA为非病态时,式(1)的最优解为
对于N病态情形,现分析一个简单的例子:
$ \mathit{\boldsymbol{L}} = \mathit{\boldsymbol{AX}} + \mathit{\boldsymbol{e}} = \left( {\begin{array}{*{20}{c}} 1&3\\ 1&{3.000\;001}\\ {1.000\;001}&3 \end{array}} \right)\left( {\begin{array}{*{20}{c}} {{x_1}}\\ {{x_2}} \end{array}} \right) + \mathit{\boldsymbol{e}} $ | (3) |
其中,权矩阵P为单位矩阵,观测值L=AXreal+e由真值Xreal=(1, 2)T与随机误差e= (-0.037 161 457 061 89, 0.034 226 173 736 33, 0.028 947 447 163 43)T生成。由于法方程系数矩阵N=ATPA的条件数为cond(N)=3.458 9×1013,严重病态,利用最小二乘平差准则,计算出最小二乘平差解为
$ \begin{array}{*{20}{c}} {{{\mathit{\boldsymbol{\hat X}}}_1} = }\\ {{{\left( {0.700\;867\;219\;175\;50, 2.102\;301\;190\;281\;92} \right)}^{\rm{T}}}, }\\ {{\rm{目标函数值为}}\mathit{F}\left( {{{\mathit{\boldsymbol{\hat X}}}_1}} \right) = 0.003\;164\;822\;221\;28;} \end{array} $ |
$ \begin{array}{*{20}{c}} {{{\mathit{\boldsymbol{\hat X}}}_2} = }\\ {{{\left( {0.702\;087\;888\;090\;72, \;2.102\;187\;757\;056\;31} \right)}^{\rm{T}}}, }\\ {{\rm{目标函数值为}}\mathit{F}\left( {{{\mathit{\boldsymbol{\hat X}}}_2}} \right) = 0.003\;164\;885\;153\;43;} \end{array} $ |
$ \begin{array}{*{20}{c}} {{{\mathit{\boldsymbol{\hat X}}}_3} = }\\ {{{\left( {0.703\;133\;226\;723\;54, \;2.101\;845\;854\;696\;11} \right)}^{\rm{T}}}, }\\ {{\rm{目标函数值为}}\mathit{F}\left( {{{\mathit{\boldsymbol{\hat X}}}_3}} \right) = 0.003\;164\;822\;167\;99。} \end{array} $ |
如果在计算中对于目标函数F(X)保留3位小数,上述4种方法得到的目标函数值都是0.003,此时,
迭代算法的基本思想是:给定一个初始解X0,按照某一迭代规则产生一个点列{Xk},使得当{Xk}是有穷点列时,其最后一个点是式(2)的最优解;当{Xk}是无穷点列时,有极限点,其极限点是式(2)的最优解。设Xk为第k次迭代点,dk为第k次搜索方向,αk为第k次步长因子,则第k次迭代为:
$ {\mathit{\boldsymbol{X}}_{k + 1}} = {\mathit{\boldsymbol{X}}_k} + {\alpha _k}{\mathit{\boldsymbol{d}}_k} $ | (4) |
不同的步长因子和不同的搜索方向构成不同的迭代方法,在最优化方法中,搜索方向dk是f(X)在点Xk处的下降方向,满足f(Xk+αkdk) < f(Xk)。如果搜索方向dk已经确定,从Xk出发,沿dk可求得αk,使目标函数沿dk达到极小值,即
$ f({\mathit{\boldsymbol{X}}_k} + {\alpha _k}{\mathit{\boldsymbol{d}}_k}) = \mathop {{\rm{min}}}\limits_{\alpha > 0} F({\mathit{\boldsymbol{X}}_k} + \alpha {\mathit{\boldsymbol{d}}_k}) $ | (5) |
则称这样的搜索为最优一维搜索,或精确线搜索,αk为最优步长因子。由于函数f(X)是严格凸二次函数,在精确线搜索下各种算法是等价的,但对于一般的非线性函数,各种确定αk的算法结果不一定相同。共轭梯度法是一种常用的搜索算法,设f(X)在X处的梯度为g(X)= NX + c,搜索方向dk由如下公式确定:
${\mathit{\boldsymbol{d}}_k} = \left\{ \begin{array}{l} - g\left( {{\mathit{\boldsymbol{X}}_k}} \right), k = 0\\ - g({\mathit{\boldsymbol{X}}_k}) + {\beta _k}{\mathit{\boldsymbol{d}}_k}, {\rm{ }}k \ge 1 \end{array} \right. $ | (6) |
对于βk的确定,Fletcher等[14]提出βk=
设
1) 令k=0,初始点为X0,F0=F(X0),g(X0)= NX0+c, d0=-g(X0);
2) 线性搜索,令
3) Xk+1=Xk+αkdk;
4) g(Xk+1)=NXk+1+c,新的搜索方向为dk=-g(Xk+1)+βkdk,设
5) 若满足收敛条件‖Xk+1-Xk‖ < δ1及‖F(Xk+1)-F(Xk)‖ < δ2(δ1和δ2为事先给定的精度),则停止计算;否则,令k=k+1,转至步骤2)。
文献[16-18]证明,由该算法得到的序列{Xk}对应的函数f(Xk)是严格单调递减序列,如果变量X没有约束,直接利用该算法可以求出最优解。
3 迭代初始解的选取前文已经说明,当N病态时,近似计算中的N可能不正定,式(2)的目标函数f(X)不是一个严格的凸函数,从近似计算的角度来看,其最优解不唯一。从不同的初始值出发,利用CGM-OC算法得到的解就是不同的局部最优解,下一步就是选择一个初始值来求局部最优解。
CGM-OC算法利用目标函数的负梯度方向作为迭代的搜索方向,每步迭代都是沿着负梯度方向取最优步长。在计算过程中,目标函数开始时下降较快,接近极值点时收敛速度显著变慢。病态情形下,最速下降方向仅是算法的一个局部性质,最速下降法在开始的几步迭代计算中步长较大,自变量的改变和目标函数值的下降幅度也较大;但当接近收敛点时,步长很小,自变量的改变量也很小,目标函数值下降很慢,导致收敛速度十分缓慢。从近似的角度来看,算法设置的迭代终止条件导致截断误差的出现,实际上得到一个局部的最优解,选择不同的初始解迭代可得到不同的局部最优解。选择一个岭估计作为初始值,即
$ {{\mathit{\boldsymbol{\hat X}}}_0} = {({\mathit{\boldsymbol{A}}^{\rm{T}}}\mathit{\boldsymbol{PA}} + \alpha \mathit{\boldsymbol{I}})^{ - 1}}{\mathit{\boldsymbol{A}}^{\rm{T}}}\mathit{\boldsymbol{PL}} $ | (7) |
利用CGM-OC算法求解无约束二次规划问题,因为初始值
α的初值根据(ATPA+αI)-1的谱半径ρ=
$ \alpha = {10^{{\rm{abs}}((\lg({\lambda _{{\rm{min}}}})/2) + 1)}} \times {\lambda _{{\rm{min}}}} $ | (8) |
其中,λ为矩阵ATPA的特征值,abs为求绝对值的函数。对于高病态矩阵,λ非常接近于0,为避免出现α=0的情形,设λ为微小值eps,即2-52。理论上,ATPA非负定,其特征值也应非负,但在计算中,当λ从负方向接近0时,由于计算误差的存在,特征值可能为负数,因此对λ取绝对值计算是必要的。
4 算例与分析为得到基于快速搜索算法的病态平差模型解算方法,利用2个算例进行分析:1)算例1,利用Hilbert矩阵建立一个病态平差模型,分别设置n=100、500、1 000、2 000的阶数,用以分析CGM-OC算法的迭代速度和精度;2)算例2,构建一个GPS单点定位实例,比较一些常用方法处理病态问题的效果。
4.1 算例1以Hilbert矩阵为系数矩阵构造平差模型,即L=HX+e,其中,H为n阶Hilbert矩阵,其元素满足
由系数矩阵构成的法方程系数矩阵严重病态,表 1中给出了相应的条件数,但现有的一些病态问题算法无法处理特别大的条件数。CGM-OC算法的初始值由式(7)和式(8)给出,算法中设定的精度为δ1=10-7和δ2=10-8。由于不涉及逆矩阵运算,且初始解非常接近最小二乘解,迭代次数很小,算法的精度(表 1中的偏差平方和)说明算法的效果很好。
4.2 算例2取历元间隔为2 s,观测5颗卫星,使用4个历元解算整周模糊度,误差方程的系数阵见表 2。设参数的真值为Xreal=(12.256 4, 5.148 9, 8.503 1, -1, -13, 4, 16)T,观测值L=AXreal+e,e是由MATLAB随机函数生成区间为[-0.05,0.05]的随机误差值。
由系数矩阵构成的法方程系数矩阵N=ATA的条件数cond(N)=8.928 2×109,严重病态,N的最小特征根rmin=0.000 000 004 468 52,由式(7)可算出α=4.468 5×10-4,CGM-OC算法的初始解
从表 3可以看出:
1) 正则化迭代算法中没有给定初值,当使用其他初值时,计算效果非常差,完全不能解决病态问题。实例中采用了初值设定方法,才能接近其他的解。
2) 正则化迭代算法中,干扰源向量的个数s需要根据实际情况进行调节,在数据处理中使用不方便,实例中是参考了真值才给出的。
3) 奇异值修正法中,正则化参数通过L曲线法给定,其求取不方便。
4) 截断奇异值法虽然有一定的通用性,但截断参数的确定无法自动进行,需要按照不同的情况确定,不能适应大规模的病态问题。
5) CGM-OC算法是一种快速搜索算法,不需要设定参数,得到的解与其他算法一致,适用于大规模病态问题的解算。
5 结语病态平差模型可以转化为无约束二次规划问题。当法方程系数矩阵N病态时,N可能非正定,相应的二次规划问题目标函数f(X)可能不是一个严格的凸函数,从近似计算的角度来看,其最优解不唯一。从不同的初始值出发,利用CGM-OC算法得到的解只能是一个局部最优解,该算法是利用目标函数的负梯度方向作为迭代的搜索方向,每步迭代都是沿着负梯度方向取最优步长。在计算过程中,目标函数开始下降较快,接近极值点时收敛速度显著变慢,病态情形下,最速下降方向仅是算法的一个局部性质,已有的病态问题迭代算法很少考虑初始的选择。在选择一个初始值求局部最优解时,CGM-OC算法没有采用任何矩阵求逆运算,不需要选择正则化参数和奇异值截断参数,在处理法方程病态情形中有较好的优势。本文借鉴最优二次规划算法,为病态问题的处理提供了一种新的方法,该算法简单明了,可以很好地应用于测量数据处理,有效提高参数估计的准确率。
[1] |
顾勇为, 归庆明. TSVD解算中选择截断参数的新方法[J]. 测绘科学技术学报, 2010, 27(3): 176-179 (Gu Yongwei, Gui Qingming. A New Method to Select Truncated Parameter in TSVD[J]. Journal of Geomatics Science and Technology, 2010, 27(3): 176-179 DOI:10.3969/j.issn.1673-6338.2010.03.006)
(0) |
[2] |
Shen Y Z, Xu P L, Li B F. Bias-Corrected Regularized Solution to Inverse Ill-Posed Models[J]. Journal of Geodesy, 2012, 86(8): 597-608 DOI:10.1007/s00190-012-0542-y
(0) |
[3] |
Yang X J, Wang L. A Modified Tikhonov Regularization Method[J]. Journal of Computational and Applied Mathematics, 2015, 288: 180-192 DOI:10.1016/j.cam.2015.04.011
(0) |
[4] |
曾小牛, 刘代志, 李夕海, 等. 一种改进的病态问题奇异值修正法[J]. 武汉大学学报:信息科学版, 2015, 40(10): 1 349-1 353 (Zeng Xiaoniu, Liu Daizhi, Li Xihai, et al. An Improved Singular Value Modification Method for Ill-Posed Problems[J]. Geomatics and Information Science of Wuhan University, 2015, 40(10): 1 349-1 353)
(0) |
[5] |
林东方, 朱建军, 宋迎春, 等. 正则化的奇异值分解参数构造法[J]. 测绘学报, 2016, 45(8): 883-889 (Lin Dongfang, Zhu Jianjun, Song Yingchun, et al. Construction Method of Regularization by Singular Value Decomposition of Design Matrix[J]. Acta Geodaetica et Cartographica Sinica, 2016, 45(8): 883-889)
(0) |
[6] |
林东方, 朱建军. 附有奇异值修正限制的改进的岭估计方法[J]. 武汉大学学报:信息科学版, 2017, 42(12): 1 834-1 839 (Lin Dongfang, Zhu Jianjun. Improved Ridge Estimation with Singular Value Correction Constraints[J]. Geomatics and Information Science of Wuhan University, 2017, 42(12): 1 834-1 839)
(0) |
[7] |
林东方, 朱建军, 宋迎春. 顾及截断偏差影响的TSVD截断参数确定方法[J]. 测绘学报, 2017, 46(6): 679-688 (Lin Dongfang, Zhu Jianjun, Song Yingchun. Truncation-Method for TSVD with Account of Truncation Bias[J]. Acta Geodaetica et Cartographica Sinica, 2017, 46(6): 679-688)
(0) |
[8] |
顾勇为, 归庆明, 张璇, 等. 大地测量与地球物理中病态性问题的正则化迭代解法[J]. 测绘学报, 2014, 43(4): 331-336 (Gu Yongwei, Gui Qingming, Zhang Xuan, et al. Iterative Solution of Regularization to Ill-Conditioned Problems in Geodesy and Geophysics[J]. Acta Geodaetica et Cartographica Sinica, 2014, 43(4): 331-336)
(0) |
[9] |
邓兴升, 孙虹虹. 自适应谱修正LU分解法解算高病态法方程[J]. 大地测量与地球动力学, 2014, 34(6): 135-139 (Deng Xingsheng, Sun Honghong. Self-Adaptive Spectrum Correction LU Decomposition Algorithm for Solving a Normal Equation with Severely Ill-Condition Matrix[J]. Journal of Geodesy and Geodynamics, 2014, 34(6): 135-139)
(0) |
[10] |
王永弟, 孙心宇, 罗海滨. 病态线性模型参数估计中几种解算方法的比较[J]. 工程勘察, 2014, 42(12): 61-64 (Wang Yongdi, Sun Xinyu, Luo Haibin. Comparison of Several Iteration Algorithms for the Ill-Conditioned Linear Model Parameter Estimation[J]. Geotechnical Investigation and Surveying, 2014, 42(12): 61-64)
(0) |
[11] |
宁伟, 卿熙宏, 陶华学. 基于共轭梯度法和最速下降法的非线性测量数据处理[J]. 山东科技大学学报:自然科学版, 2004, 23(4): 5-7 (Ning Wei, Qing Xihong, Tao Huaxue. Nonlinear Survey Data Processing Based on the Conjugate Gradient Method and the Steepest Descent Method[J]. Journal of Shandong University of Science and Technology: Natural Science, 2004, 23(4): 5-7)
(0) |
[12] |
郑洲顺, 黄光辉. 求解病态线性方程组的共轭向量基算法[J]. 山东大学学报:理学版, 2008, 43(10): 1-5 (Zheng Zhoushun, Huang Guanghui. Conjugate Vector Base Algorithm for Solving Ill-Conditioned Linear Equations[J]. Journal of Shandong University: Natural Science, 2008, 43(10): 1-5)
(0) |
[13] |
Zhou Q Y, Chen J. A Global Gradient Method for Large Scale Unconstrained Minimization Problems[J]. Mathematica Applicata, 2012, 25(1): 202-208
(0) |
[14] |
Fletcher R, Reeves C M. Function Minimization by Conjugate Gradients[J]. The Computer Journal, 1964, 7(2): 149-154
(0) |
[15] |
Klessig R, Polak E. Efficient Implementation of the Polak-Ribière Conjugate Gradient Algorithm[J]. Society for Industrial and Applied Mathematics Journal on Control, 1972, 10(3): 524-549
(0) |
[16] |
Murty B S N, Husain A. Orthogonality Correction in the Conjugate-Gradient Method[J]. Journal of Computational and Applied Mathematics, 1983, 9(4): 299-304 DOI:10.1016/0377-0427(83)90001-8
(0) |
[17] |
Murty B S N. Numerical Experience with Conjugate Gradient Method in Static and Dynamic Optimization[D]. Hyderabad: Thesis Jawaharlal Nehru Technological University, 1985
(0) |
[18] |
Murty B S N, Reddy P J, Husain A. Numerical Experience with Conjugate Direction Methods in Constrained Minimization[J]. European Journal of Operational Research, 1989, 42(2): 203-212 DOI:10.1016/0377-2217(89)90322-6
(0) |
2. Fuzhou Investigation and Surveying Institute, 1 Gaoxin Road, Fuzhou 350108, China;
3. School of Resource and Environmental Sciences, Wuhan University, 129 Luoyu Road, Wuhan 430079, China