最小平方法

給定一個矩陣

A 以及一個向量
b
, 我們想要找到一個向量
x
使得
Axb2
最小.

AMm×n,bMm×1,xMn×1.

首先我們定義

x^ 為找到的那個解, 也就是說, 我們要解以下這個問題

(1)x^=argminxRnAxb2.

1. Notations

  • C(A)
    : column space of
    A
    .
    C(A)={Ax|xRn}Rm.
  • N(A)
    : null space of
    A
    .
    N(A)={xRn|Ax=0}Rn.
  • Reduced QR for
    A
    .
    A=QR,QTQ=I,

    但是
    Q
    不是個方陣,
    N(RT)={0}
    .

2. 最小平方解與投影子空間

要找到最小平方解首先我們做個重要的觀察.

事實上, 以下三件事是等價敘述:

給定

A
b

  • 找到一個向量
    x^Rn
    , 使得
    Ax^b2
    最小.
  • 找到一個向量
    b^C(A)Rm
    , 使得
    b^b2
    最小.
  • b
    投影到
    C(A)
    .

因為

Ax^ 可以視為
A
的 columns 的線性組合. 而任何在 column space
C(A)
裡的向量也都可以被寫成
Ax
.

所以若我們知道怎樣解其中一個, 另外兩個問題就同時解出來了. 我們先證明以下這個 lemma.

Lemma

任意給定一個向量

bRm, 如果我們能夠找到一個向量
b^Rm
滿足
(b^b)C(A)
, 那這個向量就會是
b
C(A)
的投影向量,

(2)b^=argminb^Rmb^b2.

pf:

Let

b^C(A)Rm such that
(b^b)C(A)
.

Given

pC(A), we define
e=pb^
and we have
eC(A)
.

(3)pb2=<pb,pb>=<b^+eb,b^+eb>=b^b2+2<b^b,e>+e2=b^b2+e2,

where we have used the fact that

(b^b)C(A) and
eC(A)
, so that
<b^b,e>=0
.

Therefore, for any

pC(A),
pb2b^b2
, and the minimal of
pb2
occurs when
e2=0
, that is when
p=b^
.

由這 lemma 我們知道

b^ 可以從
(b^b)C(A)
這個條件下手, 也就是要找一個
b^
滿足

(4)AT(b^b)=0.

那因為

b^C(A), 一定存在某個
x^Rn
使得
Ax^=b^
. 因此 (4) 就變成

(5)AT(Ax^b)=0.

展開就知道

x^ 要滿足

(6)ATAx^=ATb.

因此, 我們剛剛說的事其解就是:

  • 找到一個向量
    x^Rn
    , 使得
    Ax^b2
    最小.
    • x^
      滿足
      ATAx^=ATb
      .
  • 找到一個向量
    b^C(A)Rm
    , 使得
    b^b2
    最小.
    • b^
      滿足
      (b^b)C(A)
      , 或是
      AT(b^b)=0
      .

Remark:

  1. 以上推導都是充分條件, 就是如果我們解出 (4) 或 (6), 那他們就一定是 (1) 的解.
  2. 以上推導跟
    A
    的 column 有沒有 linearly independent 無關.

3. Independent columns

如果

A 的 column 是 linearly independent, 那
ATA
就可逆, 然後我們就可以把
x^
顯式的寫下來, 就得到

(7)x^=(ATA)1ATb.

在這情況下,

b
C(A)
的投影也可以寫下來, 就是

(8)b^=A(ATA)1ATb.

或是我們可以更近一步定義投影到

C(A) 的投影矩陣, 就是

(9)P=A(ATA)1AT.

4. Dependent columns

ATA 不可逆

Case 1

假設

m<n 並且
rank(A)=n
.

在這情況下,

A 的 columns 不是 linearly independent,
ATA
不可逆, 並且
N(A){0}
. 所以若有一個最小平方解, 那就還會有無窮多個. 不過我們至少先找到一個再說.

因為

A 的 rows 會線性獨立, 因此我們對
AT
做 (reduced) QR 分解得到

(10)AT=QR,

where

QTQ=Im×m,
QMn×m
and
RMm×m
. 並且我們知道
R
是可逆矩陣.

接著我們知道最小平方解必須滿足 (6), 也就是

(11)QRRTQTx^=QRb.

兩邊同乘

(RT)1R1QT 我們得到

(12)QTx^=(RT)1b.

最後, 如果我們選擇

(13)x^=Q(RT)1b,

那可以很容易驗證 (12) 是滿足的. 也就是說 (13) 會是這個問題的一個解.

Case 2

假設

rank(A)=r, 並且
r<m
,
r<n
.

我們對

A 做 (reduced) QR 分解得到

(14)A=QR,
where
QTQ=Ir×r
,
QMm×r
and
RMr×n
.

接著我們知道最小平方解必須滿足 (6), 也就是

(15)RTRx^=RTQTb.

不過要注意的是這裡

RTRMn×n 不是一個可逆矩陣, 所以操作上無法兩邊同乘其反矩陣. 但是好消息是
RT
的 columns 是線性獨立的, 所以我們會有

(16)Rx^=QTb.

接著我們試著在 row space 裡找解. 假設

x^=RTy^,
y^Rr
, 那 (16) 可以改寫為

(17)RRTy^=QTb.

這樣, 由於

RRTMr×r 並且可逆, 我們就有
y^=(RRT)1QTb
. 最後

(18)x^=RT(RRT)1QTb.

一樣可以很容易驗證 (16) 是滿足的. 也就是說 (18) 會是這個問題的一個解.

Remark: Case 2 的這整套 QR 做法也適用於

A 的 columns 線性獨立的情形. 而且在這情形之下的
R
矩陣會是個可逆方陣, 因此有
(RRT)1=(RT)1R1
. 代入之後得到

(19)x^=R1QTb.

5. Conclusion

我們考慮以下最小平方法問題

minxRnAxb2.

並且我們令最佳解為

x^.

  • 如果
    A
    的 columns 線性獨立
    x^=(ATA)1ATb.
    • 如果對
      A
      做 (reduced) QR,
      A=QR
      , 並且
      QTQ=In×n
      ,
      x^=R1QTb.
  • 如果
    A
    的 columns 線性相依

    則有無窮多解, 以下是一特解 (並且是所有的解裡面長度最短的).

    • A
      做 (reduced) QR,
      A=QR
      , 並且
      QTQ=Ir×r
      ,
      x^=RT(RRT)1QTb.
    • 或是若
      rank(A)=n
      , 則可對
      AT
      做 (reduced) QR,
      AT=QR
      , 並且
      QTQ=Im×m
      ,
      x^=Q(RT)1b.