这次我们来讲讲机器学习基础第三部分:线性代数
其实机器学习基础中,矩阵知识的应用很多,但是内容并不多,下面主要总结为三个部分:
- 矩阵
- 特征值和特征向量
- 矩阵求导
我们先讲一个在机器学习图像预处理应用中典型的方法:奇异值分解(Singular Value Decomposition,简称SVD分解)
假设A是任意一个m*n的单通道图像,则存在一个分解:
Am∗n=Um∗mΣm∗nVTn∗n
其中:
- U是 AAT 的特征向量, UTU=I ,即U是单位正交矩阵
- V是 ATA 的特征向量, VTV=I ,V也是单位正交矩阵
- Σ 对角线上的元素是A的特征向量
如果将
Σ
按照从大到小排列,可以选择前20(top20)来还原A(图像),会发现还原的图像和原图几乎看不出来差别
下面开始介绍矩阵的一些定义:
1.矩阵A
A=⎛⎝⎜⎜⎜⎜⎜A11A12⋮A1nA21A22⋮A2n⋯⋯⋱⋯An1An2⋮Ann⎞⎠⎟⎟⎟⎟⎟
2.行列式 |A|
∣∣∣∣∣∣∣A11A12⋮A1nA21A22⋮A2n⋯⋯⋱⋯An1An2⋮Ann∣∣∣∣∣∣∣
3.代数余子式:在一个n阶行列式A中,把(i,j)元素 aij 所在的第i行和第j列划去之后,留下的n-1阶方阵的行列式叫元素 aij 的余子式,记作 Mij
Aij=(−1)i+jMij
Mn2=⎛⎝⎜⎜⎜⎜⎜⎜⎜A11A21⋯An1A12A22⋯An2⋮⋮⋱⋯A1nA2n⋯Ann⎞⎠⎟⎟⎟⎟⎟⎟⎟
接下来说说矩阵的物理意义,矩阵物理意义有很多种,我们从转移概率来说说其中一种物理意义
假定按照经济状况将人群分成上中下三个阶层,用1,2,3,表示(这让我想起了北京折叠)。假定当前处于某个阶层之和上一代有关,即:考察父代为第i阶层,则子代为第j阶层的概率。假定为如下转移概率矩阵:
⎡⎣⎢0.650.150.120.280.670.360.070.180.52⎤⎦⎥
第N+1代中处于第j个阶层的概率为:
F(Xn+1=j)=ΣKi=1F(Xn=i)∗P(Xn+1=j|Xn=i)→F(n+1)=F(n)∗P
矩阵P为(条件)概率转移矩阵,第i行元素表示:在上一个状态为i时的分布概率,每行元素之和为1
PT 就是著名的马尔科夫矩阵(Markov Matrix)见(MIT线性代数公开课Gilbert Strang 老师 第24课),这个矩阵有着非常多优良的性质,譬如 PT 必然存在特征值为1。
特征值和特征向量
A是n阶矩阵,若数 λ 和n维非0列向量x满足Ax = λ x,那么数 λ 称为A的特征值,x称为A的对应于特征值 λ 的特征向量。
实对称阵不同特征值的特征向量正交(可见SVD中, ATA的特征向量V,AAT的特征向量U,都是正交矩阵 )
特征的导数
A 为 m*n的矩阵,x为n*1的列向量,则Ax为m*1的列向量,记
y⃗ =Ax⃗ ,∂y⃗ ∂x⃗ =AT
向量偏导公式:
∂Ax⃗ ∂x⃗ =AT
∂Ax⃗ ∂x⃗ T=A
∂(x⃗ TA)∂x⃗ =A
标量对向量的导数:其中 An∗n,xn∗1
∂(x⃗ TAx⃗ )∂x⃗ =(AT+A)x⃗
标量对方阵的导数:
∂(|A|)∂A=|A|(A−1)T