线性代数复习

本科时候学的线性代数里面的一些知识已经记不太清楚了,正好借着Ian的《深度学习》再复习一遍。

另外再深化一下学线代的意义,当时本科学着完全不知道有什么用hhh。


1. 标量、向量、矩阵和张量

标量(scalar):一个标量就是一个单独的数。通常用斜体表示。

向量(vector):一个向量是一列数。通常用粗体的小写变量名称表示。

矩阵(matrix):矩阵是一个二维数组。通常用粗体的大写变量表示。

张量(tensor):一般为多维数组(其实也包括了上面的几个)。通常用粗体的大写来表示(字体比矩阵的正)。

转置(transpose):以主对角线为轴,做镜像翻转。即:

                                                         (A^{T})_{i,j} = A_{j,i}

2. 矩阵和向量相乘

矩阵乘积(matrix product)

                                                        \boldsymbol{C = AB}

其中:

                                                        C_{i,j} = \sum_{k}^{ }A_{i,k}B_{k,j}

Hadamard乘积(Hadamard product),即元素对应乘积: 

                                                        \boldsymbol{C = A\odot B}                  

两个维度相同的向量 x 和 y 的点积(dot product)可以看作矩阵乘积 x^Ty

矩阵乘积的转置:

                                                       \boldsymbol{(AB)^T = B^TA^T}

表示线性方程组:

                                                       \boldsymbol{Ax = b}

其中 \boldsymbol{A}\in \mathbb{R}^{m\times n} 是一个已知矩阵,\boldsymbol{b}\in \mathbb{R}^{m} 是一个已知向量,\boldsymbol{x}\in \mathbb{R}^{n} 是要求解的未知向量。

3. 单位矩阵和逆矩阵

单位矩阵(identity matrix):任何向量和单位矩阵相乘,都不会改变。结构:沿主对角线的元素都是1,而其他位置的所有元素都是0。

单位矩阵记作 \boldsymbol{I}_n ,\boldsymbol{I}_n\in \mathbb{R}^{n\times n}

逆矩阵(matrix inversion)\boldsymbol{A} 的逆矩阵记为 \boldsymbol{A}^{-1} ,满足:

                                                       \boldsymbol{AA}^{-1}=\boldsymbol{I}_n

可以用逆矩阵求解方程组:

                                                       \boldsymbol{Ax = b}

                                                       \boldsymbol{x = A^{-1}b}

当然逆矩阵不一定存在。可逆矩阵必须是一个方阵(square),即 m = n,并且所有列向量线性无关。

4. 线性相关和生成子空间

另外一个角度分析方程的解:为了分析方程的有多少个解,我们可以将A的列向量看作是从原点(origin)出发的不同方向,确定有多少中方法可以到达向量b。在这个观点下,向量 x 中的每个元素表示我们应该沿着这些方向走多远。一般而言,这种操作称为线性组合,即:

                                                      \boldsymbol{Ax}=\sum_{i}^{ }x_i\boldsymbol{A}_{:,i}

线性组合(linear combination):一组向量的线性组合,是指每个向量乘以对应标量系数之后的和,即:

                                                      \sum_{i}^{ }c_i\boldsymbol{v}^{(i)}

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

 

确定方程组 \boldsymbol{Ax = b} 是否有解,相当于确定向量 \boldsymbol{b} 是否在 \boldsymbol{A} 列向量的生成子空间中。这个特殊的生成子空间被称为 \boldsymbol{A} 的列空间(colunmn space)或者 \boldsymbol{A} 的值域(range)。

线性相关(linear dependence):一组列向量产生冗余的情况.

线性无关(linearly indendent):如果一组向量中的任意一个向量都不能表示成其他向量的线性组合,那么这组向量称为线性无关。

一个列向量线性相关的方阵被称为奇异的(singular)

5. 范数

范数(norm):用来衡量向量的大小L_p 范数定义如下:

                                                     \left \| x \right \|_p=(\sum_{i}|x|^p )^{\frac{1}{p}}

