本文介紹用最小二乘算子求解無解的線性方程的原理。

基本概念

内積

定義 對於 Rn\mathbb{R}^n 上的兩個向量 u,v\vec{u}, \vec{v},其內積(也叫點乘)定義為 uTv\vec{u}^T\vec{v},記做 uv\vec{u}\cdot \vec{v} ,即:

uv=uTv\vec{u}\cdot \vec{v} = \vec{u}^T\vec{v}

不難證明內積有以下性質:

定理 對於 u,v,wFn,cF\vec{u}, \vec{v}, \vec{w} \in \mathbb{F}^n, c \in \mathbb{F},有:

  1. uv=vu\vec{u} \cdot \vec{v} = \vec{v} \cdot \vec{u}
  2. (u+v)w=uw+vw\left( \vec{u} + \vec{v} \right) \cdot \vec{w} = \vec{u}\cdot \vec{w} + \vec{v}\cdot \vec{w}
  3. (cu)v=c(uv)=u(cv)\left( c\vec{u} \right)\cdot \vec{v} = c\left(\vec{u} \cdot \vec{v}\right) = \vec{u} \cdot \left(c\vec{v}\right)
  4. uu0\vec{u} \cdot \vec{u} \geq 0,且 uu=0    u=0\vec{u}\cdot\vec{u} = 0 \iff \vec{u}=\vec{0}

範數

定義 一個向量的範數是該向量與自己內積的算數平方根,記為 v\lVert \vec{v} \rVert,即:

v=vvv2=vv\lVert \vec{v} \rVert = \sqrt{\vec{v}\cdot\vec{v}} \\ \lVert \vec{v} \rVert^2 = \vec{v}\cdot\vec{v}

對於標量 cc 和向量 v\vec{v},有:

cv=cv\lVert c\vec{v} \rVert = \lvert c \rvert \lVert \vec{v} \rVert

(cv2=(cv)(cv)=c2(vv)=c2v2)\left( \lVert c\vec{v} \rVert ^2 = (c\vec{v} )\cdot(c\vec{v} ) = c^2(\vec{v}\cdot\vec{v}) = c^2\lVert\vec{v} \rVert^2 \right)

範數為 1 的向量稱單位向量,把一個非零向量化作單位向量的過程叫標準化,即用範數除該向量:

u=vv\vec{u} = \frac{\vec{v}}{\lVert \vec{v} \rVert}

距離

定義 對於同一子空間的兩個向量 u,vFn\vec{u}, \vec{v} \in \mathbb{F}^nu,v\vec{u}, \vec{v} 間的距離 dist(u,v)\text{dist}(\vec{u}, \vec{v})uv\vec{u}-\vec{v} 的範數,即:

dist(u,v)=uv\text{dist}(\vec{u}, \vec{v}) = \lVert \vec{u} - \vec{v} \rVert

正交

幾何上常用垂直表示兩條線幾何位置呈 90 度,如下圖的 u\vec{u}v\vec{v}。在線性代數的領域,用正交表示這一關係。圖中可見 u,v\vec{u}, \vec{v} 正交時,u\vec{u}v\vec{v}v-\vec{v} 的距離相等,即:

[dist(u,v)]2=u(v)2=u+v2=(u+v)(u+v)=u(u+v)+v(u+v)=uu+uv+vu+vv=u2+v2+2vu\begin{aligned} \left[\text{dist}(\vec{u}, -\vec{v})\right]^2 &= \lVert \vec{u} - (-\vec{v}) \rVert^2 =\lVert \vec{u} +\vec{v} \rVert^2\\ &= (\vec{u} +\vec{v})\cdot(\vec{u} +\vec{v}) \\ &= \vec{u}\cdot(\vec{u} +\vec{v})+\vec{v}\cdot(\vec{u} +\vec{v}) \\ &= \vec{u}\cdot\vec{u} +\vec{u}\cdot\vec{v} + \vec{v}\cdot\vec{u} + \vec{v}\cdot\vec{v} \\ &= \lVert \vec{u} \rVert^2 + \lVert \vec{v} \rVert^2 + 2\vec{v}\cdot\vec{u} \end{aligned}

[dist(u,v)]2=uv2=(uv)(uv)=u(uv)v(uv)=uuuvvu+vv=u2+v22vu\begin{aligned} \left[\text{dist}(\vec{u}, \vec{v})\right]^2 &= \lVert \vec{u} - \vec{v} \rVert^2\\ &= (\vec{u} - \vec{v})\cdot(\vec{u} - \vec{v}) \\ &= \vec{u}\cdot(\vec{u} -\vec{v})-\vec{v}\cdot(\vec{u} -\vec{v}) \\ &= \vec{u}\cdot\vec{u} -\vec{u}\cdot\vec{v} - \vec{v}\cdot\vec{u} + \vec{v}\cdot\vec{v} \\ &= \lVert \vec{u} \rVert^2 + \lVert \vec{v} \rVert^2 - 2\vec{v}\cdot\vec{u} \end{aligned}

