本文重点
在机器学习中,常用的理论就是线性变换,线性变化一定有对应的矩阵表示,非线性变换是不具备这个性质的,那么现在如果有一个线性变换T那么如何知道它对应的矩阵呢?
线性变换的本质
我们知道线性变换相当于一个函数,而矩阵也是一个函数,所以线性变换一定存在一个矩阵可以从数学的角度来表示这个线性变换。
线性变换或者矩阵可以理解为对向量的加工,本专栏刚开始的时候也介绍过,矩阵对向量加工是通过改变基向量来实现的,这个新的基向量就是这个矩阵的每一列。
确定线性变换矩阵A的方式
假如现在有一个线性变换T,那么我们如何确定它对应的矩阵A呢?
首先将原始的线性空间的基ai进行线性变换T(ai),然后每一个T(ai)在原始基下会有一个坐标Ai,那么我们可以认为线性变换T对应的矩阵就是[A1,A2....,An],也就是由坐标构成的矩阵,就是线性变换的矩阵A,我们可以定义坐标的表示形式为
Y=AX
这个就可以理解为原始的数据X经过线性变换A,变换为矩阵Y
线性变换矩阵A确定的例子
现在有一个线性变换D,它的核心就是对线性空间求导数,那么问D在基{1,X,X²,X³}下的变换矩阵A是什么?
要想解决这个问题,我们先对基中的每一个元素求导数,为{0,1,2x,3x²},然后将每一个导数元素用原始的基来表示
0=1*0+x*0+x²*0+x³*0
1=1*1+x*0+x²*0+x³*0
2x=1*0+x*2+x²*0+x³*0
3x²=1*0+x*0+x²*3+x³*0
所以我们可以看到此时有四个向量,分别是A1=(0,0,0,0),A2=(1,0,0,0),A3=(0,2,0,0),A4=(0,0,3,0),所以此时的变换矩阵A为: