CS229 斯坦福大学机器学习复习材料(数学基础) 线性代数回顾与参考

CS229 斯坦福大学机器学习复习材料(数学基础) - 线性代数

1 基本概念和符号

线性代数提供了一种紧凑地表示和运算“线性方程组”的方法。例如,考虑以下方程组:

4x15x2=132x1+3x2=9.4x_{scriptscriptstyle 1} - 5x_{scriptscriptstyle 2} = -13\ -2x_{scriptscriptstyle 1} + 3x_{scriptscriptstyle 2} = 9.

这是两个方程和两个变量,正如你从高中代数中所知,你可以找到 x1x_1x2x_2 的唯一解(除非方程以某种方式退化,例如,如果第二个方程只是第一个的倍数,但在上面的情况下,实际上只有一个唯一解)。 在矩阵表示法中,我们可以更紧凑地表达:

Ax=bAx= b

其中

A=[4523],b=[139].A=egin{bmatrix} 4 & -5 \ -2 & 3 end{bmatrix}, b=egin{bmatrix} -13 \ 9 end{bmatrix}.

我们可以看到,以这种形式分析线性方程有许多优点(包括明显的节省空间)。

1.1 基本符号

我们使用以下符号:

  • ARm×nA in Bbb{R}^{m imes n}表示一个mmnn列的矩阵,其中AA的各项都是实数。

  • xRnoldsymbol{x} in Bbb{R}^{n}表示具有nn个元素的向量。按照惯例,nn维向量。通常被认为是nn11列的矩阵,称为x的转置,我们稍后将定义它)。

  • xix_i表示向量xoldsymbol{x}的第ii个元素:
    x=[x1x2xn].oldsymbol{x}=egin{bmatrix} x_1 \ x_2 \ vdots \ x_n end{bmatrix}.

  • 我们用符号aija_{scriptscriptstyle ij}(or AijA_{ij}, Ai,jA_{i,j})表示AA的第ii行第jj列元素:

    A=[a11a12a1na21a22a2nam1am2amn].A=egin{bmatrix} 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}.

  • 我们将AA的第jj列表示为aja^j or A:,jA_{:,j}

    A=[|||a1a2an|||].A = egin{bmatrix} ext{ extbar} & ext{ extbar} & & ext{ extbar} \ a^1 & a^2 & cdots & a^n \ ext{ extbar} & ext{ extbar} & & ext{ extbar} end{bmatrix}.

  • 我们将AA的第ii行表示为aiTa_i^T or Ai,:A_{i,:}

    A=[a1Ta2TamT].A = egin{bmatrix} ext{ extemdash} & a_1^T & ext{ extemdash} \ ext{ extemdash} & a_2^T & ext{ extemdash} \ & vdots & \ ext{ extemdash} & a_m^T & ext{ extemdash} \ end{bmatrix}.

  • 在许多情况下,将矩阵视为列向量或行向量的集合是非常重要和方便的。一般来说,在数学上(和概念上)向量级别上的操作比标量级别上的操作会更简洁。表示矩阵的列或行没有通用约定,因此你可以使用任何符号明确定义它。

2 矩阵乘法

矩阵ARm×nA in Bbb{R}^{m imes n}和矩阵BRn×pB in Bbb{R}^{n imes p}的乘积仍然是一个矩阵C=ABRm×pC = AB in Bbb{R}^{m imes p},其中Cij=k=1nAikBkjC_{ij} = displaystylesum_{k=1}^n {A_{ik}B_{kj}}.
请注意,为了使矩阵乘积存在,AA中的列数必须等于BB中的行数。有很多方法可以查看矩阵乘法,我们将从检查一些特殊情况开始。

2.1 向量-向量乘法

给两个向量x,yRnoldsymbol{x},oldsymbol{y} in Bbb{R}^n, xTyoldsymbol{x}^T oldsymbol{y}通常称为向量的点积,结果是个实数:

xTyR=[x1x2xn][y1y2yn]=i=1nxiyioldsymbol{x}^T oldsymbol{y} in Bbb{R} = egin{bmatrix}x_1 & x_2 & cdots & x_nend{bmatrix} egin{bmatrix}y_1 \ y_2 \ vdots \ y_n end{bmatrix} = sum_{i=1}^n{x_iy_i}

