本文的閱讀等級:中級
令 為一個
階實矩陣,
。如果線性方程
是不一致的 (即不存在解),實務的作法是將線性方程問題改為最小平方近似問題:
,
其中 是2-範數 (見“向量範數”),即
與
的歐幾里得距離。根據正交原則,最小平方解
滿足正規方程 (normal equation)
(見“從線性變換解釋最小平方近似”)。若
,也就是說
的行向量 (column vector) 構成一個線性獨立集合,則存在唯一的最小平方解
。
如果最小平方解必須滿足某些束縛條件,則稱為約束最小平方問題 (constrained least-squares problem)。本文討論兩種常出現在多種應用場合的約束形式。線性約束最小平方問題是指束縛條件為線性方程[1]:
,
其中 是一個
階實矩陣,
。正則 (regularized) 最小平方問題限制未知向量的長度必須固定:
。
線性約束最小平方問題
考慮下面的問題:
,
其中 是一個
階實矩陣,
是一個
階實矩陣,
,
。我們要求限制條件數不大於未知向量的維數,即
。極小範數問題 (minimum norm problem) 是一種特殊的線性約束最小平方問題:
。
若 ,則存在唯一的極小範數解 (見“極小範數解”)
。
底下介紹一般的線性約束最小平方問題的解法。
Lagrange 乘數法是最常被使用的約束優化問題解法 (見“Lagrange 乘數法”)。定義 Lagrangian 函數
,
其中 是 Lagrange 乘數組成的向量。展開 Lagrangian 函數,
接著計算偏導數 (見“矩陣導數”),
令上面兩式等於零可得優化條件式:
。
我們可以證明 階係數矩陣
是可逆的一個充分條件為
且
。考慮齊次方程
,
即 且
。第一式左乘
並使用第二式,可得
,
故 並有
。若
和
,推論
和
,即證明
是一個可逆矩陣。在此情況下,解開優化條件式可得唯一的約束最小平方解
,不過這個方法的主要缺點在於
容易引入誤差。
除了以 Lagrangian 函數推導,另一個作法使用 QR 分解 (見“線代膠囊──QR 分解”)。為清楚說明,我們假設 且
,
。設
階矩陣
的 QR 分解為
,
其中 是一個
階實正交矩陣,
,
是
階上三角可逆矩陣。令
,
其中 是
階,
是
階,
且
。寫出
以及
。
原線性約束最小平方問題等價於
。
因此, 由一致的線性方程
決定,而
則為下列無約束最小平方解:
。
合併以上結果可得 。
附帶一提,約束優化問題還可用無約束優化問題近似。考慮
,
其中 稱為懲罰項,
是一個很大的數,稱為懲罰係數。上式可改寫為標準的最小平方問題
。
當 ,
,故最小平方解趨於受限的最小平方解。看一個例子[2],線性約束最小平方問題
的最佳解為 。如果以下列最小平方問題近似
,
最佳解則為 。
正則最小平方問題
給定一個 階實矩陣
,
,以及
,考慮這個問題:
。
下面分開兩種情況討論: 和
。若
,在不失一般性的原則下,正則最小平方問題可表示為
。
設 的奇異值分解為
,其中
是
階實正交矩陣,
,
是
階實正交矩陣,
,
是
階矩陣,
,
(見“奇異值分解的幾何意義”)。令
。因此,
且
。我們得到約化的等價問題:
。
明顯地, 最小化目標函數。寫出正交矩陣
的行向量表示式
,正則最小平方解為
的最末一個行向量,
。在此情形下,最小的目標函數值為
。
假設 。定義 Lagrangian 函數
,
其中 是 Lagrange 乘數。將上式寫為
求出偏導數並設為零,
,
可得優化條件式[3]
。
如前,代入 的奇異值分解
,則
且 。設
,優化條件式左乘
,就得到簡化條件式
。
若係數矩陣 是可逆的,則存在唯一的正則最小平方解
。
接下來要找出 使滿足
。使用上面結果,寫出
,
稱為特徵方程 (secular equation)。定義
。
當 ,
是一個單調遞減函數。若
,則存在唯一的
滿足
,因此保證
是可逆的。特徵方程
是一個非線性方程,使用數值方法可求出
(例如牛頓法,見“牛頓法──非線性方程的求根方法”),代回即得到正則最小平方解
。
舉一個例子[4],
的特徵方程為
。
這個問題的解是 與
。
註解
[1] 這裡使用較簡潔的寫法,約束優化問題的傳統表達式為
[2] 取自 G.H. Golub and C.F. Van Loan, Matrix Computations, 2nd edition, 1989, pp 568.
[3] 對於 ,Tikhonov 正則化問題
的最佳解滿足 (見“每週問題 September 5, 2016”)。
[4] 同 [1], pp 565.
那个n+p阶矩阵可逆的充要条件应当改成充分条件,必要性没有验证(事实上必要性不成立,比如n=p, A=0, C=I)。
或者把rank(A)=n作为大前提,这样那个n+p阶矩阵可逆的充要条件就是rank(C)=p。
謝謝指正,我疏忽了,確實只是充分條件。
Reblogged this on 站点标题.
rank(A)=n这个条件太关键了。如果这个条件不成立,很多推导都不成立了。