![速通深度学习数学基础](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=1738891374-s8ZRQfaWev8IXKcn9ivx1eL76ZRpntJN-0-e8d5b26c0ef0b8bf29ac6359ccf03e36)
例如,有,
,
,那么
,坐标变换如图1-13所示。
![](https://epubservercos.yuewen.com/D80F69/27210566704740106/epubprivate/OEBPS/Images/txt001_64.jpg?sign=1738891374-TQH5lRhenVbtD73YjjN2G5lgfABRWylg-0-23dc16f3184f7b0afdd21e0802479b13)
图1-13
我们一般把这种坐标变换写成
![](https://epubservercos.yuewen.com/D80F69/27210566704740106/epubprivate/OEBPS/Images/txt001_65.jpg?sign=1738891374-jECmx1TX4dN9iGOHkjY1PfqpUGUgXvYw-0-6e0a04eff5f84cae159498d8dc7b5ee5)
W称为矩阵,表示特定的坐标变换形式。通过矩阵W对向量x进行坐标变换,得到结果y,一般写成矩阵乘法,即
y=Wx
上述运算也称为线性变换。
更一般的,向量变化前后的维度不一定相等。例如,对于n维向量x,选用m个坐标轴重新观测,那么
![](https://epubservercos.yuewen.com/D80F69/27210566704740106/epubprivate/OEBPS/Images/txt001_66.jpg?sign=1738891374-dEP4mUj7sWEoR6ikGsZAow71oM7LHS8i-0-9115c15bbfdac77cbdee83bf65d05490)
坐标变换为
![](https://epubservercos.yuewen.com/D80F69/27210566704740106/epubprivate/OEBPS/Images/txt001_67.jpg?sign=1738891374-pxHtdkYMkBHGWmseac2MvwtXAX2EnNCw-0-a6287c9ff11a6346490914dbdd6b7937)
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=1738891374-QyznI82Bmd4kHqPOxvnXINYkOYU0fR4i-0-ec81e597a57f46421f5b2ef1b48af9e8)
图1-14
在机器学习中,为了使数据之间的区分度更高,以便后续处理,我们往往需要对数据点进行一些基本操作,具体如下。
● 伸缩,如图1-15所示,,在两个坐标轴的方向进行缩放。
![](https://epubservercos.yuewen.com/D80F69/27210566704740106/epubprivate/OEBPS/Images/txt001_75.jpg?sign=1738891374-WNojwvvi2NQ1gT6Mv3ngdxETi4e0r9Ds-0-9dd19448755c12bafe5bffd79ba5f249)
图1-15
● 旋转,如图1-16所示,坐标点围绕坐标轴逆时针旋转θ。
![](https://epubservercos.yuewen.com/D80F69/27210566704740106/epubprivate/OEBPS/Images/txt001_76.jpg?sign=1738891374-Ou0G3kkkEqCoc38Fis3QaMY4v5AD6GLs-0-40fd9e2d059dd034ad2f25843e940073)
![](https://epubservercos.yuewen.com/D80F69/27210566704740106/epubprivate/OEBPS/Images/txt001_77.jpg?sign=1738891374-ndqac6GaWhIuBdeuLzygTxdLNuwaMse7-0-5881160e86f81335ffac868593ece717)
图1-16
对一个向量依次进行旋转和缩放操作,可以写成
![](https://epubservercos.yuewen.com/D80F69/27210566704740106/epubprivate/OEBPS/Images/txt001_78.jpg?sign=1738891374-ke2fmQeaZ0ZHUxYt1BhrmR5DVMRch4Hp-0-2b957e8922b509d15773bb7896d40480)
重新整理一下,上式可以写成
![](https://epubservercos.yuewen.com/D80F69/27210566704740106/epubprivate/OEBPS/Images/txt001_79.jpg?sign=1738891374-26tXNn1JbGZpeRXEPSjMqDbMD3CzZtBy-0-f808ee5aa05392d3406da052b757de61)
其中
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=1738891374-CUvMC6fVaPz1WVzThUBrMoB2gsCAwybW-0-a894b0cae47f04071965c32f32df7283)
所以,对向量进行旋转和缩放也是一种线性变换。
对向量的常见操作还有平移,即,
,如图1-17所示。
![](https://epubservercos.yuewen.com/D80F69/27210566704740106/epubprivate/OEBPS/Images/txt001_83.jpg?sign=1738891374-z66sRWfL9CCCsUv2aerLkaf42Cz1IC3A-0-3031bd52baaa5a7add8bf6db58b89c4b)
图1-17
对向量的平移也可以写成线性变换的形式,不过这里需要对原向量进行改造,先增加一个维度并为其取值1,再进行线性变换,即
![](https://epubservercos.yuewen.com/D80F69/27210566704740106/epubprivate/OEBPS/Images/txt001_85.jpg?sign=1738891374-mYTU6zUvkxRx8jtOe71G0luEroYtnJJy-0-19fd93e8378bed63a1f41a132e27844f)
可以看出,低维空间中的平移等价于高维空间中的线性变换。在线性回归、逻辑回归和神经网络中,经常可以看到以下写法。
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=1738891374-m8wb4cGYdkMv1WphauhIC61mTgWYfq5n-0-1eadf352d388ec6271d0698ce7566a4a)
可以发现,对矩阵连续进行两次线性变换,在效果上等价于一次线性变换。这也是深度神经网络必须使用激活函数的原因。
如果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=1738891374-GLgtjzhjDRTGOIHNZqQL6Kw1lQoEgyC3-0-178b2f48f04dd74310f08a3730d59440)
那么
![](https://epubservercos.yuewen.com/D80F69/27210566704740106/epubprivate/OEBPS/Images/txt001_88.jpg?sign=1738891374-DGDArE7pwUpItPjDrpcDIw6RzlugDKN1-0-141a828b28709356b06cd6f6630564dc)
如果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=1738891374-2QJSxnH9UsIJVvzbUQRlTI5vMGLuGWnR-0-17f24f980556fb0196cc7f95515f9a3e)
有
![](https://epubservercos.yuewen.com/D80F69/27210566704740106/epubprivate/OEBPS/Images/txt001_91.jpg?sign=1738891374-oy6oZ9aZjBQvQfW5rgapZi3fPhTZ9cI8-0-6f0a6b29d4b52bc0274d20ba1e47e3a3)
有两个方阵A∈Rn×n、B∈Rn×n,它们的迹有如下关系。
● tr(AB)=tr(BA)。
● tr(mA+nB)=mtr(A)+ntr(B)。