请注意,内积实际上只是矩阵乘法的特例。xTy=yTxoldsymbol{x}^T oldsymbol{y} = oldsymbol{y}^T oldsymbol{x} 始终成立。
给定向量xRm,yRnoldsymbol{x} in Bbb{R}^m , oldsymbol{y} in Bbb{R}^n(mm不一定等于nn), xyTRm×noldsymbol{x} oldsymbol{y}^T in Bbb{R}^{m imes n}叫向量组成,也就是(i.e.):

xyTRm×n=[x1x2xm][y1y2yn]=[x1y1x1y2x1ynx2y1x2y2x2ynxmy1xmy2xmyn]oldsymbol{x} oldsymbol{y}^T in Bbb{R}^{m imes n}= egin{bmatrix}x_1 \ x_2 \ vdots \ x_m end{bmatrix} egin{bmatrix}y_1 & y_2 & cdots & y_nend{bmatrix}= egin{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}

举一个外积如何使用的一个例子:让1Rnoldsymbol{1}in Bbb{R}^{n}表示一个nn维向量,其元素都等于 1,此外,考虑矩阵ARm×nA in Bbb{R}^{m imes n},其列全部是某个向量 xRmoldsymbol{x} in R^{m}。 我们可以使用外积紧凑地表示矩阵 AA:

A=[|||xxx|||]=[x1x1x1x2x2x2xmxmxm]=[x1x2xm][111]=x1TA=egin{bmatrix} ext{ extbar} & ext{ extbar} & & ext{ extbar} \ x & x & cdots & x \ ext{ extbar} & ext{ extbar} & & ext{ extbar} end{bmatrix}= egin{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}= egin{bmatrix}x_1 \ x_2 \ vdots \ x_m end{bmatrix} egin{bmatrix}1 & 1 & cdots & 1end{bmatrix}=oldsymbol{x}oldsymbol{1}^T

2.2 矩阵-向量乘法

给定矩阵 ARm×nA in mathbb{R}^{m imes n},向量 xRnoldsymbol{x} in mathbb{R}^{n} , 它们的积是一个向量 y=AxRmoldsymbol{y} = Aoldsymbol{x} in mathbb{R}^{m}。 有几种方法可以查看矩阵向量乘法。

如果我们按行写AA,那么我们可以表示AxAoldsymbol{x}为:

y=Ax=[a1Ta2TamT]x=[a1Txa2TxamTx]oldsymbol{y} = Aoldsymbol{x} = egin{bmatrix} ext{ extemdash} & a_1^T & ext{ extemdash} \ ext{ extemdash} & a_2^T & ext{ extemdash} \ & vdots & \ ext{ extemdash} & a_m^T & ext{ extemdash} \ end{bmatrix}oldsymbol{x}= egin{bmatrix} a_1^Toldsymbol{x} \ a_2^Toldsymbol{x} \ vdots \ a_m^Toldsymbol{x} end{bmatrix}

换句话说,第iiyy的元素是AA的第ii行和xoldsymbol{x}的内积,即:yi=aiTxy_i=a_{i}^{T} oldsymbol{x}

同样的, 可以把 AA 写成列的方式,如下:

y=Ax=[|||a1a2an|||][x1x2xn]=[a1]x1+[a2]x2++[an]xn(1)oldsymbol{y} = Aoldsymbol{x} = egin{bmatrix} ext{ extbar} & ext{ extbar} & & ext{ extbar} \ a^1 & a^2 & cdots & a^n \ ext{ extbar} & ext{ extbar} & & ext{ extbar} end{bmatrix} egin{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} ag{1}

换句话说,yoldsymbol{y}AA的列的x的元素给出。

到目前为止,我们一直是矩阵右乘一个列向量,但也可以是矩阵左乘一个行向量。如这样表示:yT=xTAoldsymbol{y}^T = oldsymbol{x}^TA 其中ARm×nA in mathbb{R}^{m imes n}xRmoldsymbol{x} in mathbb{R}^{m}yRnoldsymbol{y} in mathbb{R}^{n}。 和以前一样,我们可以用两种可行的方式表达yToldsymbol{y}^T,这取决于我们是否根据行或列表达AA.

首先,我们把AA用列表示:

yT=xTA=xT[|||a1a2an|||]=[xTa1xTa2xTan]oldsymbol{y}^T = oldsymbol{x}^TA = oldsymbol{x}^T egin{bmatrix} ext{ extbar} & ext{ extbar} & & ext{ extbar} \ a^1 & a^2 & cdots & a^n \ ext{ extbar} & ext{ extbar} & & ext{ extbar} end{bmatrix}= egin{bmatrix}oldsymbol{x}^Ta^1 & oldsymbol{x}^Ta^2 & cdots & oldsymbol{x}^Ta^n end{bmatrix}