兩距離相當時, 2vu=2vu    vu=0- 2\vec{v}\cdot\vec{u}=2\vec{v}\cdot\vec{u} \iff \vec{v}\cdot\vec{u}=0

定義 同一子空間的兩個向量 u,vFn\vec{u}, \vec{v} \in \mathbb{F}^n 正交     uv=0\iff \vec{u}\cdot\vec{v}=0

定理:畢達哥拉斯定理(勾股定理) 同一子空間的兩個向量 u,vFn\vec{u}, \vec{v} \in \mathbb{F}^n 正交     u+v2=u2+v2\iff \lVert \vec{u}+\vec{v} \rVert^2 =\lVert \vec{u}\rVert^2 + \lVert\vec{v} \rVert^2

正交補

定義z\vec{z} 正交與 Fn\mathbb{F}^n 的一個子空間 HH 上任一向量,稱 z\vec{z} 正交HH。所有正交於 HH 的向量稱為 HH正交補,記做 HH^\perp

正交基

定義 Fn\mathbb{F}^n 的子空間 HH 上的一組向量 {v1,,vp}\left\{\vec{v_1}, \cdots, \vec{v_p}\right\}正交集,那麼這組向量兩兩正交,即 uiuj=0,i,j,ij\vec{u_i}\cdot\vec{u_j}=0, \forall i,j, i\neq j

定理S={v1,,vp}S = \left\{\vec{v_1}, \cdots, \vec{v_p}\right\}Fn\mathbb{F}^n 上的一組正交集,則 SSSpan{v1,,vp}\text{Span}\left\{ \vec{v_1}, \cdots, \vec{v_p} \right\} 的一個基。

定義 Fn\mathbb{F}^n 的子空間 HH 的一個正交基 SS 滿足:

  1. SSHH 的一個基
  2. SS 是正交集

下面的定理會指出正交基相較於其他基的好處:

定理{v1,,vp}\left\{\vec{v_1}, \cdots, \vec{v_p}\right\}Fn\mathbb{F}^n 的子空間 HH 上的一個正交基,那麼對於 yH\forall \vec{y} \in H,有:

y=c1v1++cpvp\vec{y} = c_1\vec{v_1} + \cdots + c_p\vec{v_p}

利用正交基兩兩正交的特性,在等式兩邊乘任意正交基的一個元素 vj\vec{v_j}

yvj=(c1v1++cpvp)vj=cjvjvj\begin{aligned} \vec{y}\cdot\vec{v_j} &= \left(c_1\vec{v_1} + \cdots + c_p\vec{v_p}\right)\cdot\vec{v_j} \\ &= c_j\vec{v_j}\cdot\vec{v_j} \end{aligned}

可得:

cj=yvjvjvj=yvj2c_j = \frac{\vec{y}\cdot\vec{v_j}}{\vec{v_j}\cdot\vec{v_j}} = \frac{\vec{y}}{\lVert\vec{v_j}\rVert^2}

在使用正交基表示子空間內的向量時,其係數很容易確定。

單位正交基

定義{v1,,vp}\left\{\vec{v_1}, \cdots, \vec{v_p}\right\}Fn\mathbb{F}^n 的子空間 HH 的一個單位正交基,則:

  1. {v1,,vp}\left\{\vec{v_1}, \cdots, \vec{v_p}\right\}HH 的一組正交基;
  2. {v1,,vp}\left\{\vec{v_1}, \cdots, \vec{v_p}\right\} 中每一個向量均為單位向量

單位正交基在應用和計算機算法中矩陣運算中很重要,下面兩個定理介紹單位正交基的主要性質。

定理 一個 m×nm \times n 矩陣 UU 的列向量組是單位正交基,當且僅當 UTU=IU^TU=I

Proof.

為簡化表示,假設 UU 僅有三列,即 U=[u1u2u3]U = \begin{bmatrix} \vec{u_1} & \vec{u_2} & \vec{u_3}\end{bmatrix} ,其中 u1,u2,u3Fn\vec{u_1},\vec{u_2}, \vec{u_3} \in \mathbb{F}^n,然後計算:

