开始复习 AI 算法的基础–数学部分,主要是三方面的内容:

  1. 线性代数
  2. 概率论
  3. 微积分

参考内容如下:

  • 《深度学习》
  • https://github.com/scutan90/DeepLearning-500-questions
  • https://github.com/sladesha/Reflection_Summary

本文是第一篇,线性代数部分的内容,主要是比较基础部分的学习笔记。

1. 线性代数

1.1 向量和矩阵

1.1.1 标量、向量、矩阵、张量之间的联系

标量(scalar)

一个标量表示一个单独的数,它不同于线性代数中研究的其他大部分对象(通常是多个数的数组)。我们用斜体表示标量。标量通常被赋予小写的变量名称。 一般会明确标量属于哪种类型,比如定义实数标量时,会说“令 s∈Rs\in Rs∈R 表示一条线的斜率”。

向量(vector)

一个向量表示一组有序排列的数。通过次序中的索引,我们可以确定每个单独的数。通常我们赋予向量粗体的小写变量名称,比如xx。向量中的元素可以通过带脚标的斜体表示。向量XXX的第一个元素是X1X_1X1​,第二个元素是X2X_2X2​,以此类推。我们也会注明存储在向量中的元素的类型(实数、虚数等)。

一个向量如下所示,一个向量可以看作空间中的点,即每个元素可以表示不同坐标轴上的坐标。
x=[x1x2x3⋯xn]x = \left[ \begin{matrix} x_1 \\ x_2 \\ x_3 \\ \cdots \\ x_n \end{matrix} \right] x=⎣⎢⎢⎢⎢⎡​x1​x2​x3​⋯xn​​⎦⎥⎥⎥⎥⎤​

矩阵(matrix)

矩阵是具有相同特征和纬度的对象的集合,表现为一张二维数据表。其意义是一个对象表示为矩阵中的一行,一个特征表示为矩阵中的一列,每个特征都有数值型的取值。通常会赋予矩阵粗体的大写变量名称,比如AAA。

一个矩阵的表示例子如下所示:
A=[A1,1A1,2A2,1A2,2]A = \left[ \begin{matrix} A_{1,1} & A_{1,2} \\ A_{2,1} & A_{2,2} \\ \end{matrix} \right] A=[A1,1​A2,1​​A1,2​A2,2​​]

转置是矩阵的重要操作之一,其转置是以对角线为轴的镜像,这条从左上角到右下角的对角线被称为主对角线,定义如下:
(AT)i,j=Aj,i(A^T){i,j} = A_{j,i} (AT)i,j=Aj,i​
一个示例操作如下:
A=[A1,1A1,2A2,1A2,2A3,1A3,2]==>AT=[A1,1A2,1A3,1A1,2A2,2A3,2]A = \left[ \begin{matrix} A_{1,1} & A_{1,2} \\ A_{2,1} & A_{2,2} \\ A_{3,1} & A_{3,2} \end{matrix} \right] ==> A^T = \left[ \begin{matrix} A_{1,1} & A_{2,1} & A_{3, 1} \\ A_{1,2} & A_{2,2} & A_{3,2}\\ \end{matrix} \right] A=⎣⎡​A1,1​A2,1​A3,1​​A1,2​A2,2​A3,2​​⎦⎤​==>AT=[A1,1​A1,2​​A2,1​A2,2​​A3,1​A3,2​​]

从一个 3×23\times 23×2 的矩阵变为了 $ 2\times 3$ 的矩阵。

张量(tensor)

在某些情况下,我们会讨论坐标超过两维的数组。一般地,一个数组中的元素分布在若干维坐标的规则网格中,我们将其称之为张量。使用 AAA 来表示张量“A”。张量AAA中坐标为(i,j,k)(i,j,k)(i,j,k)的元素记作A(i,j,k)A_{(i,j,k)}A(i,j,k)​。

四者之间关系

(来自深度学习 500 问第一章数学基础)