这表明yToldsymbol{y}^T的第ii个元素等于xoldsymbol{x}AA的第ii列的内积。

最后,根据行表示AA,我们得到了向量-矩阵乘积的最终表示:

yT=xTA=[x1x2xn][a1Ta2TamT]=x1[a1T]+x2[a2T]++xn[anT]egin{aligned} oldsymbol{y}^T &= oldsymbol{x}^TA \&= egin{bmatrix} x_1 & x_2 & cdots & x_n end{bmatrix} egin{bmatrix} ext{ extemdash} & a_1^T & ext{ extemdash} \ ext{ extemdash} & a_2^T & ext{ extemdash} \ & vdots & \ ext{ extemdash} & a_m^T & ext{ extemdash} \ end{bmatrix}\&= x_1egin{bmatrix} ext{ extemdash} & a_1^T & ext{ extemdash}end{bmatrix}+ x_2egin{bmatrix} ext{ extemdash} & a_2^T & ext{ extemdash}end{bmatrix}+ cdots + x_negin{bmatrix} ext{ extemdash} & a_n^T & ext{ extemdash}end{bmatrix} end{aligned}

所以我们看到yToldsymbol{y}^TAA的行的线性组合,其中线性组合的系数由xoldsymbol{x}的元素给出。

2.3 矩阵-矩阵乘法

有了这些知识,我们现在可以看看四种不同的(当然是等价的)查看矩阵与矩阵乘法C=ABC = AB的方法。

首先,我们可以将矩阵-矩阵乘法视为一组向量-向量乘积。 从定义中可以得出:最明显的观点是CC的(i,ji,j)元素等于AA的第ii行和BB的的jj列的内积。如下所示:

C=AB=[a1Ta2TamT][|||b1b2bp|||]=[a1b1a1b2a1bpa2b1a2b2a2bpamb1amb2ambp]C = AB = egin{bmatrix} ext{ extemdash} & a_1^T & ext{ extemdash} \ ext{ extemdash} & a_2^T & ext{ extemdash} \ & vdots & \ ext{ extemdash} & a_m^T & ext{ extemdash} \ end{bmatrix} egin{bmatrix} ext{ extbar} & ext{ extbar} & & ext{ extbar} \ b^1 & b^2 & cdots & b^p \ ext{ extbar} & ext{ extbar} & & ext{ extbar} end{bmatrix}= egin{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}

这里的矩阵ARm×n,BRn×pA in Bbb{R}^{m imes n} , B in Bbb{R}^{n imes p} , 向量aiRn,bjRna_i in Bbb{R}^n , b^j in Bbb{R}^n ,所以它们可以计算内积。当我们用行表示 AA 和用列表示 BB 时,这是最“自然”的表示。
另外,我们可以用列表示 AA,用行表示 BB。这种表示导致将 ABAB 解释为外积之和,这种表示则复杂得多。象征性地,

C=AB=[|||a1a2an|||][b1Tb2TbnT]=i=1naibiTC = AB = egin{bmatrix} ext{ extbar} & ext{ extbar} & & ext{ extbar} \ a^1 & a^2 & cdots & a^n \ ext{ extbar} & ext{ extbar} & & ext{ extbar} end{bmatrix} egin{bmatrix} ext{ extemdash} & b_1^T & ext{ extemdash} \ ext{ extemdash} & b_2^T & ext{ extemdash} \ & vdots & \ ext{ extemdash} & b_n^T & ext{ extemdash} \ end{bmatrix}= sum_{i=1}^n{a^ib_i^T}

换句话说,ABAB等于所有的AA的第ii列和BBii行的外积的和。因此,在这种情况下, aiRma^i in mathbb{R}^ mbiRpb_i in mathbb{R}^p, 外积aibiTa^ib_i^T的维度是m×pm×p,与CC的维度一致。

其次,我们还可以将矩阵-矩阵乘法视为一组矩阵-向量乘法。如果我们把BB用列表示,我们可以将CC的列视为AABB的列(矩阵-向量)的乘积。如下所示:

C=AB=A[|||b1b2bp|||]=[|||Ab1Ab2Abp|||](2)C = AB = A egin{bmatrix} ext{ extbar} & ext{ extbar} & & ext{ extbar} \ b^1 & b^2 & cdots & b^p \ ext{ extbar} & ext{ extbar} & & ext{ extbar} end{bmatrix}= egin{bmatrix} ext{ extbar} & ext{ extbar} & & ext{ extbar} \ Ab^1 & Ab^2 & cdots & Ab^p \ ext{ extbar} & ext{ extbar} & & ext{ extbar} end{bmatrix} label{2} ag{2}

