元素运算
加/减(Addition/subtraction)
a±b=c→ai±bi=ci
乘(Hadamard product)
a⊙b=c→aibi=ci or a∘b or a.∗b
除(Division)
将乘法反着用
矩阵运算
转置(Transpose)
X=x1...xN XT=[x1 ... xN] X=[x1 x3x2 x4] XT=[x1 x2x3 x4]
重塑(Reshaping)
vec:回滚回列级(相当于降维度,可帮助避开矩阵或张量)
vec(X)=vec[x1 x3x2 x4]=x1x2x3x4
vec-transpose:
(p) 重塑一个
m×n 的矩阵
X(2)=x11 x12x21 x22x31 x32x41 x42x51 x52x61 x62(2)=x11 x31 x51x21 x41 x61x12 x32 x52x22 x42 x62
迹(Trace)
矩阵主对角线元素之和 tr(X)=trx11 ... x1N... ... ...xN1 ... xNN=i∑xii
对角矩阵(Diag)
diag(X)=diag[x1x2]=[x1 00 x2] diag−1[x1 ab x2]=[x1x2]
点乘(Dot product)
xT⋅y=i∑xi⋅ yi=∣x∣⋅∣y∣cos θ
矩阵-向量乘法(Matrix-vector prodcut)
从点乘运算衍生来,矩阵 X 的列数必须与向量 y 的元素数一致
X⋅y=x1Tx2Tx3T⋅y=x1T⋅yx2T⋅yx3T⋅y=∑x1,i⋅yi∑x2,i⋅yi∑x3,i⋅yi
矩阵-矩阵乘法(Matrix-matrix product)
矩阵 X 的列数必须与矩阵 Y 的行数一致,即 (M×N)=(M×K)⋅(K×N)
X⋅Y=[x11 x12 x13x21 x22 x23]⋅y11 y12y21 y22y31 y32=[x11⋅y11+x12⋅y21+x13⋅y31 x11⋅y12+x12⋅y22+x13⋅y32x21⋅y11+x22⋅y21+x23⋅y31 x21⋅y12+x22⋅y22+x23⋅y32]
对称矩阵(Symmetric)
X=XT→xij=xji
XT⋅X=X⋅XT=I
逆矩阵[非奇异矩阵](inverse)
在线性代数中,给定一个 n 阶方阵 A ,若存在一 n 阶方阵 B ,使得 AB=BA=In ,其中 In 为 n 阶单位矩阵,则称 A 是可逆的,且 B 是 A 的逆矩阵,记作 A−1 。
X−1⋅X=I
X−1⋅X⋅Y=Y Y⋅X−1⋅X=Y X−1⋅Y⋅X=Y
只有正方形 n×n 的矩阵,亦即方阵,才可能、但非必然有逆矩阵。若方阵 A 的逆矩阵存在,则称 A 为非奇异方阵或可逆方阵。
伪逆矩阵[一般化的逆矩阵](pseudoinverse)
众所周知只有方阵才有逆矩阵,非方阵没有逆矩阵。这个不和谐的问题已在20世纪初被数学家E. H. Moore等人解决掉了,因为他们发明了一般化的逆矩阵(generalized inverse),也称为伪逆矩阵(Moore–Penrose pseudoinverse)。
对于任意一个 m×n 的矩阵 X,n×m 的伪逆矩阵 X+ 必然存在,且 X+ 必然满足以下四个条件:
X⋅X+⋅X=X X+⋅X⋅X=X+
(X⋅X+)T=X⋅X+ (X+⋅X)T=X+⋅X
在应用中,我们利用其性质进行 A⋅x=y→x=A+⋅y
1) 在一般情况下,特征向量矩阵 A 的特征向量 v→ 满足下列式子:
Av→=λv→
其中 λ 是所谓的“特征值”的一个标量值。这意味着,向量 v→ 上的线性变换 A 完全由 λ 定义。
我们可以重写式子为:
Av→−λv→=0 ⇒ v→(A−λI)=0
然而,假定 v→ 不是空向量,等式只能在 A−λI 不可逆的时候才能被定义。如果一个方阵是不可逆的,这意味着它的行列式必须等于零。因此,要找到 A 的特征向量,我们只需要解决以下公式:
Det(A−λI)=0
从几何层面上去理解二维的SVD:对于任意的 2×2 矩阵,通过SVD可以将一个相互垂直的网格(orthogonal grid)变换到另外一个相互垂直的网格。 我们可以通过向量的方式来描述这个事实: 首先,选择两个相互正交的单位向量 v1 和 v2 , 向量 Mv1 和 Mv2 正交。
u1 和 u2 分别表示 Mv1 和 Mv2 的单位向量, σ1∗u1=Mv1 和 σ2∗u2=Mv2 。 σ1 和 σ2 分别表示这不同方向向量上的模,也称作为矩阵 M 的奇异值。
这样我们就有了如下关系式:
Mv1=σ1u1
Mv2=σ2u2
我们现在可以简单描述下经过 M 线性变换后的向量 x 的表达形式。由于向量 v1 和 v2 是正交的单位向量,我们可以得到如下式子(单位向量乘以向量即此向量在单位向量方向上的映射)
x=(v1x)v1+(v2x)v2
这就意味着:
Mx=(v1x)Mv1+(v2x)Mv2
Mx=(v1x)σ1u1+(v2x)σ2u2
向量内积可以用向量的转置来表示,如下所示:
V.x=VTx
最终的式子为:
Mx=u1σ1v1Tx+u2σ2v2Tx
M=u1σ1v1T+u2σ2v2T
上述的式子经常表示成:
M=U∑VT
U 矩阵的列向量分别是 u1,u2 , ∑ 是一个对角矩阵,对角元素分别是对应的 σ1 和 σ2 , V 矩阵的列向量分别是 v1,v2 。上角标 T 表示矩阵 V 的转置。
Norms
2-norms: ∣∣x∣∣=∑xi2
p-norms: ∣∣x∣∣p=(i∑∣xi∣p)(1/p)
Frobenius norm: ∣∣x∣∣F=tr(XT⋅X)=tr([x1Tx2T]⋅[x1 x2])=tr([x1T⋅x1 x1T⋅x2x2T⋅x1 x2T⋅x2])
Kronecker product
矩阵 X 中每个元素作为标量去乘矩阵 Y ,其结果对应元素在矩阵 X 中位置
[x11 x12x21 x22]⊗Y=[x11⋅Y x12⋅Yx21⋅Y x22⋅Y] vec(X⋅Y⋅Z)=(ZT⊗X)vec(Y)
张量运算
通过Kronecker products以及vec运算我们可以完成多线性转换
Source