UTU=[u1Tu2Tu3T][u1u2u3]=[u1Tu1u1Tu2u1Tu3u2Tu1u2Tu2u2Tu3u3Tu1u3Tu2u3Tu3]=[u12u1u2u1u3u2u1u22u2u3u3u1u3u2u32]U^TU = \begin{bmatrix} \vec{u_1}^T \\ \vec{u_2}^T \\ \vec{u_3}^T \end{bmatrix} \begin{bmatrix} \vec{u_1} & \vec{u_2} & \vec{u_3}\end{bmatrix} = \begin{bmatrix} \vec{u_1}^T\vec{u_1} & \vec{u_1}^T\vec{u_2} & \vec{u_1}^T\vec{u_3} \\ \vec{u_2}^T\vec{u_1} & \vec{u_2}^T\vec{u_2} & \vec{u_2}^T\vec{u_3} \\ \vec{u_3}^T\vec{u_1} & \vec{u_3}^T\vec{u_2} & \vec{u_3}^T\vec{u_3} \end{bmatrix} = \begin{bmatrix} \lVert\vec{u_1}\rVert^2 & \vec{u_1}\cdot\vec{u_2} & \vec{u_1}\cdot\vec{u_3} \\ \vec{u_2}\cdot\vec{u_1} & \lVert\vec{u_2}\rVert^2 & \vec{u_2}\cdot\vec{u_3} \\ \vec{u_3}\cdot\vec{u_1} & \vec{u_3}\cdot\vec{u_2} & \lVert\vec{u_3}\rVert^2 \end{bmatrix}

主對角線上為單位正交基的向量的範數的平方,為 1 (u12=u22=u32=12=1)\left( \lVert\vec{u_1}\rVert^2 = \lVert\vec{u_2}\rVert^2 = \lVert\vec{u_3}\rVert^2 = 1^2 = 1 \right),非主對角線的元素為單位正交基不同向量的內積,因為它們兩輛正交,故為 0。最後 UTU=IU^TU = I

定理 設矩陣 Um×nU_{m \times n} 的列向量組成單位正交基, x,yFn\vec{x}, \vec{y} \in \mathbb{F}^n,則:

  1. Ux=x\lVert U\vec{x} \rVert = \lVert \vec{x} \rVert

  2. (Ux)(Uy)=xy\left( U\vec{x} \right)\cdot\left( U\vec{y} \right) = \vec{x}\cdot \vec{y}

  3. (Ux)(Uy)=0    xy=0\left( U\vec{x} \right)\cdot\left( U\vec{y} \right) = 0 \iff \vec{x}\cdot\vec{y}=0
    Proof.

  4. Ux2=(Ux)(Ux)=(Ux)T(Ux)=(xTUT)(Ux)=xT(UTU)x=xTIx=xTx=x2\lVert U\vec{x} \rVert^2 = \left( U\vec{x} \right)\cdot\left( U\vec{x} \right) = \left( U\vec{x} \right)^T\left( U\vec{x} \right) = \left( \vec{x}^TU^T \right)\left( U\vec{x} \right) = \vec{x}^T \left(U^TU\right) \vec{x} = \vec{x}^T I \vec{x} = \vec{x}^T\vec{x} = \lVert \vec{x} \rVert^2

  5. (Ux)(Uy)=(Ux)T(Uy)=(xTUT)(Uy)=xT(UTU)y=xTy=xy\left( U\vec{x} \right)\cdot\left( U\vec{y} \right)=\left( U\vec{x} \right)^T\left( U\vec{y} \right)=\left( \vec{x}^TU^T \right) \left( U\vec{y} \right) = \vec{x}^T\left(U^TU\right) \vec{y} = \vec{x}^T\vec{y}=\vec{x}\cdot\vec{y}

定義UU 為方陣,且 UTU=IU^TU=I,即 UT=U1U^T=U^{-1}, 則 UU 被稱為正交矩陣

定理 正交矩陣的列向量是其列空間的一組單位正交基。

正交投影

Fn\mathbb{F}^n 中有一非零向量 u\vec{u},今考慮將 Fn\mathbb{F}^n 中另一向量 y\vec{y} 分解成兩個向量的和,一個和 u\vec{u} 平行(其範數為 u\vec{u} 範數的倍數),一個和 u\vec{u} 正交,即:

y=y^+z=αu+z\begin{aligned} \vec{y} &= \hat{y} + \vec{z} \\ &= \alpha\vec{u} + \vec{z} \end{aligned}

其中 α\alpha 為標量,z\vec{z} (=yαu)(=\vec{y}-\alpha\vec{u})u\vec{u} 正交,即 (yαu)u=yuαuu=0(\vec{y}-\alpha\vec{u})\cdot\vec{u} =\vec{y}\cdot\vec{u}-\alpha\vec{u}\cdot\vec{u}=0 ,可得:

α=yuuu\alpha = \frac{\vec{y}\cdot\vec{u}}{\vec{u}\cdot\vec{u}}

定義 y^\hat{y} 稱為 y\vec{y}u\vec{u} 上的正交投影,記為 projLy\text{proj}_L\vec{y}z\vec{z} 稱為 y\vec{y}u\vec{u} 上的正交分量,即:

y^=projLy=yuuuu=yuu2u\hat{\vec{y}} = \text{proj}_L\vec{y} = \frac{\vec{y}\cdot\vec{u}}{\vec{u}\cdot\vec{u}}\vec{u} = \frac{\vec{y}\cdot\vec{u}}{\lVert\vec{u}\rVert^2}\vec{u}

正交分解定理HH 是向量空間 Fn\mathbb{F}^n 的一個子空間,則 yFn\forall \vec{y} \in \mathbb{F}^n ,可將 y\vec{y} 寫成下列唯一形式:

y=y^+z\vec{y} = \hat{\vec{y}} + \vec{z}

其中 y^H,zH\hat{\vec{y}} \in H, \vec{z} \in H^{\perp}。設 HH 的一個正交基為 {u1up}\left\{ \vec{u_1} \cdots \vec{u_p} \right\},則:

y^=projHy=yu1u12u1++yupup2up\hat{\vec{y}} = \text{proj}_H\vec{y} = \frac{\vec{y}\cdot\vec{u_1}}{\lVert \vec{u_1} \rVert^2}\vec{u_1} + \cdots + \frac{\vec{y}\cdot\vec{u_p}}{\lVert \vec{u_p} \rVert^2}\vec{u_p}

最佳逼近定理HH 是向量空間 Fn\mathbb{F}^n 的一個子空間,yFn\forall \vec{y} \in \mathbb{F}^ny^\hat{\vec{y}}y\vec{y}HH 的正交投影 (projHy)\left(\text{proj}_H\vec{y}\right),則 y^\hat{\vec{y}}HH 上最接近 y\vec{y} 的點,即:

yy^<yv\lVert \vec{y} - \hat{\vec{y}} \rVert < \lVert \vec{y} - \vec{v} \rVert

其中 vH,vy^\vec{v} \in H, \vec{v} \neq \hat{\vec{y}}

最佳逼近定理示意圖

Proof.

yv=(yy^)(y^v)\vec{y} - \vec{v} = \left( \vec{y} - \hat{\vec{y}} \right) - \left( \hat{\vec{y}} - \vec{v} \right)

其中 yy^\vec{y} - \hat{\vec{y}}y^vH\hat{\vec{y}} - \vec{v} \in H 正交,由畢達哥拉斯定理可得:

yv2=yy^2+y^v2\lVert \vec{y} - \vec{v} \rVert^2 = \lVert \vec{y} - \hat{\vec{y}} \rVert^2 + \lVert \hat{\vec{y}} - \vec{v} \rVert^2

yv0\vec{y} - \vec{v} \neq\vec{0}y^v2>0\lVert \hat{\vec{y}} - \vec{v} \rVert^2 > 0 ,則定理得證。

定理{u1,,up}\left\{\vec{u_1}, \cdots, \vec{u_p}\right\}Fn\mathbb{F}^n 的子空間 HH 的一個單位正交基,則:

projHy=yu1u12u1++yupup2up=(yu1)u1++(yup)up=[u1up][yu1yup]=[u1up][u1TyupTy]=[u1up][u1TupT]y\begin{aligned} \text{proj}_H\vec{y} &= \frac{\vec{y}\cdot\vec{u_1}}{\lVert \vec{u_1} \rVert^2}\vec{u_1} + \cdots + \frac{\vec{y}\cdot\vec{u_p}}{\lVert \vec{u_p} \rVert^2}\vec{u_p}\\ &=\left(\vec{y}\cdot\vec{u_1}\right)\vec{u_1} + \cdots + \left(\vec{y}\cdot\vec{u_p}\right)\vec{u_p} \\ &= \begin{bmatrix} \vec{u_1} & \cdots & \vec{u_p}\end{bmatrix} \begin{bmatrix} \vec{y}\cdot\vec{u_1} \\ \vdots \\ \vec{y}\cdot\vec{u_p} \end{bmatrix} \\ &= \begin{bmatrix} \vec{u_1} & \cdots & \vec{u_p}\end{bmatrix} \begin{bmatrix} \vec{u_1}^T\vec{y} \\ \vdots \\ \vec{u_p}^T\vec{y} \end{bmatrix} \\ &= \begin{bmatrix} \vec{u_1} & \cdots & \vec{u_p}\end{bmatrix} \begin{bmatrix} \vec{u_1}^T \\ \vdots \\ \vec{u_p}^T \end{bmatrix} \vec{y} \end{aligned}

