线性代数
基础概念
标量(Scalar)
是一个数字,没有方向
使用标量时要确定范围
向量(vector)
类似一个数组,按照下标有序排列
一般情况是列向量,使用列向量是因为要和矩阵结合计算
矩阵(matrix)
二维序列
张量(tensor)
更高维度的矩阵
定理&特性
矩阵转置
向量转置
列向量和行向量转换
看成只有一行的矩阵
标量转置
标量转置就是自己本身
看成只有一个元素的矩阵
矩阵运算
加法
矩阵+矩阵:对应元素相加
矩阵+向量:每一列都加对应向量的元素
矩阵+标量:每个元素都加对应标量
和numpy的规则一致
矩阵乘法
矩阵点乘
对应元素做乘法
向量点乘:
x⃗ ⊙y⃗ =x⃗ Ty⃗
矩阵乘法定律
分配律:
A(B+C)=AB+AC
结合律:
(AB)C=A(BC)
积的转置:
(AB)T=BTAT
单位矩阵
单位矩阵和任意矩阵(向量)相乘不会改变该矩阵(向量)
对角线元素都为1
矩阵的逆
类似倒数的概念
矩阵的逆有什么用处 — 解方程组
不常用:A里有很大的数,则 A−1 中会有很小的数,计算机中有截断误差,不精确
线性相关&线性空间
线性组合
线性组合可以形成线性空间
矩阵逆的存在条件
解的可能:唯一解;无限解;无解
例如:3个未知数2个方程,有一个未知数没有约束,所以会有无限多的解
b在A的列向量空间内,可以组合得带解
通俗而言,列比行多就有解
线性相关
可以用若干向量的组合得到另一个向量
若列之间线性相关,则称矩阵是奇异矩阵(singular)
范数(Norms)
向量的长度,用于衡量向量或者矩阵的长度
范数就是想将向量矩阵映射到一个标量上进行比较
欧几里得范数
L2范数
F范数(Frobenius norm)
L2范数推广到矩阵时的范数
特殊矩阵
对角矩阵
对角线元素有值,其他位置
运算成本低,记作
diag(v⃗ )
逆矩阵也好求解,但是要求对角线元素不为0
对称矩阵
单位向量
两个向量垂直(orthogonal)
0和任何向量垂直
正交矩阵
矩阵列向量都相互垂直,且都是单位向量
特征值分解
矩阵的特征值分解类似于标量的质因数分解
特征值分解(Eigendecomposition)
把矩阵M表达为一个标量和一个向量相乘的形式
其中 v⃗ 是特征向量,一般是求单位特征向量
λ 是特征值
假设矩阵M,有n个线性无关特征向量和对应特征值
特征向量组合成新的矩阵V,特征值组合为一个列向量
λ⃗
可以得到M矩阵的分解
若M是实对称矩阵,可以得到
其中 Q 是M特征向量组成的正交矩阵,
特征值分解有可能不唯一
特征值分解的卵用
- 若任意一个特征值为0,则矩阵奇异,方程组无解
- 矩阵特征值都是正数,就是正定矩阵
- 矩阵特征值都是正数和0,就是半正定矩阵
- 矩阵特征值都是负数,就是负定矩阵
- 矩阵特征值都是负数和0,就是半负定矩阵
奇异值分解
Singular Value Decomposition SVD
特征值分解必须是方阵,奇异值可以分解任意形状矩阵
U是左奇异向量,正交矩阵
D是对角矩阵,奇异值,方阵
V是右奇异向量,正交矩阵
转置代替逆,降低运算量
矩阵的迹(Trace)
对角元素相加,是矩阵的迹
应用F范数
Trace特性
对于方阵有:
对于标量a, Tr(a)=a
判别式(The Determinant)
也叫作行列式
判断矩阵是否有解,判别式为0时方程组有唯一解
特征值相乘
PCA主成分分析
Principal Components Analysis
有损压缩,降维
实现方法:一个编码函数和一个解码函数。解码函数近似还原矩阵
先确定解码函数
编码函数也要求尽量简单,D的列向量之间要相互垂直,且都是单位向量
目标函数
目标:引入L2范数,衡量解码后的点与编码时点的距离,定义最佳编码为
最小化目标:找到解码后的矩阵和原矩阵L2距离最小的编码方法
PCA重建函数,对矩阵进行编码再解码
这个公式的意义是编码函数和解码函数只需要一个矩阵就可以,矩阵是编码,矩阵的转置是解码
求解D矩阵
现在只需要求解D矩阵就可以完成PCA过程了
这里采用F范数衡量矩阵距离
考虑简单一行的情况,即D暂时作为 d⃗ 考虑,得到
利用Trace化简,最后得到