标量是0阶张量,向量是一阶张量。举例:
​标量就是知道棍子的长度,但是你不会知道棍子指向哪儿。
​向量就是不但知道棍子的长度,还知道棍子指向前面还是后面。
​张量就是不但知道棍子的长度,也知道棍子指向前面还是后面,还能知道这棍子又向上/下和左/右偏转了多少。

1.1.2 张量与矩阵的区别

  • 从代数角度讲, 矩阵它是向量的推广。向量可以看成一维的“表格”(即分量按照顺序排成一排), 矩阵是二维的“表格”(分量按照纵横位置排列), 那么nnn阶张量就是所谓的nnn维的“表格”。 张量的严格定义是利用线性映射来描述。
  • 从几何角度讲, 矩阵是一个真正的几何量,也就是说,它是一个不随参照系的坐标变换而变化的东西。向量也具有这种特性。
  • 张量可以用3×3矩阵形式来表达。
  • 表示标量的数和表示向量的三维数组也可分别看作1×1,1×3的矩阵。

1.1.3 矩阵和向量相乘结果

若使用爱因斯坦求和约定(Einstein summation convention),矩阵AAA, BBB相乘得到矩阵 CCC 可以用下式表示:
AB=C==>aik∗bkj=cijAB = C ==> a_{ik}*b_{kj}=c_{ij} AB=C==>aik​∗bkj​=cij​

其中,aika_{ik}aik​, bkjb_{kj}bkj​, cijc_{ij}cij​分别表示矩阵A,B,CA, B, CA,B,C的元素,kkk出现两次,是一个哑变量(Dummy Variables)表示对该参数进行遍历求和。

用一个例子表示就是:
$$
A=
\left[
\begin{matrix}
A_{1,1} & A_{1,2} \
A_{2,1} & A_{2,2} \
\end{matrix}
\right]
B =
\left[
\begin{matrix}
B_{1,1} & B_{1,2} \
B_{2,1} & B_{2,2} \
\end{matrix}
\right] \
A \times B = C =
\left[
\begin{matrix}
A_{1,1}\times B_{1,1}+A_{1,2}\times B_{2,1} & A_{1,1}\times B_{1,2}+A_{1,2}\times B_{2,2} \
A_{2,1}\times B_{1,1}+A_{2,2}\times B_{2,1} & A_{2,1}\times B_{1,2}+A_{2,2}\times B_{2,2} \
\end{matrix}
\right]

\left[
\begin{matrix}
C_{1,1} & C_{1,2} \
C_{2,1} & C_{2,2} \
\end{matrix}
\right]
$$
所以矩阵相乘有一个前提,矩阵 A 的列数必须和矩阵 B 的行数相等,也就是如果 A 的维度是 m×nm\times nm×n,B 的维度必须是 n×pn \times pn×p,相乘得到的 C 矩阵的维度就是 m×pm\times pm×p。

另外还有一种矩阵乘法,是矩阵对应元素相乘,这种称为元素对应乘积,或者 Hadamard 乘积,记为 A ⊙ B

而矩阵和向量相乘可以看成是矩阵相乘的一个特殊情况,例如:矩阵BBB是一个n×1n \times 1n×1的矩阵。

矩阵乘积满足这些定律:

  1. 服从分配率:A(B+C) = AB + AC
  2. 服从结合律:A(BC) = (AB)C

但是不服从交换律,即 AB 不一定等于 BA。

矩阵的乘积满足:(AB)T=ATBT(AB)^T = A^TB^T(AB)T=ATBT

两个相同维度的向量 x 和 y 的点积(dot product),可以看作矩阵乘积–xTyx^TyxTy。也就是说可以将矩阵乘积 C=ABC=ABC=AB 中计算 Ci,jC_{i,j}Ci,j​的步骤看作是 A 的第 i 行和 B 的第 j 列之间的点积。毕竟,矩阵的每一行或者每一列都是一个向量。

而向量的点积是满足交换律的:
xTy=yTxx^Ty = y^Tx xTy=yTx
证明主要是根据:

  1. 两个向量的点积是标量
  2. 标量的转置也是自身