这里CC的第ii列由矩阵-向量乘积给出,右边的向量为ci=Abic_i = Ab_i

最后,我们有类似的观点,我们用行表示AA,并将CC的行视为AA的行和BB之间的矩阵-向量乘积。如下所示:

C=AB=[a1Ta2TamT]B=[a1TBa2TBamTB]C = AB = egin{bmatrix} ext{ extemdash} & a_1^T & ext{ extemdash} \ ext{ extemdash} & a_2^T & ext{ extemdash} \ & vdots & \ ext{ extemdash} & a_m^T & ext{ extemdash} \ end{bmatrix}B= egin{bmatrix} ext{ extemdash} & a_1^TB & ext{ extemdash} \ ext{ extemdash} & a_2^TB & ext{ extemdash} \ & vdots & \ ext{ extemdash} & a_m^TB & ext{ extemdash} \ end{bmatrix}

这里CC的第ii行由矩阵-向量乘积给出:ciT=aiTBc_i^T = a_i^T B

将矩阵乘法剖析到如此大的程度似乎有点矫枉过正,特别是当所有这些观点都紧跟在我们在本节开头给出的初始定义(C=ABC=AB)之后。

这些不同方法的直接优势在于它们允许您在向量的级别/单位而不是标量上进行操作。 为了完全理解线性代数而不会迷失在复杂的索引操作中,关键是操作尽可能大(向量而不是标量)的概念。[1]

实际上所有的线性代数都是在处理某种矩阵乘法,多花一些时间对这里提出的观点进行直观的理解是非常必要的。

除此之外,你还应该了解一些更高级别的矩阵乘法的基本性质:

  • 矩阵乘法结合律: (AB)C=A(BC)(AB)C = A(BC)
  • 矩阵乘法分配律: A(B+C)=AB+ACA(B + C) = AB + AC
  • 矩阵乘法一般是不可交换的; 也就是说,通常ABBAAB e BA。 (例如,假设ARm×nA in mathbb{R}^ {m imes n}, BRn×pB in mathbb{R}^ {n imes p},如果mmqq不相等,矩阵乘积BABA甚至不存在!)

如果您不熟悉这些性质,请花点时间自己验证它们。 例如,为了检查矩阵乘法的结合性,假设ARm×nA in mathbb{R}^ {m imes n}, BRn×pB in mathbb{R}^ {n imes p}CRp×qC in mathbb{R}^ {p imes q}。 注意ABRm×pAB in mathbb{R}^ {m imes p},所以(AB)CRm×q(AB)C in mathbb{R}^ {m imes q}。 类似地,BCRn×qBC in mathbb{R}^ {n imes q},所以A(BC)Rm×qA(BC) in mathbb{R}^ {m imes q}。 因此,所得矩阵的维度一致。 为了验证矩阵乘法的结合性,检查(AB)C(AB)C的(i,ji,j)元素是否等于A(BC)A(BC)的(i,ji,j)元素。 我们可以使用矩阵乘法的定义直接验证这一点:

