徐 文,陳 義,游 為
(1. 同濟大學測繪與地理信息學院,上海 200092; 2. 西南交通大學地球科學與
環(huán)境工程學院,四川 成都 610063)
Application of SVD Method in Ill-posed Problem
XU Wen,CHEN Yi,YOU Wei
?
奇異值分解法在病態(tài)問題中的應用
徐文1,陳義1,游為2
(1. 同濟大學測繪與地理信息學院,上海 200092; 2. 西南交通大學地球科學與
環(huán)境工程學院,四川 成都 610063)
Application of SVD Method in Ill-posed Problem
XU Wen,CHEN Yi,YOU Wei
摘要:用截斷奇異值分解法和修正奇異值分解法對大地測量病態(tài)問題進行了處理,并與最小二乘的結(jié)果進行了比較,最后將兩者方法進行結(jié)合同樣對病態(tài)方程進行了處理,得到了結(jié)合奇異值分解的解,并與截斷奇異值、修正奇異值分解的解以及真值進行比較,發(fā)現(xiàn)結(jié)合奇異值分解的解即修正奇異值截斷法比截斷奇異值和修正奇異值的解更加靠近于真值,修正奇異值截斷法相比于截斷奇異值和修正奇異值法對于病態(tài)方程抗干擾能力更強,更具有實際意義。
關(guān)鍵詞:病態(tài)方程;奇異值分解;截斷奇異值;修正奇異值
在測量平差中, 當誤差方程式的系數(shù)矩陣或常數(shù)向量有微小的誤差擾動時,就會引起解的劇烈波動,從而導致計算出來的結(jié)果與真值相差比較大,這種問題就稱為病態(tài)問題,對應的矩陣稱為病態(tài)矩陣。病態(tài)矩陣表現(xiàn)為矩陣的行列式等于或接近于零,或者矩陣的行或列向量存在近似的線性相關(guān)。矩陣奇異值分解是一種對誤差方程的系數(shù)矩陣直接進行分解來求取未知數(shù)最小二乘解的比較實用的解法。近年來病態(tài)問題的處理在大地測量的數(shù)據(jù)處理中得到了越來越廣泛的應用。在病態(tài)問題中,法方程式系數(shù)矩陣的條件數(shù)是誤差方程系數(shù)矩陣條件數(shù)的平方,對誤差方程式的系數(shù)矩陣進行處理有利于降低方程的病態(tài)性,使得未知數(shù)的估值更加接近于真值。在非病態(tài)方程的條件下,矩陣的奇異值分解算法和最小二乘算法所得到的結(jié)果一致。而在病態(tài)方程條件下, 對于相對較小的奇異值截斷去掉,或者對全部或部分奇異值進行修正,使得奇異值或者將二者相結(jié)合的方法相對更加緊湊,就可以達到減少均方根誤差、提高未知數(shù)的精度和可靠性的目的,從而獲得更為準確的解[1-2]。
一、病態(tài)方程的解法
定理1設(shè)m×n矩陣A∈Rm×n(Cm×n),矩陣A的秩rank(A)=r(r>0),r≤{m,n},則存在m階正交(酉)矩陣U和n階正交(酉)矩陣V,使得[3-4]
(1)
式中,Σ=diag(σ1,σ2,…,σr),且σ1≥σ2≥…≥σr>0,而σi(i=1,2,…,r)為矩陣A的非負奇異值。式(1)稱為矩陣A的奇異值分解式[1,3]。
1. 截斷奇異值分解
在病態(tài)方程問題中未知數(shù)的最小二乘解有較大波動的主要原因是:誤差方程式的系數(shù)矩陣有等于或接近于0的奇異值。一個最直接的做法就是去掉那些等于或接近于0的奇異值,用損失未知數(shù)的無偏性為代價來換取均方根誤差的減小。假設(shè)去掉接近于0的t-k個奇異值, 就可以得到截斷奇異值的解, 即
(2)
這其中的關(guān)鍵問題是如何選擇合適的截斷參數(shù)k,在有關(guān)文獻中關(guān)于截斷參數(shù)k的選擇方法有L曲線法、F假設(shè)檢驗法、極小化均方誤差法等。本文用L曲線法來求解截斷參數(shù),求出截斷時所對應的奇異值所在的下標數(shù)值i,最后得到的截斷奇異值法的解為
(3)
式中,V1為矩陣V的前i列;D1為矩陣Σ的前i×i的矩陣;U1為矩陣U的前i列[1-2]。
2. 修正奇異值分解
奇異值分解中,相對較大的奇異值表示比較可靠和肯定的部分,而相對較小的奇異值則表示浮動較大、不那么可靠的部分。截斷奇異值分解法就是去掉那些相對較小奇異值,奇異值分解法還可以通過修正奇異值的方法,適當?shù)卦龃竽切┙咏? 的奇異值,減小那些相對較大的奇異值,使得奇異值相對更加緊湊。楊文采提出了一種修正奇異值分解方法,設(shè)t為截斷奇異值法所保留的最小奇異值的限值, q為小于t的奇異值個數(shù), 則相應的修正方案為[1]
(4)
得到修正后的奇異值法的未知數(shù)解為[2]
(5)
式中,Dλ=diag(λ1,λ2,…,λm)。
3. 修正奇異值截斷法
修正奇異值截斷法就是先對所有奇異值進行修正,根據(jù)式(4)、式(5)適當?shù)卦龃竽切┙咏? 的奇異值,減小那些相對較大的奇異值,使得奇異值相對更加緊湊;然后再進行截斷,用損失未知數(shù)的無偏性為代價來換取均方根誤差的減小,使得更加接近于真值。
二、 病態(tài)方程算例
文獻[2]第五章中克服病態(tài)性的改進算法研究實例5.2對其矩陣的條件數(shù)為128 920,病態(tài)嚴重,5個未知數(shù)的真值為x=[11111]T,進行AATA處理[5],使其病態(tài)性更強,見表1。
表1 新的病態(tài)矩陣
對新的矩陣進行病態(tài)處理,分以下幾種情況進行討論:
1) 產(chǎn)生的10個隨機誤差為0.012 6、0.016 2、-0.014 9、0.016 5、0.005 3、-0.016 1、-0.008 9、0.001 9、0.018 3、0.018 6,將(-0.02,0.02)加入到系數(shù)矩陣與未知數(shù)的真值的乘積,即作為觀測誤差,一起作為觀測值。
2) 產(chǎn)生10個隨機數(shù)誤差0.031 1、-0.092 9、0.069 8、0.086 8、0.035 7、0.051 5、0.048 6、-0.021 6、0.031 1、-0.065 8,為(-0.1,0.1)。
3) 產(chǎn)生10個隨機數(shù)誤差0.251 3、-0.244 9、0.006 0、0.199 1、0.390 9、0.459 3、0.047 2、-0.361 4、-0.350 7、-0.242 5,為(-0.5,0.5)
由程序編寫得到的解見表2。
表2 由程序編寫得到的解
三、結(jié)束語
由Matlab進行程序的編寫后[3],在加入誤差較小時,病態(tài)矩陣的傳統(tǒng)平差解跟真值相差較大,即解的波動較大,符合病態(tài)方程的求解條件。同時,截斷奇異值后的解和修正奇異值后的解,以及結(jié)合二者的解更接近于真值一些,但是結(jié)合二者后的解即修
正奇異值截斷解比截斷、修正的解更接近于真值,也就是微小的擾動對于結(jié)合二者后的解法對于未知數(shù)的影響較小,即結(jié)合二者后的解法抗干擾的能力更強。加入的誤差越來越大時,截斷、修正奇異值的解抗干擾能力更弱一些,也就是結(jié)合二者的解更好一點,適用性更強??傮w上來說,都是結(jié)合奇異值分解法(截斷奇異值分解法和新的修正奇異值分解法、結(jié)合二者的分解法)要比傳統(tǒng)的最小二乘方法要好,結(jié)合二者的分解法即修正奇異值截斷法要比截斷、修正分解法要好。
參考文獻:
[1]盧波. 病態(tài)方程的奇異值分解算法與比較[J]. 測繪信息與工程,2011;36(4):19-22.
[2]王振杰. 測量中不適定問題的正則化解法[M] . 北京: 科學出版社, 2006:86-131.
[3]王振方.基于奇異值分解的擬穩(wěn)平差法[J].測繪通報,2008(5):30-32.
[4]崔希璋.廣義測量平差(新版)[M].北京:測繪出版社,2001.
[5]陳永春.MATLAB語言高級編程[M].北京:清華大學出版社,2004:100-120.
引文格式:徐文,陳義,游為. 奇異值分解法在病態(tài)問題中的應用[J].測繪通報,2016(1):62-63.DOI:10.13474/j.cnki.11-2246.2016.0015.
通信作者:陳義。E-mail: chenyi@tongj.edu.cn
作者簡介:徐文(1991—),男,碩士生,主要研究方向為測量數(shù)據(jù)處理。E-mail:2890923816@qq.com
收稿日期:2014-11-03
中圖分類號:P22
文獻標識碼:B
文章編號:0494-0911(2016)01-0062-02