U=[u1up]U = \begin{bmatrix} \vec{u_1} & \cdots & \vec{u_p}\end{bmatrix},上式為:

UUTyUU^T\vec{y}

最小二乘問題

最小二乘解的定義

現在我們要解 Ax=bA\vec{x}=\vec{b} ,但該線性方程無解(因 b\vec{b} 不在 AA 的列空間),故只能求最優解。一種思路是用找出一個 x\vec{x},讓 AxA\vec{x} 最接近 b\vec{b} ,即 Axb\lVert A\vec{x}-\vec{b}\rVert 最小。下面我們給出最小二乘的定義:

定義 現有矩陣 Am×nA_{m \times n} 及向量 bRm\vec{b} \in \mathbb{R}^mAx=bA\vec{x}=\vec{b}最小二乘解為一個向量 x^Rn\hat{\vec{x}} \in \mathbb{R}^n s.t.

bAx^bAx,xRn\lVert \vec{b}-A\hat{\vec{x}} \rVert \leq \lVert \vec{b}-A\vec{x} \rVert, \forall \vec{x} \in \mathbb{R}^n

最小二乘示意圖

最小二乘解的計算

給定 AAb\vec{b},由最佳逼近定理可知:

b^=projColAb\hat{\vec{b}}=\text{proj}_{\text{Col}A}\vec{b}

故:

Ax^=b^A\hat{\vec{x}} = \hat{\vec{b}}

bAx^\vec{b} - A\hat{\vec{x}}ColA\text{Col}A 正交,把 AA 寫成列向量 A=[a1ap]A = [\vec{a_1} \cdots \vec{a_p}] ,則 bAx^\vec{b} - A\hat{\vec{x}} 也正交於 AA 的任一列向量 (aj=0a1++0aj1+1aj+0aj+1++0apColA)\left( \vec{a_j}= 0\vec{a_1} + \cdots + 0\vec{a_{j-1}} + 1\vec{a_j} + 0\vec{a_{j+1}} + \cdots + 0\vec{a_p} \in \text{Col}A\right) ,故 aj(bAx^)=ajT(bAx^)=0\vec{a_j}\cdot\left(\vec{b} - A\hat{\vec{x}}\right) = \vec{a_j}^T\left(\vec{b} - A\hat{\vec{x}}\right) = 0 ,現在考慮:

AT(bAx^)=[a1TapT](bAx^)=[a1T(bAx^)apT(bAx^)]=[00]=0A^T\left( \vec{b} - A\hat{\vec{x}} \right) =\begin{bmatrix}\vec{a_1}^T\\ \vdots\\ \vec{a_p}^T\end{bmatrix} \left( \vec{b} - A\hat{\vec{x}} \right) = \begin{bmatrix}\vec{a_1}^T\left( \vec{b} - A\hat{\vec{x}} \right) \\ \vdots\\ \vec{a_p}^T\left( \vec{b} - A\hat{\vec{x}} \right) \end{bmatrix} = \begin{bmatrix}0\\ \vdots\\ 0\end{bmatrix} =\vec{0}

進而:

ATbATAx^=0ATAx^=ATbx^=(ATA)1ATb\begin{aligned} A^T\vec{b} - A^TA\hat{\vec{x}} &= \vec{0} \\ A^TA\hat{\vec{x}} &= A^T\vec{b} \\ \hat{\vec{x}} &= \left( A^TA \right)^{-1}A^T\vec{b} \end{aligned}

最小二乘算子解的情況

最小二乘算子不是一定能求出唯一解(雖然正交投影 b^\hat{\vec{b}} 一定唯一),下面的定理給出判斷準則。

定理 今有矩陣 Am×nA_{m \times n} ,下面三條等價:

  1. Ax=bA\vec{x} =\vec{b} 有唯一最小二乘解(bFn)\left( \vec{b} \in \mathbb{F}^n \right)
  2. AA 滿秩
  3. ATAA^TA 可逆
    關於這個定理的證明要放到下次。

總的來說,無解的線性方程 Ax=bA\vec{x} = \vec{b} 的最小二乘法解滿足 AATx=ATbAA^T\vec{x}=A^T\vec{b} ,但該方程不一定有唯一解,只有滿足 AA 滿秩或者 ATAA^TA 可逆時,最小二乘算子才有唯一解。