所以有:
xTy=(xTy)T=xyTx^Ty = (x^Ty)^T = xy^T xTy=(xTy)T=xyT

1.1.4 单位矩阵和逆矩阵

单位矩阵的定义如下,用 I 表示单位矩阵,任何向量和单位矩阵相乘,都不会改变,即:
∀x∈Rn,Inx=x(1-1-8)\forall x \in R^n, I_n x = x \tag{1-1-8} ∀x∈Rn,In​x=x(1-1-8)
单位矩阵的结构很简单,就是主对角线是 1,其他位置是 0,如下图所示的单位矩阵 I3I_3I3​ :
[100010001]\left[ \begin{matrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{matrix} \right] ⎣⎡​100​010​001​⎦⎤​
而逆矩阵记作 A−1A^{-1}A−1,其满足如下条件:
A−1A=InA^{-1}A=I_n A−1A=In​

1.1.5 线性方程组和线性相关

现在有一个线性方程组,如下所示:
Ax=bAx = b Ax=b
其中,A∈Rm×nA\in R^{m\times n}A∈Rm×n 是已知的矩阵,b∈Rmb\in R^mb∈Rm 是已知的向量,然后 x∈Rnx\in R^nx∈Rn 是需要求解的未知向量。

这里根据矩阵相乘(x 相当于一个 n×1n\times 1n×1 的矩阵),可以将上述公式拓展开来:
A1,:x=b1==>A1,1x1+A1,2x2+⋯+A1,nxn=b1A2,:x=b2==>A2,1x1+A2,2x2+⋯+A2,nxn=b2⋯Am,:x=bm==>Am,1x1+Am,2x2+⋯+Am,nxn=bmA_{1,:}x = b_1 ==> A_{1,1}x_1 + A_{1,2}x_2+\cdots+A_{1,n}x_n = b_1 \\ A_{2,:}x = b_2 ==> A_{2,1}x_1 + A_{2,2}x_2+\cdots+A_{2,n}x_n = b_2 \\ \cdots \\ A_{m,:}x = b_m ==> A_{m,1}x_1 + A_{m,2}x_2+\cdots+A_{m,n}x_n = b_m \\ A1,:​x=b1​==>A1,1​x1​+A1,2​x2​+⋯+A1,n​xn​=b1​A2,:​x=b2​==>A2,1​x1​+A2,2​x2​+⋯+A2,n​xn​=b2​⋯Am,:​x=bm​==>Am,1​x1​+Am,2​x2​+⋯+Am,n​xn​=bm​
在我们定义了逆矩阵后,那么可以这么求解:
Ax=bA−1Ax=A−1bInx=A−1bx=A−1bAx=b\\ A^{-1}Ax = A^{-1}b\\ I_nx = A^{-1}b \\ x = A^{-1}b Ax=bA−1Ax=A−1bIn​x=A−1bx=A−1b
所以求解的关键就是是否存在一个逆矩阵,并找到它。

当逆矩阵A−1A^{-1}A−1存在的时候,对每个向量 b 肯定恰好存在一个解。

但对于方程组来说,向量 b 的某些值,有可能不存在解,或者有无限多个解,不存在多于1 个解,但有限解的情况,比如 x 和 y 都是方程组的解,则有:
z=αx+(1−α)yz = \alpha x + (1-\alpha)y z=αx+(1−α)y
其中,α\alphaα 是任意实数,那么 z 也是方程组的解,这种组合是无限的,所以不存在有限解(多于 1 个)。

确定 Ax=b 是否有解,关键是确定向量 b 是否在 A 列向量的生成子空间中,这个特殊的生成子空间,被称为 A 的列空间或者 A 的值域。

一组向量的线性组合是指每个向量乘以对应标量系数之后的和,即 ∑iciv(i)\sum_i c_i v^{(i)}∑i​ci​v(i)

一组向量的生成子空间是原始向量线性组合后所能抵达的点的集合。

那么为了让上述成立,应该让 A 的列空间构成整个 RmR^mRm 空间,如果这个空间某个点不在 A 的列空间,那么对应的 b 会使得方程无解。而要让其成立,**即要满足不等式 n≥mn\ge mn≥m **。

但该不等式只是方程对每个 b 有解的必要条件,非充分条件。因为存在一种情况,某些列向量可能是冗余的,比如一个 2×22\times 22×2的矩阵,如果两个列向量都是相同的,那该矩阵的列空间和它的一个列向量作为矩阵的列空间是一样的,并不能满足覆盖了整个 R2R^2R2 空间。

这种冗余也被称为线性相关,而如果一组向量中任意一个向量都不能表示为其他向量的线性组合,则这组向量称为线性无关

所以,如果一个矩阵的列空间要覆盖整个 RmR^mRm,那么该矩阵必须包含至少一组m 个线性无关的向量,这才是对每个 b 都有解的充分必要条件

此外,要让矩阵可逆,还必须保证 Ax=b 对每个 b 的取值至多只有一个解,那必须保证该矩阵至多有 m 个列向量,否则方程有不止一个解。

综上,那么矩阵就必须是方阵,也就是 m = n,并且所有列向量都是线性无关的。一个列向量都是线性无关的方阵被称为是奇异的

假如 A 不是方阵或者不是奇异的方阵,也可能有解,但是不能通过逆矩阵去求解。

1.1.6 向量和矩阵的范数归纳

向量的范数(norm)

通常衡量向量的大小是通过范数来衡量的,形式上 LPL^PLP范数定义如下:

Lp=∥x⃗∥p=∑i=1N∣xi∣ppL_p=\Vert\vec{x}\Vert_p=\sqrt[p]{\sum_{i=1}^{N}|{x_i}|^p} Lp​=∥x∥p​=pi=1∑N​∣xi​∣p​

这里 p≥1p\ge 1p≥1。

范数是将向量映射到非负数的函数,直观上来说,向量 x 的范数衡量从原点到点 x 的距离。

范数是满足下列性质的任意函数:
f(x)=0=>x=0f(x+y)≤f(x)+f(y)(三角不等式)∀α∈R,f(αx)=∣α∣f(x)f(x)=0=>x=0 \\ f(x+y)\le f(x)+f(y)(三角不等式)\\ \forall \alpha \in R, f(\alpha x) = |\alpha|f(x) f(x)=0=>x=0f(x+y)≤f(x)+f(y)(三角不等式)∀α∈R,f(αx)=∣α∣f(x)

定义一个向量为:a⃗=[−5,6,8,−10]\vec{a}=[-5, 6, 8, -10]a=[−5,6,8,−10]。任意一组向量设为x⃗=(x1,x2,...,xN)\vec{x}=(x_1,x_2,...,x_N)x=(x1​,x2​,...,xN​)。其不同范数求解如下:

  • 向量的1范数:向量的各个元素的绝对值之和,上述向量a⃗\vec{a}a的1范数结果就是:x = |-5|+|6|+|8|+|-10| = 29。

∥x⃗∥1=∑i=1N∣xi∣\Vert\vec{x}\Vert_1=\sum_{i=1}^N\vert{x_i}\vert ∥x∥1​=i=1∑N​∣xi​∣

  • 向量的2范数(欧几里得范数):向量的每个元素的平方和再开平方根,上述a⃗\vec{a}a的2范数结果就是:x=(−5)2+(6)2+(8)2+(−10)215x=\sqrt{(-5)^2+(6)^2+(8)^2+(-10)^2}15x=(−5)2+(6)2+(8)2+(−10)2​15。

∥x⃗∥2=∑i=1N∣xi∣2\Vert\vec{x}\Vert_2=\sqrt{\sum_{i=1}^N{\vert{x_i}\vert}^2} ∥x∥2​=i=1∑N​∣xi​∣2​

  • 向量的负无穷范数:向量的所有元素的绝对值中最小的:上述向量a⃗\vec{a}a的负无穷范数结果就是:5。

∥x⃗∥−∞=min⁡∣xi∣\Vert\vec{x}\Vert_{-\infty}=\min{|{x_i}|} ∥x∥−∞​=min∣xi​∣

  • 向量的正无穷范数:向量的所有元素的绝对值中最大的:上述向量a⃗\vec{a}a的正无穷范数结果就是:10。

∥x⃗∥+∞=max⁡∣xi∣\Vert\vec{x}\Vert_{+\infty}=\max{|{x_i}|} ∥x∥+∞​=max∣xi​∣

矩阵的范数

定义一个矩阵。
A=[−12−34−66]A = \left[ \begin{matrix} -1 & 2 & -3 \\ 4 & -6 & 6 \\ \end{matrix} \right] A=[−14​2−6​−36​]

任意矩阵定义为:Am×nA_{m\times n}Am×n​,其元素为 aija_{ij}aij​。

矩阵的范数定义为

∥A∥p:=sup⁡x≠0∥Ax∥p∥x∥p\Vert{A}\Vert_p :=\sup_{x\neq 0}\frac{\Vert{Ax}\Vert_p}{\Vert{x}\Vert_p} ∥A∥p​:=x​=0sup​∥x∥p​∥Ax∥p​​

当向量取不同范数时, 相应得到了不同的矩阵范数。

  • 矩阵的1范数(列范数):先对矩阵的每一列元素的绝对值求和,再从中取个最大的(列和最大),上述矩阵AAA的1范数先得到[5,8,9][5,8,9][5,8,9],再取最大的最终结果就是:9。
    ∥A∥1=max⁡1≤j≤n∑i=1m∣aij∣\Vert A\Vert_1=\max_{1\le j\le n}\sum_{i=1}^m|{a_{ij}}| ∥A∥1​=1≤j≤nmax​i=1∑m​∣aij​∣

  • 矩阵的2范数:矩阵ATAA^TAATA的最大特征值开平方根,上述矩阵AAA的2范数得到的最终结果是:10.0623。

∥A∥2=λmax(ATA)\Vert A\Vert_2=\sqrt{\lambda_{max}(A^T A)} ∥A∥2​=λmax​(ATA)​

其中, λmax(ATA)\lambda_{max}(A^T A)λmax​(ATA) 为 ATAA^T AATA 的特征值绝对值的最大值。

  • 矩阵的无穷范数(行范数):矩阵的每一行上的元素绝对值先求和,再从中取个最大的,(行和最大),上述矩阵AAA的行范数先得到[6;16][6;16][6;16],再取最大的最终结果就是:16。
    ∥A∥∞=max⁡1≤i≤m∑j=1n∣aij∣\Vert A\Vert_{\infty}=\max_{1\le i \le m}\sum_{j=1}^n |{a_{ij}}| ∥A∥∞​=1≤i≤mmax​j=1∑n​∣aij​∣

  • 矩阵的核范数:矩阵的奇异值(将矩阵svd分解)之和,这个范数可以用来低秩表示(因为最小化核范数,相当于最小化矩阵的秩——低秩),上述矩阵A最终结果就是:10.9287。

  • 矩阵的L0范数:矩阵的非0元素的个数,通常用它来表示稀疏,L0范数越小0元素越多,也就越稀疏,上述矩阵AAA最终结果就是:6。

  • 矩阵的L1范数:矩阵中的每个元素绝对值之和,它是L0范数的最优凸近似,因此它也可以表示稀疏,上述矩阵AAA最终结果就是:22。

  • 矩阵的F范数:最常用的矩阵的范数,矩阵的各个元素平方之和再开平方根,它通常也叫做矩阵的L2范数,它的优点在于它是一个凸函数,可以求导求解,易于计算,上述矩阵A最终结果就是:10.0995。
    ∥A∥F=(∑i=1m∑j=1n∣aij∣2)\Vert A\Vert_F=\sqrt{(\sum_{i=1}^m\sum_{j=1}^n{| a_{ij}|}^2)} ∥A∥F​=(i=1∑m​j=1∑n​∣aij​∣2)​

  • 矩阵的L21范数:矩阵先以每一列为单位,求每一列的F范数(也可认为是向量的2范数),然后再将得到的结果求L1范数(也可认为是向量的1范数),很容易看出它是介于L1和L2之间的一种范数,上述矩阵AAA最终结果就是:17.1559。

  • 矩阵的 p范数

∥A∥p=(∑i=1m∑j=1n∣aij∣p)p\Vert A\Vert_p=\sqrt[p]{(\sum_{i=1}^m\sum_{j=1}^n{| a_{ij}|}^p)} ∥A∥p​=p(i=1∑m​j=1∑n​∣aij​∣p)​

两个向量的点积可以用范数来表示:
xTy=∥x∥2∥y∥2cosθx^Ty =\Vert x \Vert_2 \Vert y \Vert_2 cos\theta xTy=∥x∥2​∥y∥2​cosθ
这里 θ\thetaθ 就是 x 和 y 之间的夹角。

1.1.7 一些特殊的矩阵和向量

对角矩阵:只在对角线上有非零元素,其他位置都是零。之前介绍的单位矩阵就是对角矩阵的一种;

对称矩阵:转置和自己相等的矩阵,即:A=ATA = A^TA=AT。

单位向量:具有单位范数的向量,也就是 ∥x∥2=1\Vert x \Vert_2 =1∥x∥2​=1

向量正交:如果 xTy=0x^Ty=0xTy=0,那么就说向量 x 和 y 互相正交。如果向量不仅互相正交,范数还是 1,那么就称为标准正交

正交矩阵:行向量和列向量是分别标准正交的方阵,即
ATA=AAT=IA^TA=AA^T=I ATA=AAT=I
也就是有:
A−1=ATA^{-1}=A^T A−1=AT
所以正交矩阵的一个优点就是求逆计算代价小。

1.1.8 如何判断一个矩阵为正定

判定一个矩阵是否为正定,通常有以下几个方面:

  • 顺序主子式全大于0;
  • 存在可逆矩阵CCC使CTCC^TCCTC等于该矩阵;
  • 正惯性指数等于nnn;
  • 合同于单位矩阵EEE(即:规范形为EEE)
  • 标准形中主对角元素全为正;
  • 特征值全为正;
  • 是某基的度量矩阵。

所有特征值是非负数的矩阵称为半正定,而所有特征值是负数的矩阵称为负定,所有特征值是非正数的矩阵称为半负定。

正定性的用途

  • Hessian矩阵正定性在梯度下降的应用

    • 若Hessian正定,则函数的二阶偏导恒大于0,,函数的变化率处于递增状态,判断是否有局部最优解
  • 在 svm 中核函数构造的基本假设

1.2 特征值和特征向量

1.2.1 特征值分解与特征向量

特征分解是使用最广的矩阵分解之一,矩阵分解可以得到一组特征值(eigenvalues)与特征向量(eigenvectors);

特征值表示的是这个特征到底有多重要,而特征向量表示这个特征是什么。

如果说一个向量v⃗\vec{v}v是方阵AAA的特征向量,将一定可以表示成下面的形式:

Aν=λνA\nu = \lambda \nu Aν=λν

λ\lambdaλ为特征向量v⃗\vec{v}v对应的特征值。

特征值分解是将一个矩阵分解为如下形式:

A=Q∑Q−1A=Q\sum Q^{-1} A=Q∑Q−1

其中,QQQ是这个矩阵AAA的特征向量组成的正交矩阵,∑\sum∑是一个对角矩阵,每一个对角线元素就是一个特征值,里面的特征值是由大到小排列的,这些特征值所对应的特征向量就是描述这个矩阵变化方向(从主要的变化到次要的变化排列)。也就是说矩阵AAA的信息可以由其特征值和特征向量表示。

并非每个矩阵都可以分解成特征值和特征向量,但每个实对称矩阵都可以分解为实特征向量和实特征值。

1.2.2 奇异值分解

除了特征分解外,还有一种矩阵分解,称为奇异值分解(SVD),将矩阵分解为奇异值和奇异向量。通过奇异值分解,可以得到和特征分解相同类型的信息,但是,奇异值分解有更广泛的应用,每个实数矩阵都有一个奇异值分解,但不一定有特征分解,因为必须是方阵才有特征分解

在特征分解中,我们将 A 重新写作:
A=Vdiag(λ)V−1A = Vdiag(\lambda)V^{-1} A=Vdiag(λ)V−1
其中,V 是特征向量构成的矩阵,λ\lambdaλ是特征值构成的向量,diag(λ)diag(\lambda)diag(λ)表示一个对角线都是特征值的对角矩阵。

奇异值分解的形式如下所示:
A=UDVTA = U D V^T A=UDVT
假如 A 是 m×nm\times nm×n 的矩阵,则 U 是 m×mm\times mm×m的矩阵,D 是 m×nm\times nm×n 的矩阵,V 是 n×nn\times nn×n 的矩阵。并且,矩阵 U 和 V 是正交矩阵,D 是对角矩阵,且不一定是方阵。

D 对角线上的元素就是 A 的奇异值,而 U 的列向量是左奇异向量,V 的列向量是右奇异向量。

可以套用和 A 相关的特征分解来解释其奇异值分解,A 的左奇异向量就是 AATAA^TAAT的特征向量,而右奇异向量就是ATAA^TAATA 的特征向量,A 的非零奇异值是AATAA^TAAT特征值的平方根,也是ATAA^TAATA特征值的平方根。

(来自深度学习 500 问的数学基础的内容)

那么奇异值和特征值是怎么对应起来的呢?我们将一个矩阵AAA的转置乘以AAA,并对ATAA^TAATA求特征值,则有下面的形式:

(ATA)V=λV(A^TA)V = \lambda V (ATA)V=λV

这里VVV就是上面的右奇异向量,另外还有:

σi=λi,ui=1σiAV\sigma_i = \sqrt{\lambda_i}, u_i=\frac{1}{\sigma_i}AV σi​=λi​​,ui​=σi​1​AV

这里的σ\sigmaσ就是奇异值,uuu就是上面说的左奇异向量。

奇异值σ\sigmaσ跟特征值类似,在矩阵∑\sum∑中也是从大到小排列,而且σ\sigmaσ的减少特别的快,在很多情况下,前10%甚至1%的奇异值的和就占了全部的奇异值之和的99%以上了。也就是说,我们也可以用前rrr(rrr远小于m、nm、nm、n)个的奇异值来近似描述矩阵,即部分奇异值分解:
Am×n≈Um×r∑r×rVr×nTA_{m\times n}\approx U_{m \times r}\sum_{r\times r}V_{r \times n}^T Am×n​≈Um×r​r×r∑​Vr×nT​

右边的三个矩阵相乘的结果将会是一个接近于AAA的矩阵,在这儿,rrr越接近于nnn,则相乘的结果越接近于AAA


欢迎关注我的公众号 –AI 算法笔记,每周分享算法学习笔记、论文阅读笔记,或者工具教程相关的 github 项目。

数学学习笔记--线性代数相关推荐

  1. 白话机器学习的数学学习笔记(-)

    机器学习越来越成为未来科技进步的推动,其中的数学理论还是需要学习和补充的,今天购买了<白话机器学习的数学>一书,就把相关学习到的知识做下笔记,供感兴趣的伙伴一起回顾. 一.1950年左右人 ...

  2. 数学学习笔记--概率论

    2. 概率论 2.1 概率分布与随机变量 2.1.1 机器学习为什么要使用概率 事件的概率是衡量该事件发生的可能性的量度.虽然在一次随机试验中某个事件的发生是带有偶然性的,但那些可在相同条件下大量重复 ...

  3. 数学学习笔记-三角函数

    1.圆的一周的弧度数为2π,360°角=2π弧度,1°为π/180弧度 2.如下图,在一个直角三角形中 角A的对边为正对着的那个边a 角A的邻边为另外一条直角边b 角A的斜边为斜边c 其中 正弦sin ...

  4. [数学学习笔记]极限的概念.

    百科上的定义: 极限是微积分中的基础概念,它指的是变量在一定的变化过程中,从总的来说逐渐稳定的这样一种变化趋势以及所趋向的值(极限值).极限的概念最终由柯西和魏尔斯特拉斯等人严格阐述.在现代的数学分析 ...

  5. Games101计算机图形学学习笔记:线性代数-向量

    目录 一.标量与向量 1.标量 2.向量 1.向量的方向 2.向量的长度 3.向量的计算 1.向量加法 2.向量的减法 3.向量的乘法 1.点乘 1.在图形学中我们经常使用点乘来计算两个向量的夹角,比 ...

  6. 数学学习笔记(二)柯西-黎曼方程理解

    理解不一定对,只是一种感悟,想简单记录一下. 柯西-黎曼方程是复变函数在一点可微的必要条件,证明不难.因为可微,所以就列出线性主部表出的一个式子,实部对实部,虚部对虚部,可以求得 这个方程式很简单,随 ...

  7. [数学学习笔记]无穷小与无穷大

    无穷小: 定义:极限为0的变量成为无穷小量,简称无穷小.常用希腊字母表示. 无穷小是一个特殊的变量: 无穷小不可以和很小的量混为一谈,无穷小量不是指量的大小,而是指量的变化趋势(以零为极限): 称一个 ...

  8. Unity 中的 3D 数学学习笔记——认识坐标系及坐标系之间的转换

    一 :3d空间坐标系  x,y,z 轴 z轴方向确定有两种方式 左手坐标系和右手坐标系 左手坐标系:伸开左手,大拇指指向X轴正方向,食指指向Y轴正方向,其他三个手指指向Z轴正方向. 右手坐标系:伸开右 ...

  9. [数学学习笔记]导数的运算

    基本初等函数 初等函数是由基本初等函数经过有限次的四则运算和复合运算所得到的函数.基本初等函数和初等函数在其定义区间内均为连续函数. 高等数学将基本初等函数归为五类:幂函数.指数函数.对数函数.三角函 ...

最新文章

  1. 代码中应用设计模式,看这一篇就够了
  2. 如何覆盖trait函数并从重写函数调用它?
  3. 拆解 Linux 网络包发送过程
  4. 最新的推荐系统论文两篇
  5. ehcache 手动刷新缓存_【第 21 期】一个架构师的缓存修炼之路
  6. Jmeter-3.0的源码导入eclipse并执行
  7. 技巧分享 PDF如何删除数字签名
  8. python和c 的区别-C++/C/JAVA/Python之间的区别?
  9. php7会不会出问题,升级到PHP7后会话不工作
  10. php excel引入tp,TP5引用PHPExcel实现导入导出功能
  11. 学习笔记(前端跨域 Storage封装)
  12. 极大似然估计学习笔记
  13. 易打卡模板微信签到打卡小程序源码
  14. 卢森堡携手欧洲航天局,在大公国建立独一无二的“欧洲太空资源创新中心”
  15. mysql 数字正则_mysql 正则
  16. 建模实训报告总结_建模实习工作总结
  17. 2020年阴历二月二十八 投资理财~如何正确面对黑天鹅
  18. C# 二维码 生成、解析
  19. ubuntu alise设置
  20. 假设你有8个球,其中一个略微重一些,但是找出这个球的唯一方法是将两个球放在天平上对比。最少要称多少次才能找出这个较重的球?

热门文章

  1. C#利用itext7编写PDF操作小工具
  2. 【精通内核】Linux内核自旋锁实现原理与源码解析
  3. mysql json php 直接使用_PHP面试题大全(值得收藏)
  4. ReactNative系列之十二图标组件react-native-vector-icons的使用
  5. Laravel 联合查询 count计数去重
  6. 某爱上面的一个帖子(一些比较实用的网站和软件)
  7. 华为p20能更新鸿蒙么,华为Mate20+P20系列不再进行安全更新
  8. Qt编写安防楼宇对讲管理平台源码
  9. C++ Primer 5 ,众里寻他千百度,下载的大虾别忘了后面买一本正版的支持作者
  10. 高校人员信息管理系统(Python版)