线性代数

线性代数

基础概念

标量(Scalar)

是一个数字,没有方向
使用标量时要确定范围

向量(vector)

类似一个数组,按照下标有序排列
一般情况是列向量,使用列向量是因为要和矩阵结合计算

矩阵(matrix)

二维序列

张量(tensor)

更高维度的矩阵

定理&特性

矩阵转置

(MT)i,j=Mj,i

向量转置
列向量和行向量转换
看成只有一行的矩阵
标量转置
标量转置就是自己本身
看成只有一个元素的矩阵

矩阵运算

加法
矩阵+矩阵:对应元素相加
矩阵+向量:每一列都加对应向量的元素
矩阵+标量:每个元素都加对应标量
和numpy的规则一致

矩阵乘法

ci,j=kai,kbk,j

矩阵点乘
对应元素做乘法
向量点乘: x⃗ y⃗ =x⃗ Ty⃗ 

矩阵乘法定律

分配律: A(B+C)=AB+AC
结合律: (AB)C=A(BC)
积的转置: (AB)T=BTAT

单位矩阵

单位矩阵和任意矩阵(向量)相乘不会改变该矩阵(向量)
对角线元素都为1

矩阵的逆

类似倒数的概念

A1A=I

矩阵的逆有什么用处 — 解方程组

Ax⃗ =b⃗ A1Ax⃗ =A1b⃗ Inx⃗ =A1b⃗ x⃗ =A1b⃗ 

不常用:A里有很大的数,则 A1 中会有很小的数,计算机中有截断误差,不精确

线性相关&线性空间

线性组合

Ax⃗ =x1a⃗ :,1+x2a⃗ :,2+...+xna⃗ :,n

线性组合可以形成线性空间

矩阵逆的存在条件

解的可能:唯一解;无限解;无解
例如:3个未知数2个方程,有一个未知数没有约束,所以会有无限多的解

Ax⃗ =b⃗ 

b在A的列向量空间内,可以组合得带解
通俗而言,列比行多就有解

线性相关

可以用若干向量的组合得到另一个向量
若列之间线性相关,则称矩阵是奇异矩阵(singular)

范数(Norms)

向量的长度,用于衡量向量或者矩阵的长度
范数就是想将向量矩阵映射到一个标量上进行比较

欧几里得范数

L2范数

L2=x2i=xL22=ix2i=x⃗ 2=x⃗ Tx⃗ 

F范数(Frobenius norm)
L2范数推广到矩阵时的范数

MF=i,jm2i,j

特殊矩阵

对角矩阵
对角线元素有值,其他位置
运算成本低,记作 diag(v⃗ )
逆矩阵也好求解,但是要求对角线元素不为0

对称矩阵

M=MT

单位向量

x⃗ 2=1

两个向量垂直(orthogonal)
0和任何向量垂直

x⃗ Ty⃗ =0

正交矩阵
矩阵列向量都相互垂直,且都是单位向量

MTM=MMT=I

特征值分解

矩阵的特征值分解类似于标量的质因数分解
特征值分解(Eigendecomposition)
把矩阵M表达为一个标量和一个向量相乘的形式

Mv⃗ =λv⃗ 

其中 v⃗  是特征向量,一般是求单位特征向量
λ 是特征值

假设矩阵M,有n个线性无关特征向量和对应特征值
特征向量组合成新的矩阵V,特征值组合为一个列向量 λ⃗ 
可以得到M矩阵的分解

M=Vdiag(λ⃗ )V1

若M是实对称矩阵,可以得到

M=QΛQ1

其中 Q 是M特征向量组成的正交矩阵,Λ是对角矩阵
特征值分解有可能不唯一

特征值分解的卵用

  • 若任意一个特征值为0,则矩阵奇异,方程组无解
  • 矩阵特征值都是正数,就是正定矩阵
  • 矩阵特征值都是正数和0,就是半正定矩阵
  • 矩阵特征值都是负数,就是负定矩阵
  • 矩阵特征值都是负数和0,就是半负定矩阵

奇异值分解

Singular Value Decomposition SVD
特征值分解必须是方阵,奇异值可以分解任意形状矩阵

M=Vdiag(λ⃗ )V1M=UDVT

U是左奇异向量,正交矩阵
D是对角矩阵,奇异值,方阵
V是右奇异向量,正交矩阵
转置代替逆,降低运算量

矩阵的迹(Trace)

对角元素相加,是矩阵的迹

Tr(M)=mi,i

应用F范数
MF=Tr(MMT)

Trace特性

Tr(M)=Tr(MT)

对于方阵有:
Tr(ABC)=Tr(CAB)=Tr(BCA)Tr(AB)=Tr(BA)

对于标量a, Tr(a)=a

判别式(The Determinant)

也叫作行列式
判断矩阵是否有解,判别式为0时方程组有唯一解

det(M)=iλi

特征值相乘

PCA主成分分析

Principal Components Analysis
有损压缩,降维
实现方法:一个编码函数和一个解码函数。解码函数近似还原矩阵
先确定解码函数

fd(x⃗ )=Dx⃗ 

编码函数也要求尽量简单,D的列向量之间要相互垂直,且都是单位向量
目标函数
目标:引入L2范数,衡量解码后的点与编码时点的距离,定义最佳编码为
x⃗ =argminx⃗ x⃗ fd(x⃗ )22=argminx⃗ [(x⃗ fd(x⃗ ))T(x⃗ fd(x⃗ ))]

最小化目标:找到解码后的矩阵和原矩阵L2距离最小的编码方法
PCA重建函数,对矩阵进行编码再解码
这个公式的意义是编码函数和解码函数只需要一个矩阵就可以,矩阵是编码,矩阵的转置是解码
r(x⃗ )=fd(fe(x⃗ )))=DDTx⃗ 

求解D矩阵
现在只需要求解D矩阵就可以完成PCA过程了
这里采用F范数衡量矩阵距离
D=argminDi,j(x(i)jr(x(i))j)2

考虑简单一行的情况,即D暂时作为 d⃗  考虑,得到
d=argmindx(i)dTx(i)d22

d=argmindx(i)x(i)Tdd22

利用Trace化简,最后得到
d=argmaxdTr(dTXTXd)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值