L^2 范数称为欧几里得范数(Euclidean norm),经常简化表示为 \left \| x \right \| ,但是 L^2 范数也有可能不受欢迎,因为其在原点附近增长得十分缓慢。在需要在原点附近判别零和非零元素的时候,经常使用 L^1 范数。L^1 范数可以简化如下:

                                                     \left \| x \right \|_1=\sum_{i}\left | x_i \right |

有时候会用“ L^0范数 ”表示矩阵中的元素的个数。虽然这个术语在数学中是不对的。

另一个在机器学习中经常出现的范数是 L^{\infty } 范数,也被称为最大范数(max norm),其表示向量中具有最大幅值的元素的绝对值:

                                                       \left \| x \right \|_\infty = \underset{i}{max}\left | x_i \right |

Frobenius范数(Frobenius norm):用来衡量矩阵的大小

                                                       \left \| A \right \|_F = \sqrt{\sum_{i,j}A_{i,j}^2}

6. 特殊类型的矩阵和向量

对角矩阵(diagonal matrix):只在主对角线上含有非零元素,其他位置都是零。

我们用 diag(\boldsymbol{v}) 表示对角元素由向量 \boldsymbol{v} 中元素给定的一个对角方阵。

对称(symmetric)矩阵:转置和自己相等的矩阵。即:

                                                        \boldsymbol{A = A}^T

单位向量(unit vector):是具有单位范数(unit norm)的向量,即:

                                                        \left \| \boldsymbol{x} \right \|_2=1

如果 x^Ty=0 那么向量 x 和 y 正交(orthogonal)。如果向量不仅正交,而且范数都为1,则称其为标准正交(orthongomal)

正交矩阵(orthogonal matrix):指行向量和列向量是分别标准正交的方阵,即:

                                                        \boldsymbol{A}^T\boldsymbol{A} = \boldsymbol{AA}^T=\boldsymbol{I}

这意味着:

                                                        \boldsymbol{A}^{-1} = \boldsymbol{A}^T

7. 特征分解

许多数学对象可以分解成多个组分或者找到一些属性来更好地解释。

特征分解(eigendecomposition)将矩阵分解成一组特征向量和特征值

方阵 \boldsymbol{A} 的特征向量(eigenvector)是指与 \boldsymbol{A} 相乘后相当于对该向量进行缩放的非零向量 \boldsymbol{v} :

                                                         \boldsymbol{Av} = \lambda \boldsymbol{v}

其中标量 \lambda 称为这个特征向量对应的特征值(eigenvalue)

如果 \boldsymbol{v} 是 \boldsymbol{A} 的特征向量,那么任何缩放后的向量  s\boldsymbol{v}(s\in \mathbb{R},s\neq 0) 也是 \boldsymbol{A} 的特征向量。此外,s\boldsymbol{v} 和 \boldsymbol{v} 有相同的特征值。

假设矩阵 \boldsymbol{A} 由n个线性无关的特征向量 \left \{ \boldsymbol{v}^{(1)},\cdot \cdot \cdot ,\boldsymbol{v}^{(n)} \right \} 对应着特征值 \left \{ \lambda_1,\cdot \cdot \cdot ,\lambda_n \right \} ,我们将特征向量连接成一个矩阵,使得每一列是一个特征向量:\boldsymbol{V} = \left [ \boldsymbol{v}^{(1)},\cdot \cdot \cdot ,\boldsymbol{v}^{(n)} \right ] ,类似的,我们也可以将特征值连接成一个向量 \boldsymbol{\lambda} = [\lambda _1, \cdot \cdot \cdot ,\lambda _n]^T。因此 \boldsymbol{A} 的特征分解分解(eigendecomposition)可以记作:

                                                          \boldsymbol{A }= \boldsymbol{V}diag(\boldsymbol{\lambda })\boldsymbol{V}^{-1}