((AB)C)ij=k=1p(AB)ikCkj=k=1p(l=1nAilBlk)Ckj=k=1p(l=1nAilBlkCkj)=l=1n(k=1pAilBlkCkj)=l=1nAil(k=1pBlkCkj)=l=1nAil(BC)lj=(A(BC))ijegin{aligned} % aligned &= 等号对齐 ((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}

这里,第一个和最后两个等式简单地使用了矩阵乘法的定义,第三个和第五个等式使用了标量乘法对加法的分配性质,第四个等式使用了标量加法的交换性和结合性。 这种通过简化为简单标量性质来证明矩阵性质的技术会经常出现,因此请确保您熟悉它。

3 操作及其性质

在本节中,我们将介绍矩阵和向量的几种操作和性质。 希望其中的大部分内容都可以帮您复习,此笔记可以作为参考。

3.1 单位矩阵和对角矩阵

单位矩阵n表示,它是一个方阵,对角线的元素是 1,其余元素都是 0。可以这样表示:

Iij={1i=j0ij.I_{ij} = egin{cases} 1 & i=j \ 0 & i eq j end{cases}.

对于所有矩阵ARm×nA in mathbb{R}^ {m imes n},有:
AI=A=IAAI=A=IA
注意,在某种意义上,上面单位矩阵的表示法是不明确的,因为它没有指定II的维数。通常,II的维数是从上下文推断出来的,以便使矩阵乘法成为可能。 例如,在上面的等式中,AI=AAI = A中的IIn×nn imes n矩阵,而A=IAA = IA中的IIm×mm imes m矩阵。

对角矩阵),其中:

Dij={dii=j0ij.D_{ij} = egin{cases} d_i & i=j \ 0 & i eq j end{cases}.

很明显,单位矩阵I=diag(1,1,,1)I= diag(1, 1, cdots , 1)

3.2 转置

矩阵的转置m ,其中的元素为:

(AT)ij=Aji.(A^T)_{ij} = A_{ji}.

事实上,我们在描述行向量时已经使用了转置,因为列向量的转置自然是行向量。

转置有以下性质,且很容易验证:

  • (AT)T=A(A^T)^T = A
  • (AB)T=BTAT(AB)^T = B^TA^T
  • (A+B)T=AT+BT(A+B)^T = A^T + B^T

3.3 对称矩阵

如果A=ATA = A^T,那么方阵ARn×nA in Bbb{R}^{n imes n}对称的。

  • 元素满足aij=aji,i,ja_{ij} = a_{ji} , forall i,j
  • A=ATA = A^T
  • 对于任意方阵AAA+ATA + A^T是对称的
  • 对角矩阵都是对称矩阵

如果A=ATA = -A^T,那么它就是反对称的。

  • 元素满足aij=aji,i,ja_{ij} = -a_{ji} , forall i,j,所以当i=ji=j时,aij=0a_{ij} = 0
  • A,BA,B都为反对称矩阵,则A±BA plusmn B仍为反对称矩阵[2]
  • AA为反对称矩阵,BB为对称矩阵,则ABBAAB-BA为对称矩阵[3]

很容易证明,对于任何矩阵ARn×nA in mathbb{R}^ {n imes n},矩阵A+ATA + A^ T是对称的,矩阵AATA -A^T是反对称的[2:1]

由此得出,任意方矩阵ARn×nA in mathbb{R}^ {n imes n}可以表示为对称矩阵和反对称矩阵的和,所以:

A=12(A+AT)+12(AAT)A=frac{1}{2}(A+A^T)+frac{1}{2}(A-A^T)

事实证明,对称矩阵在实践中用到很多,它们有很多很好的性质,我们很快就会看到它们。
通常将大小为nn的所有对称矩阵的集合表示为Snmathbb{S}^n,因此ASnA in mathbb{S}^n意味着AA是对称的n×nn imes n矩阵。

3.4 矩阵的迹

方矩阵ARn×nA in mathbb{R}^ {n imes n}A,括号显然是隐含的),是矩阵中对角元素的总和:

trA=i=1nAiioperatorname{tr} A=sum_{i=1}^{n} A_{i i}

如 CS229 讲义中所述,迹具有以下性质(如下所示):

  • 对于矩阵ARn×nA in mathbb{R}^ {n imes n},则:trA=trAToperatorname{tr}A =operatorname{tr}A^T
  • 对于矩阵A,BRn×nA,B in mathbb{R}^ {n imes n},则:tr(A+B)=trA+trBoperatorname{tr}(A + B) = operatorname{tr}A + operatorname{tr}B
  • 对于矩阵ARn×nA in mathbb{R}^ {n imes n}tRt in mathbb{R},则:tr(tA)=ttrAoperatorname{tr}(tA) = toperatorname{tr}A.
  • 对于矩阵 AA, BBABAB 为方阵, 则:trAB=trBAoperatorname{tr}AB = operatorname{tr}BA
  • 对于矩阵 AA, BB, CC, ABCABC为方阵(包含 1*1 的矩阵-标量), 则:trABC=trBCA=trCABoperatorname{tr}ABC = operatorname{tr}BCA=operatorname{tr}CAB, 同理,更多矩阵的积也是有这个性质。

我们给出第四个性质的证明。假设ARm×nA in mathbb{R}^ {m imes n}BRn×mB in mathbb{R}^ {n imes m}(因此ABRm×mAB in mathbb{R}^ {m imes m}是方阵)。 观察到BARn×nBA in mathbb{R}^ {n imes n}也是一个方阵,因此对它们进行迹的运算是有意义的。 要证明trAB=trBAoperatorname{tr}AB = operatorname{tr}BA,注意:

trAB=i=1m(AB)ii=i=1m(j=1nAijBji)=i=1mj=1nAijBji=j=1ni=1mBjiAij=j=1n(i=1mBjiAij)=j=1n(BA)jj=trBAegin{aligned} 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} ight) \ &=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} ight)=sum_{j=1}^{n}(B A)_{j j}=operatorname{tr} B A end{aligned}

