CS229 斯坦福大學機器學習複習材料(數學基礎) – 線性代數
線性代數提供了一種緊湊地表示和運算「線性方程組」的方法。例如,考慮以下方程組:
-2x_{\scriptscriptstyle 1} + 3x_{\scriptscriptstyle 2} = 9.
4x1−5x2=−13−2x1+3x2=9.
這是兩個方程和兩個變量,正如你從高中代數中所知,你可以找到
x1 和
x2 的唯一解(除非方程以某種方式退化,例如,如果第二個方程只是第一個的倍數,但在上面的情況下,實際上只有一個唯一解)。 在矩陣表示法中,我們可以更緊湊地表達:
Ax=b
其中
4 & -5 \\
-2 & 3
\end{bmatrix},
b=\begin{bmatrix}
-13 \\
9
\end{bmatrix}.
A=[4−2−53],b=[−139].
我們可以看到,以這種形式分析線性方程有許多優點(包括明顯的節省空間)。
我們使用以下符號:
-
用
A∈Rm×n表示一個
m行
n列的矩陣,其中
A的各項都是實數。
-
用
x∈Rn表示具有
n個元素的向量。按照慣例,
n維向量。通常被認為是
n行
1列的矩陣,稱為列向量。如果我們想表示一個行向量: 具有
1 行和
n列的矩陣 – 我們通常寫
xT(這裡
xT表示
x的轉置,我們稍後將定義它)。
-
用
xi表示向量
x的第
i個元素:
x_1 \\
x_2 \\
\vdots \\
x_n
\end{bmatrix}.
x=⎣⎡x1x2⋮xn⎦⎤.
-
我們用符號
aij(or
Aij,
Ai,j)表示
A的第
i行第
j列元素:
a_{11} & a_{12} & \cdots & a_{1n} \\
a_{21} & a_{22} & \cdots & a_{2n} \\
\vdots & \vdots & \ddots & \vdots \\
a_{m1} & a_{m2} & \cdots & a_{mn}
\end{bmatrix}.
A=⎣⎡a11a21⋮am1a12a22⋮am2⋯⋯⋱⋯a1na2n⋮amn⎦⎤.
-
我們將
A的第
j列表示為
aj or
A:,j :
\text{\textbar} & \text{\textbar} & & \text{\textbar} \\
a^1 & a^2 & \cdots & a^n \\
\text{\textbar} & \text{\textbar} & & \text{\textbar}
\end{bmatrix}.
A=⎣⎡|a1||a2|⋯|an|⎦⎤.
-
我們將
A的第
i行表示為
aiT or
Ai,: :
\text{\textemdash} & a_1^T & \text{\textemdash} \\
\text{\textemdash} & a_2^T & \text{\textemdash} \\
& \vdots & \\
\text{\textemdash} & a_m^T & \text{\textemdash} \\
\end{bmatrix}.
A=⎣⎡———a1Ta2T⋮amT———⎦⎤.
-
在許多情況下,將矩陣視為列向量或行向量的集合是非常重要和方便的。一般來說,在數學上(和概念上)向量級別上的操作比標量級別上的操作會更簡潔。表示矩陣的列或行沒有通用約定,因此你可以使用任何符號明確定義它。
矩陣
A∈Rm×n和矩陣
B∈Rn×p的乘積仍然是一個矩陣
C=AB∈Rm×p,其中
Cij=k=1∑nAikBkj.
請注意,為了使矩陣乘積存在,
A中的列數必須等於
B中的行數。有很多方法可以查看矩陣乘法,我們將從檢查一些特殊情況開始。
給兩個向量
x,y∈Rn,
xTy通常稱為向量的內積或者點積,結果是個實數:
\begin{bmatrix}x_1 & x_2 & \cdots & x_n\end{bmatrix}
\begin{bmatrix}y_1 \\ y_2 \\ \vdots \\ y_n \end{bmatrix}
= \sum_{i=1}^n{x_iy_i}
xTy∈R=[x1x2⋯xn]⎣⎡y1y2⋮yn⎦⎤=i=1∑nxiyi
請注意,內積實際上只是矩陣乘法的特例。
xTy=yTx 始終成立。
給定向量
x∈Rm,y∈Rn(
m不一定等於
n),
xyT∈Rm×n叫向量外積,它是一個矩陣,由
(xyT)ij=xiyj組成,也就是(i.e.):
\begin{bmatrix}x_1 \\ x_2 \\ \vdots \\ x_m \end{bmatrix}
\begin{bmatrix}y_1 & y_2 & \cdots & y_n\end{bmatrix}=
\begin{bmatrix}
x_1y_1 & x_1y_2 & \cdots & x_1y_n \\
x_2y_1 & x_2y_2 & \cdots & x_2y_n \\
\vdots & \vdots & \ddots & \vdots \\
x_my_1 & x_my_2 & \cdots & x_my_n
\end{bmatrix}
xyT∈Rm×n=⎣⎡x1x2⋮xm⎦⎤[y1y2⋯yn]=⎣⎡x1y1x2y1⋮xmy1x1y2x2y2⋮xmy2⋯⋯⋱⋯x1ynx2yn⋮xmyn⎦⎤
舉一個外積如何使用的一個例子:讓
1∈Rn表示一個
n維向量,其元素都等於 1,此外,考慮矩陣
A∈Rm×n,其列全部是某個向量
x∈Rm。 我們可以使用外積緊湊地表示矩陣
A:
\text{\textbar} & \text{\textbar} & & \text{\textbar} \\
x & x & \cdots & x \\
\text{\textbar} & \text{\textbar} & & \text{\textbar}
\end{bmatrix}=
\begin{bmatrix}
x_{1} & x_{1} & \cdots & x_{1} \\
x_{2} & x_{2} & \cdots & x_{2} \\
\vdots & \vdots & \ddots & \vdots \\
x_{m} & x_{m} & \cdots & x_{m}
\end{bmatrix}=
\begin{bmatrix}x_1 \\ x_2 \\ \vdots \\ x_m \end{bmatrix}
\begin{bmatrix}1 & 1 & \cdots & 1\end{bmatrix}=\boldsymbol{x}\boldsymbol{1}^T
A=⎣⎡|x||x|⋯|x|⎦⎤=⎣⎡x1x2⋮xmx1x2⋮xm⋯⋯⋱⋯x1x2⋮xm⎦⎤=⎣⎡x1x2⋮xm⎦⎤[11⋯1]=x1T
給定矩陣
A∈Rm×n,向量
x∈Rn , 它們的積是一個向量
y=Ax∈Rm。 有幾種方法可以查看矩陣向量乘法。
如果我們按行寫
A,那麼我們可以表示
Ax為:
\begin{bmatrix}
\text{\textemdash} & a_1^T & \text{\textemdash} \\
\text{\textemdash} & a_2^T & \text{\textemdash} \\
& \vdots & \\
\text{\textemdash} & a_m^T & \text{\textemdash} \\
\end{bmatrix}\boldsymbol{x}=
\begin{bmatrix} a_1^T\boldsymbol{x} \\ a_2^T\boldsymbol{x} \\ \vdots \\ a_m^T\boldsymbol{x} \end{bmatrix}
y=Ax=⎣⎡———a1Ta2T⋮amT———⎦⎤x=⎣⎡a1Txa2Tx⋮amTx⎦⎤
換句話說,第
i個
y的元素是
A的第
i行和
x的內積,即:
yi=aiTx。
同樣的, 可以把
A 寫成列的方式,如下:
\begin{bmatrix}
\text{\textbar} & \text{\textbar} & & \text{\textbar} \\
a^1 & a^2 & \cdots & a^n \\
\text{\textbar} & \text{\textbar} & & \text{\textbar}
\end{bmatrix}
\begin{bmatrix}x_1 \\ x_2 \\ \vdots \\ x_n \end{bmatrix}=
[a^1]x_1 + [a^2]x_2 + \cdots +[a^n]x_n
\label{1}\tag{1}
y=Ax=⎣⎡|a1||a2|⋯|an|⎦⎤⎣⎡x1x2⋮xn⎦⎤=[a1]x1+[a2]x2+⋯+[an]xn(1)
換句話說,
y是
A的列的線性組合,其中線性組合的係數由
x的元素給出。
到目前為止,我們一直是矩陣右乘一個列向量,但也可以是矩陣左乘一個行向量。如這樣表示:
yT=xTA 其中
A∈Rm×n,
x∈Rm,
y∈Rn。 和以前一樣,我們可以用兩種可行的方式表達
yT,這取決於我們是否根據行或列表達
A.
首先,我們把
A用列表示:
\begin{bmatrix}
\text{\textbar} & \text{\textbar} & & \text{\textbar} \\
a^1 & a^2 & \cdots & a^n \\
\text{\textbar} & \text{\textbar} & & \text{\textbar}
\end{bmatrix}=
\begin{bmatrix}\boldsymbol{x}^Ta^1 & \boldsymbol{x}^Ta^2 & \cdots & \boldsymbol{x}^Ta^n \end{bmatrix}
yT=xTA=xT⎣⎡|a1||a2|⋯|an|⎦⎤=[xTa1xTa2⋯xTan]
這表明
yT的第
i個元素等於
x和
A的第
i列的內積。
最後,根據行表示
A,我們得到了向量-矩陣乘積的最終表示:
\boldsymbol{y}^T &= \boldsymbol{x}^TA \\&=
\begin{bmatrix} x_1 & x_2 & \cdots & x_n \end{bmatrix}
\begin{bmatrix}
\text{\textemdash} & a_1^T & \text{\textemdash} \\
\text{\textemdash} & a_2^T & \text{\textemdash} \\
& \vdots & \\
\text{\textemdash} & a_m^T & \text{\textemdash} \\
\end{bmatrix}\\&=
x_1\begin{bmatrix}\text{\textemdash} & a_1^T & \text{\textemdash}\end{bmatrix}+
x_2\begin{bmatrix}\text{\textemdash} & a_2^T & \text{\textemdash}\end{bmatrix}+ \cdots +
x_n\begin{bmatrix}\text{\textemdash} & a_n^T & \text{\textemdash}\end{bmatrix}
\end{aligned}
yT=xTA=[x1x2⋯xn]⎣⎡———a1Ta2T⋮amT———⎦⎤=x1[—a1T—]+x2[—a2T—]+⋯+xn[—anT—]
所以我們看到
yT是
A的行的線性組合,其中線性組合的係數由
x的元素給出。
有了這些知識,我們現在可以看看四種不同的(當然是等價的)查看矩陣與矩陣乘法
C=AB的方法。
首先,我們可以將矩陣-矩陣乘法視為一組向量-向量乘積。 從定義中可以得出:最明顯的觀點是
C的(
i,j)元素等於
A的第
i行和
B的的
j列的內積。如下所示:
\begin{bmatrix}
\text{\textemdash} & a_1^T & \text{\textemdash} \\
\text{\textemdash} & a_2^T & \text{\textemdash} \\
& \vdots & \\
\text{\textemdash} & a_m^T & \text{\textemdash} \\
\end{bmatrix}
\begin{bmatrix}
\text{\textbar} & \text{\textbar} & & \text{\textbar} \\
b^1 & b^2 & \cdots & b^p \\
\text{\textbar} & \text{\textbar} & & \text{\textbar}
\end{bmatrix}=
\begin{bmatrix}
a_1b_1 & a_1b_2 & \cdots & a_1b_p \\
a_2b_1 & a_2b_2 & \cdots & a_2b_p \\
\vdots & \vdots & \ddots & \vdots \\
a_mb_1 & a_mb_2 & \cdots & a_mb_p
\end{bmatrix}
C=AB=⎣⎡———a1Ta2T⋮amT———⎦⎤⎣⎡|b1||b2|⋯|bp|⎦⎤=⎣⎡a1b1a2b1⋮amb1a1b2a2b2⋮amb2⋯⋯⋱⋯a1bpa2bp⋮ambp⎦⎤
這裡的矩陣
A∈Rm×n,B∈Rn×p , 向量
ai∈Rn,bj∈Rn ,所以它們可以計算內積。當我們用行表示
A 和用列表示
B 時,這是最「自然」的表示。
另外,我們可以用列表示
A,用行表示
B。這種表示導致將
AB 解釋為外積之和,這種表示則複雜得多。象徵性地,
\begin{bmatrix}
\text{\textbar} & \text{\textbar} & & \text{\textbar} \\
a^1 & a^2 & \cdots & a^n \\
\text{\textbar} & \text{\textbar} & & \text{\textbar}
\end{bmatrix}
\begin{bmatrix}
\text{\textemdash} & b_1^T & \text{\textemdash} \\
\text{\textemdash} & b_2^T & \text{\textemdash} \\
& \vdots & \\
\text{\textemdash} & b_n^T & \text{\textemdash} \\
\end{bmatrix}=
\sum_{i=1}^n{a^ib_i^T}
C=AB=⎣⎡|a1||a2|⋯|an|⎦⎤⎣⎡———b1Tb2T⋮bnT———⎦⎤=i=1∑naibiT
換句話說,
AB等於所有的
A的第
i列和
B第
i行的外積的和。因此,在這種情況下,
ai∈Rm和
bi∈Rp, 外積
aibiT的維度是
m×p,與
C的維度一致。
其次,我們還可以將矩陣-矩陣乘法視為一組矩陣-向量乘法。如果我們把
B用列表示,我們可以將
C的列視為
A和
B的列(矩陣-向量)的乘積。如下所示:
\begin{bmatrix}
\text{\textbar} & \text{\textbar} & & \text{\textbar} \\
b^1 & b^2 & \cdots & b^p \\
\text{\textbar} & \text{\textbar} & & \text{\textbar}
\end{bmatrix}=
\begin{bmatrix}
\text{\textbar} & \text{\textbar} & & \text{\textbar} \\
Ab^1 & Ab^2 & \cdots & Ab^p \\
\text{\textbar} & \text{\textbar} & & \text{\textbar}
\end{bmatrix}
\label{2}\tag{2}
C=AB=A⎣⎡|b1||b2|⋯|bp|⎦⎤=⎣⎡|Ab1||Ab2|⋯|Abp|⎦⎤(2)
這裡
C的第
i列由矩陣-向量乘積給出,右邊的向量為
ci=Abi。
最後,我們有類似的觀點,我們用行表示
A,並將
C的行視為
A的行和
B之間的矩陣-向量乘積。如下所示:
\begin{bmatrix}
\text{\textemdash} & a_1^T & \text{\textemdash} \\
\text{\textemdash} & a_2^T & \text{\textemdash} \\
& \vdots & \\
\text{\textemdash} & a_m^T & \text{\textemdash} \\
\end{bmatrix}B=
\begin{bmatrix}
\text{\textemdash} & a_1^TB & \text{\textemdash} \\
\text{\textemdash} & a_2^TB & \text{\textemdash} \\
& \vdots & \\
\text{\textemdash} & a_m^TB & \text{\textemdash} \\
\end{bmatrix}
C=AB=⎣⎡———a1Ta2T⋮amT———⎦⎤B=⎣⎡———a1TBa2TB⋮amTB———⎦⎤
這裡
C的第
i行由矩陣-向量乘積給出:
ciT=aiTB。
將矩陣乘法剖析到如此大的程度似乎有點矯枉過正,特別是當所有這些觀點都緊跟在我們在本節開頭給出的初始定義(
C=AB)之後。
這些不同方法的直接優勢在於它們允許您在向量的級別/單位而不是標量上進行操作。 為了完全理解線性代數而不會迷失在複雜的索引操作中,關鍵是操作儘可能大(向量而不是標量)的概念。
實際上所有的線性代數都是在處理某種矩陣乘法,多花一些時間對這裡提出的觀點進行直觀的理解是非常必要的。
除此之外,你還應該了解一些更高級別的矩陣乘法的基本性質:
- 矩陣乘法結合律:
(AB)C=A(BC)
- 矩陣乘法分配律:
A(B+C)=AB+AC
- 矩陣乘法一般是不可交換的; 也就是說,通常
AB=BA。 (例如,假設
A∈Rm×n,
B∈Rn×p,如果
m和
q不相等,矩陣乘積
BA甚至不存在!)
如果您不熟悉這些性質,請花點時間自己驗證它們。 例如,為了檢查矩陣乘法的結合性,假設
A∈Rm×n,
B∈Rn×p,
C∈Rp×q。 注意
AB∈Rm×p,所以
(AB)C∈Rm×q。 類似地,
BC∈Rn×q,所以
A(BC)∈Rm×q。 因此,所得矩陣的維度一致。 為了驗證矩陣乘法的結合性,檢查
(AB)C的(
i,j)元素是否等於
A(BC)的(
i,j)元素。 我們可以使用矩陣乘法的定義直接驗證這一點:
((A B) C)_{ij} &= \sum_{k=1}^p{(AB)_{ik}C_{kj}} = \sum_{k=1}^p \Bigg( \sum_{l=1}^n{A_{il}B_{lk}} \Bigg) C_{kj} \\
&=\sum_{k=1}^p \Bigg( \sum_{l=1}^n{A_{il}B_{lk}C_{kj}}\Bigg) = \sum_{l=1}^n \Bigg( \sum_{k=1}^p{A_{il}B_{lk}C_{kj}}\Bigg)\\
&=\sum_{l=1}^nA_{il}\Bigg(\sum_{k=1}^p{B_{lk}C_{kj}}\Bigg) = \sum_{l=1}^n{A_{il}(BC)_{lj}} = (A(BC))_{ij}
\end{aligned}
((AB)C)ij=k=1∑p(AB)ikCkj=k=1∑p(l=1∑nAilBlk)Ckj=k=1∑p(l=1∑nAilBlkCkj)=l=1∑n(k=1∑pAilBlkCkj)=l=1∑nAil(k=1∑pBlkCkj)=l=1∑nAil(BC)lj=(A(BC))ij
這裡,第一個和最後兩個等式簡單地使用了矩陣乘法的定義,第三個和第五個等式使用了標量乘法對加法的分配性質,第四個等式使用了標量加法的交換性和結合性。 這種通過簡化為簡單標量性質來證明矩陣性質的技術會經常出現,因此請確保您熟悉它。
在本節中,我們將介紹矩陣和向量的幾種操作和性質。 希望其中的大部分內容都可以幫您複習,此筆記可以作為參考。
單位矩陣用
I∈Rn×n表示,它是一個方陣,對角線的元素是 1,其餘元素都是 0。可以這樣表示:
\begin{cases}
1 & i=j \\
0 & i \neq j
\end{cases}.
Iij={10i=ji=j.
對於所有矩陣
A∈Rm×n,有:
AI=A=IA
注意,在某種意義上,上面單位矩陣的表示法是不明確的,因為它沒有指定
I的維數。通常,
I的維數是從上下文推斷出來的,以便使矩陣乘法成為可能。 例如,在上面的等式中,
AI=A中的
I是
n×n矩陣,而
A=IA中的
I是
m×m矩陣。
對角矩陣的非對角元素全為 0。對角陣通常表示為:
D=diag(d1,d2,⋯,dn),其中:
\begin{cases}
d_i & i=j \\
0 & i \neq j
\end{cases}.
Dij={di0i=ji=j.
很明顯,單位矩陣
I=diag(1,1,⋯,1)。
矩陣的轉置是指翻轉矩陣的行和列。給定一個矩陣
A∈Rm×n,它的轉置
AT∈Rn×m ,其中的元素為:
(AT)ij=Aji.
事實上,我們在描述行向量時已經使用了轉置,因為列向量的轉置自然是行向量。
轉置有以下性質,且很容易驗證:
(AT)T=A
(AB)T=BTAT
(A+B)T=AT+BT
如果
A=AT,那麼方陣
A∈Rn×n是對稱的。
- 元素滿足
aij=aji,∀i,j
A=AT
- 對於任意方陣
A,
A+AT是對稱的
- 對角矩陣都是對稱矩陣
如果
A=−AT,那麼它就是反對稱的。
- 元素滿足
aij=−aji,∀i,j,所以當
i=j時,
aij=0
A,B都為反對稱矩陣,則
A±B仍為反對稱矩陣
- 若
A為反對稱矩陣,
B為對稱矩陣,則
AB−BA為對稱矩陣
很容易證明,對於任何矩陣
A∈Rn×n,矩陣
A+AT是對稱的,矩陣
A−AT是反對稱的。
由此得出,任意方矩陣
A∈Rn×n可以表示為對稱矩陣和反對稱矩陣的和,所以:
A=21(A+AT)+21(A−AT)
事實證明,對稱矩陣在實踐中用到很多,它們有很多很好的性質,我們很快就會看到它們。
通常將大小為
n的所有對稱矩陣的集合表示為
Sn,因此
A∈Sn意味着
A是對稱的
n×n矩陣。
方矩陣
A∈Rn×n的跡,表示為
tr(A)(或者
trA,括號顯然是隱含的),是矩陣中對角元素的總和:
trA=i=1∑nAii
如 CS229 講義中所述,跡具有以下性質(如下所示):
- 對於矩陣
A∈Rn×n,則:
trA=trAT
- 對於矩陣
A,B∈Rn×n,則:
tr(A+B)=trA+trB
- 對於矩陣
A∈Rn×n,
t∈R,則:
tr(tA)=ttrA.
- 對於矩陣
A,
B,
AB 為方陣, 則:
trAB=trBA
- 對於矩陣
A,
B,
C,
ABC為方陣(包含 1*1 的矩陣-標量), 則:
trABC=trBCA=trCAB, 同理,更多矩陣的積也是有這個性質。
我們給出第四個性質的證明。假設
A∈Rm×n和
B∈Rn×m(因此
AB∈Rm×m是方陣)。 觀察到
BA∈Rn×n也是一個方陣,因此對它們進行跡的運算是有意義的。 要證明
trAB=trBA,注意:
\operatorname{tr} A B &=\sum_{i=1}^{m}(A B)_{i i}=\sum_{i=1}^{m}\left(\sum_{j=1}^{n} A_{i j} B_{j i}\right) \\
&=\sum_{i=1}^{m} \sum_{j=1}^{n} A_{i j} B_{j i}=\sum_{j=1}^{n} \sum_{i=1}^{m} B_{j i} A_{i j} \\
&=\sum_{j=1}^{n}\left(\sum_{i=1}^{m} B_{j i} A_{i j}\right)=\sum_{j=1}^{n}(B A)_{j j}=\operatorname{tr} B A
\end{aligned}
trAB=i=1∑m(AB)ii=i=1∑m(j=1∑nAijBji)=i=1∑mj=1∑nAijBji=j=1∑ni=1∑mBjiAij=j=1∑n(i=1∑mBjiAij)=j=1∑n(BA)jj=trBA
這裡,第一個和最後兩個等式使用了跡運算符和矩陣乘法的定義。 重點在第四個等式,使用標量乘法的交換性來反轉每個乘積中的項的順序,以及標量加法的交換性和結合性來重新排列求和的順序。
向量的範數
∥x∥是非正式度量的向量的「長度」 。 例如,我們有常用的歐幾里德或
ℓ2範數,
∥x∥2=i=1∑nxi2
注意:
∥x∥22=xTx
更正式地,範數是滿足 4 個性質的函數(
f:Rn→R):
- 對於所有的
x∈Rn,
f(x)≥0(非負性).
- 當且僅當
x=0 時,
f(x)=0 (確定性).
- 對於所有
x∈Rn,
t∈R,則
f(tx)=∣t∣f(x) (正齊次性).
- 對於所有
x,y∈Rn,
f(x+y)≤f(x)+f(y) (三角不等式)
其他範數的例子,如:
ℓ1範數:
∥x∥1=i=1∑n∣xi∣
和
ℓ∞範數:
∥x∥∞=imax∣xi∣
事實上,到目前為止所提出的所有三個範數都是
ℓp範數族的例子,它們由實數
p≥1參數化,並定義為:
∥x∥p=(i=1∑n∣xi∣p)1/p
也可以為矩陣定義範數,例如Frobenius範數:
∥A∥F=i=1∑mj=1∑nAij2=tr(ATA)
還有很多其他範數,但它們超出了這個複習材料的範圍。
一個向量集合
{x1,x2,⋯xn}⊂Rm, 如果沒有向量可以表示為其餘向量的線性組合,則稱稱該向量是線性無關的。 相反,如果屬於該組的一個向量可以表示為其餘向量的線性組合,則稱該向量是線性相關的。 也就是說,如果:
xj=i=1,i=j∑nαixi
存在
α1,⋯αn∈R,那麼向量
x1,x2,⋯xn是線性相關的; 否則,向量是線性無關的。
另一種線性相關的描述(存在不全為零的數
αi,使得等式成立):
i=1∑nαixi=0,∃αi=0
例如,向量:
\begin{bmatrix}
1 \\
2 \\
3
\end{bmatrix} \quad
x_{2}=
\begin{bmatrix}
4 \\
1 \\
5
\end{bmatrix} \quad
x_{3}=
\begin{bmatrix}
2 \\
-3 \\
-1
\end{bmatrix}
x1=⎣⎡123⎦⎤x2=⎣⎡415⎦⎤x3=⎣⎡2−3−1⎦⎤
是線性相關的,因為:
x3=−2x1+x2。
矩陣
A∈Rm×n的列秩是構成線性無關集合的
A的最大列子集的大小。 由於術語的多樣性,這通常簡稱為
A的線性無關列的數量。同樣,行秩是構成線性無關集合的
A的最大行數。
對於任何矩陣
A∈Rm×n,事實證明
A的列秩等於
A的行秩(儘管我們不會證明這一點),因此兩個量統稱為
A的秩,用
rank(A)表示。 以下是秩的一些基本性質:
- 對於
A∈Rm×n,
rank(A)≤min(m,n),如果
(A)=min(m,n),則:
A 被稱作滿秩。
- 對於
A∈Rm×n,
rank(A)=rank(AT)
- 對於
A∈Rm×n,
B∈Rn×p ,
rank(AB)≤min(rank(A),rank(B))
- 對於
A,B∈Rm×n,
rank(A+B)≤rank(A)+rank(B)
方陣
A∈Rn×n的逆表示為
A−1,並且是這樣的唯一矩陣:
A−1A=I=AA−1
請注意,並非所有矩陣都具有逆。 例如,非方形矩陣根據定義沒有逆(存在偽逆)。 然而,對於一些方形矩陣
A,
A−1也可能不存在。 特別是,如果
A−1存在,我們說
A是可逆的或非奇異的,否則就是不可逆或奇異的。
為了使方陣 A 具有逆
A−1,則
A必須是滿秩。 我們很快就會發現,除了滿秩之外,還有許多其它的充分必要條件。
以下是逆的性質; 假設
A,B∈Rn×n,而且是非奇異的:
(A−1)−1=A
(AB)−1=B−1A−1
(A−1)T=(AT)−1因此,該矩陣通常表示為
A−T。
作為如何使用逆的示例,考慮線性方程組,
Ax=b,其中
A∈Rn×n,
x,b∈R, 如果
A是非奇異的(即可逆的),那麼
x=A−1b。 (如果
A∈Rm×n,不是方陣,這公式還有用嗎? – 偽逆)
如果
xTy=0,則兩個向量
x,y∈Rn 是正交的。如果
∥x∥2=1,則向量
x∈Rn 被歸一化。如果一個方陣
U∈Rn×n的所有列彼此正交並被歸一化,則方陣
U是正交矩陣(注意在討論向量與矩陣時的意義不一樣,兩個向量正交只需要內積為 0,正交矩陣是各列相互正交並且被歸一化)。
它可以從正交性和正態性的定義中得出:
UTU=I=UUT
換句話說,正交矩陣的逆是其轉置。 注意,如果
U不是方陣, 即,
U∈Rm×n,n<m ,但其列仍然是正交的,則
UTU=I,但是
UUT=I。所以正交矩陣一定是方陣。
正交矩陣的另一個好的特性是在具有正交矩陣的向量上操作不會改變其歐幾里德範數,即(i.e.):
\label{3}\tag{3}
∥Ux∥2=∥x∥2(3)
對於任何
x∈Rn ,
U∈Rn×n是正交矩陣。
張成一個向量集合
{x1,x2,⋯xn}可以表示為一個向量集合
{x1,⋯xn}的所以線性組合:
span({x1,⋯xn})={v:v=i=1∑nαixi,αi∈R}
可以看到,如果
{x1,⋯xn}是一組
n個線性無關的向量,其中每個
xi∈Rn,則
span({x1,…xn})=Rn。 換句話說,任何向量
v∈Rn都可以寫成
x1到
xn的線性組合。
向量
y∈Rm投影到
{x1,…xn}所張成的空間(這裡我們假設
xi∈Rm)得到向量
v∈span({x1,…,xn}),由歐幾里德範數
∥v−y∥2可以得知,這樣
v儘可能接近
y。
我們將投影表示為
Proj(y;{x1,…xn}),並且可以將其正式定義為:
Proj(y;{x1,…xn})=argminv∈span({x1,…,xn})∥y−v∥2
矩陣
A∈Rm×n的值域(有時也稱為列空間),表示為
R(A),是
A的列所張成的空間。換句話說,
R(A)={v∈Rm:v=Ax,x∈Rn}
做一些技術性的假設(即
A是滿秩且
n<m),向量
y∈Rm到
A的值域的投影由下式給出:
Proj(y;A)=argminv∈R(A)∥v−y∥2=A(ATA)−1ATy
這個最後的方程應該看起來非常熟悉,因為它幾乎與我們在課程中(我們將很快再次得出)得到的公式:與參數的最小二乘估計一樣。
看一下投影的定義,顯而易見,這實際上是我們在最小二乘問題中最小化的目標(除了範數的平方這裡有點不一樣,這不會影響找到最優解),所以這些問題自然是非常相關的。
當
A只包含一列時,
a∈Rm,這給出了向量投影到一條線上的特殊情況:
Proj(y;a)=aTaaaTy
一個矩陣
A∈Rm×n的零空間
N(A) 是所有乘以
A時等於 0 向量的集合,即:
N(A)={x∈Rn:Ax=0}
注意,
R(A)中的向量的大小為
m,而
N(A) 中的向量的大小為
n,因此
R(AT)和
N(A) 中的向量的大小均為
Rn。 事實上,還有很多例子。 證明:
{w:w=u+v,u∈R(AT),v∈N(A)}=Rn and R(AT)∩N(A)={0}
換句話說,
R(AT)和
N(A) 是不相交的子集,它們一起跨越
Rn的整個空間。 這種類型的集合稱為正交補,我們用
R(AT)=N(A)⊥表示。
一個方陣
A∈Rn×n的行列式是函數
det:
Rn×n→Rn,並且表示為
∣A∣或者
detA(有點像跡運算符,我們通常省略括號)。在代數上,我們可以寫出 A 的行列式的明確公式,但不幸的是,這並不能直觀地理解它的含義。 相反,我們將從提供行列式的幾何解釋開始,然後訪問其一些特定的代數性質。
給定一個矩陣:
\text{\textemdash} & a_1^T & \text{\textemdash} \\
\text{\textemdash} & a_2^T & \text{\textemdash} \\
& \vdots & \\
\text{\textemdash} & a_n^T & \text{\textemdash} \\
\end{bmatrix}
⎣⎡———a1Ta2T⋮anT———⎦⎤
考慮通過採用
A行向量
a1,…an∈Rn的所有可能線性組合形成的點
S⊂Rn的集合,其中線性組合的係數都在 0 和 1 之間; 也就是說,集合
S是
span({a1,…an})受到係數
α1,…αn的限制的線性組合,
α1,⋯,αn滿足
0≤αi≤1,i=1,…,n。從形式上看,
S={v∈Rn:v=i=1∑nαiai where 0≤αi≤1,i=1,…,n}
事實證明,
A的行列式的絕對值是對集合
S的「體積」的度量。
比方說:一個
2×2的矩陣(4):
\begin{bmatrix}
1 & 3 \\
3 & 2
\end{bmatrix}
\label{4}\tag{4}
A=[1332](4)
它的矩陣的行是:
\quad
a_{2}=\left[\begin{array}{l}{3} \\ {2}\end{array}\right]
a1=[13]a2=[32]
對應於這些行對應的集合
S如圖 1 所示。對於二維矩陣,
S通常具有平行四邊形的形狀。 在我們的例子中,行列式的值是
∣A∣=−7(可以使用本節後面顯示的公式計算),因此平行四邊形的面積為 7。(請自己驗證!)
在三維中,集合
S對應於一個稱為平行六面體的對象(一個有傾斜邊的三維框,這樣每個面都有一個平行四邊形)。行定義
S的
3×3矩陣 S 的行列式的絕對值給出了平行六面體的三維體積。在更高的維度中,集合
S是一個稱為
n維平行體的對象。