![速通深度学习数学基础](https://wfqqreader-1252317822.image.myqcloud.com/cover/778/47793778/b_47793778.jpg)
1.4 矩阵
1.4.1 矩阵的基本概念
1.线性变换
对于向量x,基于新的需求,我们可能需要从新的角度进行观测。新的角度有可能将某些特征放大,同时忽略一些无关因素。
例如,一个学生有语文、数学、外语的成绩,而不同的专业对各科成绩及它们之间的组合的要求是不一样的,如翻译专业需要语文和外语成绩好,计算机专业需要数学和外语成绩好。因此,不同的专业在招生时需要考察成绩的不同方面,即观测角度不同,从数学的角度看,就是对考试成绩进行坐标变换。
那么,具体怎么做呢?我们可以构建一个新的坐标系,y为x在新坐标系下的坐标。例如,在2维空间中,使用向量w1和w2构建新的坐标系。在这里,不需要w1和w2正交,y就是新坐标系下的坐标,即
![](https://epubservercos.yuewen.com/D80F69/27210566704740106/epubprivate/OEBPS/Images/txt001_59.jpg?sign=1738943905-jfc8nOcqnKry5gju15B33Xogkwc7RC2C-0-de7dc39ff13c9a2279c2f0712b610e37)
例如,有,
,
,那么
,坐标变换如图1-13所示。
![](https://epubservercos.yuewen.com/D80F69/27210566704740106/epubprivate/OEBPS/Images/txt001_64.jpg?sign=1738943905-rKMPQ7x8dXOI7mPWqmvgseqAHUvo89uT-0-4df5b76e782f252d879279080352c6b0)
图1-13
我们一般把这种坐标变换写成
![](https://epubservercos.yuewen.com/D80F69/27210566704740106/epubprivate/OEBPS/Images/txt001_65.jpg?sign=1738943905-qHa0zfwGxvk6a4RQbS0SjhZsdBgHKvwn-0-adcdb4aaa425902498f94dc84ce6427c)
W称为矩阵,表示特定的坐标变换形式。通过矩阵W对向量x进行坐标变换,得到结果y,一般写成矩阵乘法,即
y=Wx
上述运算也称为线性变换。
更一般的,向量变化前后的维度不一定相等。例如,对于n维向量x,选用m个坐标轴重新观测,那么
![](https://epubservercos.yuewen.com/D80F69/27210566704740106/epubprivate/OEBPS/Images/txt001_66.jpg?sign=1738943905-PdMgl0EP87lvj0jBnonRNyGWQivdbaDf-0-ac16107f794ed91ac7e444fbd5a36289)
坐标变换为
![](https://epubservercos.yuewen.com/D80F69/27210566704740106/epubprivate/OEBPS/Images/txt001_67.jpg?sign=1738943905-y9gXOdDnuAdhzKBAVehIOYXSQIdEnjbh-0-da9634ea4b445622ed2d52d3048199af)
n维向量x,通过矩阵W进行变换,得到m维向量y。
矩阵W一共有m行n列,记为W∈Rm×n。特别的,如果m=n,即W的行数和列数相等,就称W为方阵。
需要注意的是,矩阵的列数要和向量的行数相等,这样线性变换才有意义,即W∈Rm×n,x∈Rn×1。
特别的,对于2维向量,如果,
,
,则对任意x都有坐标不会发生变换,也就是说,我们默认向量所在的坐标系为
。一般来说,我们把对角线元素为1,其他位置元素都为0的矩阵称为单位矩阵,用E表示。
x≡Wx
从坐标变换的角度理解矩阵,需要注意以下三点。
● 新坐标系下的原点不发生变化。
● 新坐标系的坐标轴不一定相互垂直。
● 新坐标系的坐标刻度未必是1,也就是说,不要求‖wi‖=1。这样,坐标变换就会起到伸缩向量的作用,即向量到原点(原点本身不变)的距离会发生变化。
y=Wx
‖y‖≠‖x‖
2.线性变换的几何意义
我们也可以从几何的角度看向量。例如,对于2维向量,它对应于2维坐标系中的一个点,如图1-14所示。
![](https://epubservercos.yuewen.com/D80F69/27210566704740106/epubprivate/OEBPS/Images/txt001_73.jpg?sign=1738943905-UHR6LY7uQUbf8BtrrerLa1V8B6jezsme-0-02d2e47bd146cc6918d382259c5dc6cc)
图1-14
在机器学习中,为了使数据之间的区分度更高,以便后续处理,我们往往需要对数据点进行一些基本操作,具体如下。
● 伸缩,如图1-15所示,,在两个坐标轴的方向进行缩放。
![](https://epubservercos.yuewen.com/D80F69/27210566704740106/epubprivate/OEBPS/Images/txt001_75.jpg?sign=1738943905-feA8l5OjwtUOKg3ihqTK8JwCCSNSMubK-0-1ffcb6d24cc98efe86f8a8e02f04f9a4)
图1-15
● 旋转,如图1-16所示,坐标点围绕坐标轴逆时针旋转θ。
![](https://epubservercos.yuewen.com/D80F69/27210566704740106/epubprivate/OEBPS/Images/txt001_76.jpg?sign=1738943905-xXa2aHJzZ1daUydze7QW2Wr5PU2886eA-0-f45563d5d4c1a1d95cab31acfcb3762d)
![](https://epubservercos.yuewen.com/D80F69/27210566704740106/epubprivate/OEBPS/Images/txt001_77.jpg?sign=1738943905-YVp8ON2KUiQJwVpjls08T5rZhORLFbVf-0-e46dcbaaf574b1e81aac2150265e1ab9)
图1-16
对一个向量依次进行旋转和缩放操作,可以写成
![](https://epubservercos.yuewen.com/D80F69/27210566704740106/epubprivate/OEBPS/Images/txt001_78.jpg?sign=1738943905-z5HtCDXI3OCPIn9fvitJos7R9mCfOy7g-0-783d7f3bb4596b11b2f1e26eb6dc333e)
重新整理一下,上式可以写成
![](https://epubservercos.yuewen.com/D80F69/27210566704740106/epubprivate/OEBPS/Images/txt001_79.jpg?sign=1738943905-FFuDFZzgqgnMudTwgrOy78D7ZT0vLxIc-0-4a6dd858a6494cf4be492b7f41c5ac52)
其中
w11=acosθ
w12=-asinθ
w21=bsinθ
w22=bcosθ
因此,w11、w12、w21、w22对应于一套旋转和缩放操作。于是,可以写成
![](https://epubservercos.yuewen.com/D80F69/27210566704740106/epubprivate/OEBPS/Images/txt001_80.jpg?sign=1738943905-8oPLXyrXfclatxYPUa6WcdesGWYChsCB-0-fdd1f511cd888bb4ec9790dbbd6e8d09)
所以,对向量进行旋转和缩放也是一种线性变换。
对向量的常见操作还有平移,即,
,如图1-17所示。
![](https://epubservercos.yuewen.com/D80F69/27210566704740106/epubprivate/OEBPS/Images/txt001_83.jpg?sign=1738943905-1MWYCCR5VOqZc9Jre8KesDc0dQvEcORN-0-e19b3834f08443640775a71a6a184f4f)
图1-17
对向量的平移也可以写成线性变换的形式,不过这里需要对原向量进行改造,先增加一个维度并为其取值1,再进行线性变换,即
![](https://epubservercos.yuewen.com/D80F69/27210566704740106/epubprivate/OEBPS/Images/txt001_85.jpg?sign=1738943905-Iy5kI87iyaZEykDyHIwLZTZEDcDVDC1L-0-d2c828d9d9d1794c44998ac088ce9d44)
可以看出,低维空间中的平移等价于高维空间中的线性变换。在线性回归、逻辑回归和神经网络中,经常可以看到以下写法。
y=Wx
这里并非没有偏置,只不过已经把偏置隐藏并写入W,且x增加了取值为1的维度。
3.矩阵的乘法
对于向量x,我们可以依次使用矩阵W和矩阵S连续进行两次线性变换,即
z=Wx
y=Sz
所以,有
y=SWx
在这里,W的列数和S的行数必须相等,即当W∈Rm×n时,S∈Rn×k。
上述操作也可以换一个角度理解。将矩阵W和矩阵S相乘,即M=WS,再用M对向量x进行线性变换,即y=Mx。例如
![](https://epubservercos.yuewen.com/D80F69/27210566704740106/epubprivate/OEBPS/Images/txt001_86.jpg?sign=1738943905-1BkcH0zTrd2T99cutlgm37Waw2ZomNYi-0-570a5f532e8ae8eaa6a8e7f57871d163)
可以发现,对矩阵连续进行两次线性变换,在效果上等价于一次线性变换。这也是深度神经网络必须使用激活函数的原因。
如果W∈Rn×n和S∈Rn×n为同尺寸的方阵,那么WS和SW都可以进行运算。但是,一般来说,WS≠SW,即在进行多次线性变换时,顺序也很重要。
在机器学习中,线性变换是常见的操作,可以进行升维,也可以进行降维,它们有不同的作用。例如,x∈Rn×1,W∈Rm×n,那么x'=Wx∈Rm×1。如果m>n,就相当于把向量映射至高维空间,虽然产生了特征冗余,但合理的线性变换可以使数据在空间中的分布更利于分类。如果m<n,就是进行特征降维。特征降维一般是为了去除噪声,例如主成分分析(PCA)、神经网络自动特征筛选。
4.转置矩阵
把矩阵W∈Rm×n行列对调,得到的矩阵记为WT∈Rn×m。WT称为W的转置矩阵,即
![](https://epubservercos.yuewen.com/D80F69/27210566704740106/epubprivate/OEBPS/Images/txt001_87.jpg?sign=1738943905-PJHedKYXFSJshbclPWsIion0bOo3IIxU-0-3b11e24e478547493e4bfaa44de4ba50)
那么
![](https://epubservercos.yuewen.com/D80F69/27210566704740106/epubprivate/OEBPS/Images/txt001_88.jpg?sign=1738943905-01CG4ts743L59v086aqCoVqsOEgQBbgO-0-396d136af33f82206704c1ca1a634158)
如果A∈Rm×n,B∈Rm×n,那么
(A+B)T=AT+BT
如果A∈Rm×n,B∈Rn×k,那么
(AB)T=BTAT
如果对于方阵W∈Rn×n,满足W=WT,那么称W为对称矩阵。
为对称矩阵的充要条件是对于任意i和j均满足wij=wji。
对于任意矩阵W∈Rm×n,有
(WWT)T=(WT)TWT=WWT
因此,WWT是对称矩阵。同理,WTW也是对称矩阵。
5.矩阵的迹
对于方阵W∈Rn×n,其对角线上各元素之和称为矩阵W的迹,一般记作tr(W)。例如,对矩阵
![](https://epubservercos.yuewen.com/D80F69/27210566704740106/epubprivate/OEBPS/Images/txt001_90.jpg?sign=1738943905-qecSz2ya5SM2t2s7vOtM5LNVgePVVmHf-0-e12c73dd63096879b3236ac7bb526974)
有
![](https://epubservercos.yuewen.com/D80F69/27210566704740106/epubprivate/OEBPS/Images/txt001_91.jpg?sign=1738943905-Qjwomq1Du5Z1fIVmapy4xUIrwV0vhGkA-0-ea65b6959a30e26001cea679c3b57363)
有两个方阵A∈Rn×n、B∈Rn×n,它们的迹有如下关系。
● tr(AB)=tr(BA)。
● tr(mA+nB)=mtr(A)+ntr(B)。