这里,第一个和最后两个等式使用了迹运算符和矩阵乘法的定义。 重点在第四个等式,使用标量乘法的交换性来反转每个乘积中的项的顺序,以及标量加法的交换性和结合性来重新排列求和的顺序。

3.5 范数

向量的范数范数,

x2=i=1nxi2|x|_{2}=sqrt{sum_{i=1}^{n} x_{i}^{2}}

注意:x22=xTx|x|_{2}^{2}=x^{T} x

更正式地,范数是满足 4 个性质的函数(f:RnRf : mathbb{R}^{n} ightarrow mathbb{R}):

  1. 对于所有的 xRnx in mathbb{R}^ {n}, f(x)0f(x) geq 0(非负性).
  2. 当且仅当x=0x = 0 时,f(x)=0f(x) = 0 (确定性).
  3. 对于所有xRnx in mathbb{R}^ {n},tRtin mathbb{R},则 f(tx)=tf(x)f(tx) = left| t ight|f(x) (正齐次性).
  4. 对于所有 x,yRnx,y in mathbb{R}^ {n}, f(x+y)f(x)+f(y)f(x + y) leq f(x) + f(y) (三角不等式)

其他范数的例子,如:1ell_1范数:

x1=i=1nxi|x|_{1}=sum_{i=1}^{n}|x_{i}|

ell_{infty }范数:

x=maxixi|x|_{infty}=max_{i}left|x_{i} ight|

事实上,到目前为止所提出的所有三个范数都是pell_p范数族的例子,它们由实数p1p geq 1参数化,并定义为:

xp=(i=1nxip)1/p|x|_{p}=left(sum_{i=1}^{n}left|x_{i} ight|^{p} ight)^{1 / p}

也可以为矩阵定义范数,例如Frobenius范数:

AF=i=1mj=1nAij2=tr(ATA)|A|_{F}=sqrt{sum_{i=1}^{m} sum_{j=1}^{n} A_{i j}^{2}}=sqrt{operatorname{tr}left(A^{T} A ight)}

还有很多其他范数,但它们超出了这个复习材料的范围。

3.6 线性相关性和秩

一个向量集合{x1,x2,xn}Rm{ x_1,x_2, cdots x_n } subset mathbb{R}^m, 如果没有向量可以表示为其余向量的线性组合,则称称该向量是线性无关的。 也就是说,如果:

xj=i=1,ijnαixix_{j}=sum_{i=1,i eq j}^{n} alpha_{i} x_{i}

存在α1,αnRalpha_1,cdots alpha_{n} in mathbb{R},那么向量x1,x2,xnx_1,x_2, cdots x_n是线性相关的; 否则,向量是线性无关的。
另一种线性相关的描述(存在不全为零的数αialpha_{i},使得等式成立):

i=1nαixi=0,αi0sum_{i=1}^{n} alpha_{i} x_{i} = 0,exists alpha_i eq 0

例如,向量:

x1=[123]x2=[415]x3=[231]x_{1}= egin{bmatrix} 1 \ 2 \ 3 end{bmatrix} quad x_{2}= egin{bmatrix} 4 \ 1 \ 5 end{bmatrix} quad x_{3}= egin{bmatrix} 2 \ -3 \ -1 end{bmatrix}

是线性相关的,因为:x3=2x1+x2x_3=-2x_1+x_2

矩阵ARm×nA in mathbb{R}^{m imes n}列秩A的最大行数。
对于任何矩阵ARm×nA in mathbb{R}^{m imes n},事实证明AA的列秩等于AA的行秩(尽管我们不会证明这一点),因此两个量统称为AA)表示。 以下是秩的一些基本性质:

  • 对于 ARm×nA in mathbb{R}^{m imes n}rank(A)min(m,n) ext{rank}(A) leq min(m, n),如果(A)=min(m,n) ext(A) = ext{min} (m, n),则: AA 被称作满秩
  • 对于 ARm×nA in mathbb{R}^{m imes n}rank(A)=rank(AT) ext{rank}(A) = ext{rank}(A^T)
  • 对于 ARm×nA in mathbb{R}^{m imes n},BRn×pB in mathbb{R}^{n imes p} ,rank(AB)min(rank(A),rank(B)) ext{rank}(AB) leq ext{min} ( ext{rank}(A), ext{rank}(B))
  • 对于 A,BRm×nA,B in mathbb{R}^{m imes n}rank(A+B)rank(A)+rank(B) ext{rank}(A + B) leq ext{rank}(A) + ext{rank}(B)