每个实对称矩阵都可以分解成实特征向量实特征值

                                                          \boldsymbol{A = Q\Lambda Q}^T

其中 \boldsymbol{Q} 是 \boldsymbol{A} 的特征向量组成的正交矩阵, \boldsymbol{\Lambda } 是对角矩阵。

所有特征值都是正数的矩阵称为正定(positive definite),所有特征值都是非负数的矩阵成为半正定(positive semidefinite)

同样的,所有特征值都是负数的矩阵成为负定(negative definite);所有特征值都是非正数的矩阵称为半负定(negative semidefinite)

8. 奇异值分解

奇异值分解(singular value decomposition, SVD):将矩阵分解为奇异向量(singular vector)奇异值(singular value)

                                                           \boldsymbol{A}=\boldsymbol{UDV}^{T}

假设 \boldsymbol{A} 是一个 m\times n 的矩阵,那么 \boldsymbol{U} 是一个 m\times m 的矩阵, \boldsymbol{D} 是一个m\times n的矩阵,\boldsymbol{V} 是一个 n\times n 的矩阵。

其中  \boldsymbol{U} 和 \boldsymbol{V} 都定义为正交矩阵,而矩阵 \boldsymbol{D} 定义为对角矩阵,但是 \boldsymbol{D} 不一定是方阵

对角矩阵 \boldsymbol{D} 对角线上的元素称为矩阵 \boldsymbol{A} 的奇异值(singular value)。

SVD最有用的性质可能是拓展矩阵求逆到非方矩阵上。

9. Moore-Penrose伪逆

对于非方阵而言,其逆矩阵没有定义。

Moore-Penrose伪逆使我们在这类问题上取得了一定的进展。
计算 \boldsymbol{A} 的伪逆 \boldsymbol{A}^{+} :

                                                            \boldsymbol{A}^{+} = \boldsymbol{VD}^{+}\boldsymbol{U}^{T}

其中 \boldsymbol{V}\boldsymbol{D} 、 \boldsymbol{U} 是矩阵A奇异值分解后得到的矩阵。对角矩阵D的伪逆D+是其非零元素取倒数之后再转置得到的。

    当矩阵A的列数多于行数时,使用伪逆求解时众多可能解法中的一种。得到的 \boldsymbol{x}=\boldsymbol{A}^{+}\boldsymbol{y} 是所有方程可行解中欧几里得范数\left \| \boldsymbol{x} \right \|最小的一个。

    当矩阵 \boldsymbol{A} 的行数多余列数时,可能没有解。这种情况下,通过伪逆得到的 \boldsymbol{x} 使得 \boldsymbol{Ax} 和 \boldsymbol{y} 的欧几里得距离 \left \| \boldsymbol{Ax-y} \right \| 最小。

10. 迹运算

迹运算返回矩阵对角元素的和:

                                                             Tr(\boldsymbol{A}) = \sum _{i}\boldsymbol{A}_{i,j}

迹运算提供了另一种描述Frobenius范数的方式:

                                                            \left \| \boldsymbol{A} \right \|_F=\sqrt{Tr(\boldsymbol{AA}^T)}

迹运算在转置运算下是不变的:

                                                            Tr(\boldsymbol{A}) = Tr(\boldsymbol{A}^T)

多个矩阵相乘得到的迹,和将这些矩阵中的最后一个挪到最前面之后相乘的迹是相同的:

                                                            Tr(\boldsymbol{ABC})=Tr(\boldsymbol{CAB})=Tr(\boldsymbol{BCA})

                                                            Tr(\boldsymbol{AB})=Tr(\boldsymbol{BA})

11. 行列式

行列式,记作 det(\boldsymbol{A}) ,是一个讲方阵映射到实数的函数。

其等于矩阵特征值的乘积。

行列式的绝对值可以用来衡量矩阵参与矩阵乘法后空间扩大或者缩小了多少。如果行列式是0,那么空间至少沿着某一维完全收缩了,如果行列式是1,那么这个转换保持空间体积不变。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值