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维平行体的对象。