3.7 方阵的逆

方阵ARn×nA in mathbb{R}^{n imes n}1,并且是这样的唯一矩阵:

A1A=I=AA1A^{-1}A=I=AA^{-1}

请注意,并非所有矩阵都具有逆。 例如,非方形矩阵根据定义没有逆(存在伪逆[5]

为了使方阵 A 具有逆A1A^{-1},则AA必须是满秩。 我们很快就会发现,除了满秩之外,还有许多其它的充分必要条件。
以下是逆的性质; 假设A,BRn×nA,B in mathbb{R}^{n imes n},而且是非奇异的:

  • (A1)1=A(A^{-1})^{-1} = A
  • (AB)1=B1A1(AB)^{-1} = B^{-1}A^{-1}
  • (A1)T=(AT)1(A^{-1})^{T} =(A^{T})^{-1}因此,该矩阵通常表示为ATA^{-T}

作为如何使用逆的示例,考虑线性方程组,Ax=bAx = b,其中ARn×nA in mathbb{R}^{n imes n}x,bRx,bin mathbb{R}, 如果AA是非奇异的(即可逆的),那么x=A1bx = A^{-1}b。 (如果ARm×nA in mathbb{R}^{m imes n},不是方阵,这公式还有用吗? - 伪逆[4:1]

3.8 正交矩阵

如果 xTy=0x^Ty=0,则两个向量x,yRnx,yin mathbb{R}^{n}正交U正交矩阵(注意在讨论向量与矩阵时的意义不一样,两个向量正交只需要内积为 0,正交矩阵是各列相互正交并且被归一化)。

它可以从正交性和正态性的定义中得出:

UTU=I=UUTU^ TU = I = U U^T

换句话说,正交矩阵的逆是其转置。 注意,如果UU不是方阵, 即,URm×n,n<mUin mathbb{R}^{m imes n}, n < m ,但其列仍然是正交的,则UTU=IU^TU = I,但是UUTIUU^T eq I。所以正交矩阵一定是方阵

正交矩阵的另一个好的特性是在具有正交矩阵的向量上操作不会改变其欧几里德范数,即(i.e.):

Ux2=x2(3)|U x|_{2}=|x|_{2} label{3} ag{3}

对于任何 xRnxin mathbb{R}^n , URn×nUin mathbb{R}^{n imes n}是正交矩阵。

3.9 矩阵的值域和零空间

张成}的所以线性组合:

span({x1,xn})={v:v=i=1nαixi,αiR}operatorname{span}({x_1, cdots x_n }) = Bigg{v:v=sum_{i=1}^n{alpha_i x_i}, alpha_i in Bbb{R} Bigg}

可以看到,如果{x1,xn}{x_{1}, cdots x_{n}}是一组nn个线性无关的向量,其中每个xiRnx_i in mathbb{R}^{n},则span({x1,xn})=Rn ext{span}({x_{1}, ldots x_{n}})=mathbb{R}^{n}。 换句话说,任何向量vRnvin mathbb{R}^{n}都可以写成x1x_1xnx_n的线性组合。
向量yRmyin mathbb{R}^{m}投影y

我们将投影表示为Proj(y;{x1,xn})operatorname{Proj}left(y ;left{x_{1}, ldots x_{n} ight} ight),并且可以将其正式定义为:

Proj(y;{x1,xn})=argminvspan({x1,,xn})yv2operatorname{Proj}left(y ;left{x_{1}, ldots x_{n} ight} ight)=operatorname{argmin}_{v in operatorname{span}left(left{x_{1}, ldots, x_{n} ight} ight)}|y-v|_{2}

矩阵ARm×nAin mathbb{R}^{m imes n}值域A的列所张成的空间。换句话说,

R(A)={vRm:v=Ax,xRn}mathcal{R}(A)=left{v in mathbb{R}^{m} : v=A x, x in mathbb{R}^{n} ight}

做一些技术性的假设(即AA是满秩且n<mn <m),向量yRmy in mathbb{R}^{m}AA的值域的投影由下式给出:

Proj(y;A)=argminvR(A)vy2=A(ATA)1ATyoperatorname{Proj}(y ; A)=operatorname{argmin}_{v in mathcal{R}(A)}|v-y|_{2}=Aleft(A^{T} A ight)^{-1} A^{T} y

这个最后的方程应该看起来非常熟悉,因为它几乎与我们在课程中(我们将很快再次得出)得到的公式:与参数的最小二乘估计一样。
看一下投影的定义,显而易见,这实际上是我们在最小二乘问题中最小化的目标(除了范数的平方这里有点不一样,这不会影响找到最优解),所以这些问题自然是非常相关的。

AA只包含一列时,aRma in mathbb{R}^{m},这给出了向量投影到一条线上的特殊情况:

Proj(y;a)=aaTaTayoperatorname{Proj}(y ; a)=frac{a a^{T}}{a^{T} a} y

一个矩阵ARm×nAin mathbb{R}^{m imes n}零空间A时等于 0 向量的集合,即:

N(A)={xRn:Ax=0}mathcal{N}(A)=left{x in mathbb{R}^{n} : A x=0 ight}

注意,R(A)mathcal{R}(A)中的向量的大小为mm,而 N(A)mathcal{N}(A) 中的向量的大小为nn,因此R(AT)mathcal{R}(A^T)N(A)mathcal{N}(A) 中的向量的大小均为Rnmathbb{R}^{n}。 事实上,还有很多例子。 证明:

{w:w=u+v,uR(AT),vN(A)}=Rn and R(AT)N(A)={0}left{w : w=u+v, u in mathcal{R}left(A^{T} ight), v in mathcal{N}(A) ight}=mathbb{R}^{n} ext { and } mathcal{R}left(A^{T} ight) cap mathcal{N}(A)={mathbf{0}}

换句话说,R(AT)mathcal{R}(A^T)N(A)mathcal{N}(A) 是不相交的子集,它们一起跨越Rnmathbb{R}^{n}的整个空间。 这种类型的集合称为正交补表示。

3.10 行列式

一个方阵ARn×nA in mathbb{R}^{n imes n}行列式A(有点像迹运算符,我们通常省略括号)。在代数上,我们可以写出 A 的行列式的明确公式,但不幸的是,这并不能直观地理解它的含义。 相反,我们将从提供行列式的几何解释开始,然后访问其一些特定的代数性质。

给定一个矩阵:

[a1Ta2TanT]egin{bmatrix} ext{ extemdash} & a_1^T & ext{ extemdash} \ ext{ extemdash} & a_2^T & ext{ extemdash} \ & vdots & \ ext{ extemdash} & a_n^T & ext{ extemdash} \ end{bmatrix}

考虑通过采用AA行向量a1,anRna_{1}, ldots a_{n}in mathbb{R}^{n}的所有可能线性组合形成的点SRnS subset mathbb{R}^{n}的集合,其中线性组合的系数都在 0 和 1 之间; 也就是说,集合SSspan({a1,an}) ext{span}({a_{1}, ldots a_{n}})受到系数α1,αnalpha_{1}, ldots alpha_{n}的限制的线性组合,α1,,αnalpha_1, cdots ,alpha_n满足0αi1,i=1,,n0 leq alpha_{i} leq 1, i=1, ldots, n。从形式上看,

S={vRn:v=i=1nαiai where 0αi1,i=1,,n}S=left{v in mathbb{R}^{n} : v=sum_{i=1}^{n} alpha_{i} a_{i} ext { where } 0 leq alpha_{i} leq 1, i=1, ldots, n ight}

事实证明,AA的行列式的绝对值是对集合SS的“体积”的度量[6]

比方说:一个2×22 imes2的矩阵(4):

A=[1332](4)A= egin{bmatrix} 1 & 3 \ 3 & 2 end{bmatrix} label{4} ag{4}

它的矩阵的行是:

a1=[13]a2=[32]a_{1}=left[egin{array}{l}{1} \ {3}end{array} ight] quad a_{2}=left[egin{array}{l}{3} \ {2}end{array} ight]

对应于这些行对应的集合SS如图 1 所示。对于二维矩阵,SS通常具有平行四边形的形状。 在我们的例子中,行列式的值是A=7left| A ight| = -7(可以使用本节后面显示的公式计算),因此平行四边形的面积为 7。(请自己验证!)

在三维中,集合SS对应于一个称为平行六面体的对象(一个有倾斜边的三维框,这样每个面都有一个平行四边形)。行定义SS3×33×3矩阵 S 的行列式的绝对值给出了平行六面体的三维体积。在更高的维度中,集合SS是一个称为nn维平行体的对象。