机器学习数学基础:12.矩阵基础知识
矩阵基础知识
矩阵运算全解析
一、矩阵的基本概念
(一)本质
矩阵本质上是一个按照矩形阵列排列的数表。在数学领域,特别是线性代数中,矩阵常被用于描述和处理线性方程组。例如,对于线性方程组:
{2x+3y =84x−5y =−1 \begin{cases} 2x + 3y \ = 8 \\ 4x - 5y \ = - 1 \end{cases} {2x+3y =84x−5y =−1
我们可以将其系数提取出来构成一个2×22×22×2的矩阵[234−5]\begin{bmatrix}2&3\\4& - 5\end{bmatrix}[243−5],将系数与常数项一起构成一个2×32×32×3的增广矩阵[2384−5−1]\begin{bmatrix}2&3&8\\4& - 5& - 1\end{bmatrix}[243−58−1]。通过对这些矩阵进行特定的变换和运算,可以帮助我们求解方程组,这是矩阵在实际应用中的一种常见方式。
(二)表示方法
矩阵由MMM行NNN列的数组成,通常用大写字母如AAA、BBB、CCC等表示。矩阵中的元素用AijA_{ij}Aij表示,其中iii代表元素所在的行(i =1,2,⋯ ,Mi \ = 1,2,\cdots,Mi =1,2,⋯,M),jjj代表元素所在的列(j =1,2,⋯ ,Nj \ = 1,2,\cdots,Nj =1,2,⋯,N)。例如,在一个3×43×43×4的矩阵AAA中:
A =[a11a12a13a14a21a22a23a24a31a32a33a34] A\ =\begin{bmatrix} a_{11}&a_{12}&a_{13}&a_{14}\\ a_{21}&a_{22}&a_{23}&a_{24}\\ a_{31}&a_{32}&a_{33}&a_{34} \end{bmatrix} A =
a11a21a31a12a22a32a13a23a33a14a24a34
a23a_{23}a23就表示第222行第333列的元素,它是矩阵AAA中的一个具体数值。
二、矩阵的加法运算
(一)运算前提条件
只有当两个矩阵具有相同的行数和列数时,它们才能进行加法运算,即对于矩阵A =(aij)A\ =(a_{ij})A =(aij)和矩阵B =(bij)B\ =(b_{ij})B =(bij),只有当AAA和BBB都是m×nm×nm×n矩阵(mmm表示行数,nnn表示列数)时,AAA与BBB才能相加。
(二)运算规则
矩阵AAA与BBB相加得到的矩阵C =(cij)C\ =(c_{ij})C =(cij),其中cij =aij+bijc_{ij}\ =a_{ij}+b_{ij}cij =aij+bij,i =1,2,⋯ ,mi \ = 1,2,\cdots,mi =1,2,⋯,m,j =1,2,⋯ ,nj \ = 1,2,\cdots,nj =1,2,⋯,n。简单来说,就是将两个矩阵对应位置的元素相加,得到的结果作为和矩阵对应位置的元素。
例如,有矩阵A =[1234]A\ =\begin{bmatrix}1&2\\3&4\end{bmatrix}A =[1324],矩阵B =[5678]B\ =\begin{bmatrix}5&6\\7&8\end{bmatrix}B =[5768],因为AAA和BBB都是2×22×22×2的矩阵,所以可以进行加法运算,其结果为:
C =A+B =[1+52+63+74+8] =[681012]C \ = A + B\ =\begin{bmatrix}1 + 5&2 + 6\\3 + 7&4 + 8\end{bmatrix}\ =\begin{bmatrix}6&8\\10&12\end{bmatrix}C =A+B =[1+53+72+64+8] =[610812]
(三)特殊性质
- 交换律:A+B =B+AA + B\ =B + AA+B =B+A。
- 结合律:(A+B)+C =A+(B+C)(A + B)+C\ =A+(B + C)(A+B)+C =A+(B+C)。
其中,AAA、BBB、CCC是具有相同行数和列数的矩阵。
三、矩阵的减法运算
(一)运算前提条件
与加法运算相同,只有两个矩阵行数和列数都一致时,才能进行减法运算,即矩阵AAA和BBB都为m×nm×nm×n矩阵时,A−BA - BA−B才有意义。
(二)运算规则
矩阵AAA减去BBB得到的矩阵D =(dij)D\ =(d_{ij})D =(dij),其中dij =aij−bijd_{ij}\ =a_{ij}-b_{ij}dij =aij−bij,i =1,2,⋯ ,mi \ = 1,2,\cdots,mi =1,2,⋯,m,j =1,2,⋯ ,nj \ = 1,2,\cdots,nj =1,2,⋯,n。也就是将两个矩阵对应位置的元素相减,差值作为差矩阵对应位置的元素。
例如,若A =[9753]A\ =\begin{bmatrix}9&7\\5&3\end{bmatrix}A =[9573],B =[4321]B\ =\begin{bmatrix}4&3\\2&1\end{bmatrix}B =[4231],由于它们都是2×22×22×2矩阵,可做减法:
D =A−B =[9−47−35−23−1] =[5432]D \ = A - B\ =\begin{bmatrix}9 - 4&7 - 3\\5 - 2&3 - 1\end{bmatrix}\ =\begin{bmatrix}5&4\\3&2\end{bmatrix}D =A−B =[9−45−27−33−1] =[5342]
(三)特殊性质
- 矩阵减法不满足交换律,一般情况下A−B≠B−AA - B \neq B - AA−B=B−A。
四、矩阵的乘法运算
(一)运算前提条件
矩阵乘法有严格的要求:只有当第一个矩阵的列数与第二个矩阵的行数相等时,这两个矩阵才能相乘。我们把这个相等的数称为 “内标”。假设矩阵AAA是m×nm×nm×n的矩阵(即mmm行nnn列),矩阵BBB是n×pn×pn×p的矩阵(即nnn行ppp列),此时AAA的列数nnn和BBB的行数nnn相等,那么AAA和BBB可以进行乘法运算,记作ABABAB,结果是一个m×pm×pm×p的矩阵。例如,若AAA是2×32×32×3的矩阵,BBB是3×43×43×4的矩阵,因为AAA的列数333等于BBB的行数333,所以ABABAB可以运算,结果是一个2×42×42×4的矩阵;若AAA是3×23×23×2的矩阵,BBB是4×34×34×3的矩阵,由于AAA的列数222不等于BBB的行数444,则ABABAB无法进行乘法运算。
(二)运算规则
设矩阵A =(aij)A \ =(a_{ij})A =(aij)是m×nm×nm×n的矩阵,矩阵B =(bij)B \ =(b_{ij})B =(bij)是n×pn×pn×p的矩阵,它们的乘积C =AB =(cij)C \ = AB \ =(c_{ij})C =AB =(cij)是一个m×pm×pm×p的矩阵。其中CCC中第iii行第jjj列的元素cijc_{ij}cij是通过AAA的第iii行元素与BBB的第jjj列对应元素相乘后再求和得到的,用公式表示为:
cij =∑k =1naikbkj =ai1b1j+ai2b2j+⋯+ainbnjc_{ij}\ =\sum_{k \ = 1}^{n}a_{ik}b_{kj}\ =a_{i1}b_{1j}+a_{i2}b_{2j}+\cdots+a_{in}b_{nj}cij =k =1∑naikbkj =ai1b1j+ai2b2j+⋯+ainbnj
例如,设A =[1234]A\ =\begin{bmatrix}1&2\\3&4\end{bmatrix}A =[1324],B =[5678]B\ =\begin{bmatrix}5&6\\7&8\end{bmatrix}B =[5768]。计算ABABAB时:
-c11 =1×5+2×7 =5+14 =19c_{11}\ =1×5 + 2×7 \ = 5 + 14 \ = 19c11 =1×5+2×7 =5+14 =19;
-c12 =1×6+2×8 =6+16 =22c_{12}\ =1×6 + 2×8 \ = 6 + 16 \ = 22c12 =1×6+2×8 =6+16 =22;
-c21 =3×5+4×7 =15+28 =43c_{21}\ =3×5 + 4×7 \ = 15 + 28 \ = 43c21 =3×5+4×7 =15+28 =43;
-c22 =3×6+4×8 =18+32 =50c_{22}\ =3×6 + 4×8 \ = 18 + 32 \ = 50c22 =3×6+4×8 =18+32 =50。
所以AB =[19224350]AB\ =\begin{bmatrix}19&22\\43&50\end{bmatrix}AB =[19432250]。
(三)特殊性质
- 不具有交换律:在一般情况下,矩阵乘法不满足交换律,即AB≠BAAB\neq BAAB=BA。原因有以下几点:
- 从运算前提看,ABABAB要求AAA的列数等于BBB的行数,而BABABA要求BBB的列数等于AAA的行数,当AAA和BBB的行列数不满足特定对称关系时,可能出现ABABAB能运算但BABABA不能运算的情况。例如,若AAA是2×32×32×3的矩阵,BBB是3×43×43×4的矩阵,ABABAB是2×42×42×4的数学符号矩阵,而BABABA无法运算。
- 即使ABABAB和BABABA都能运算,它们结果矩阵的行数和列数也可能不同。比如AAA是2×32×32×3的矩阵,BBB是3×23×23×2的矩阵,ABABAB是2×22×22×2的矩阵,BABABA是3×33×33×3的矩阵。
- 就算ABABAB和BABABA结果矩阵的行列数相同,对应位置的元素也不一定相等。例如A =[1234]A\ =\begin{bmatrix}1&2\\3&4\end{bmatrix}A =[1324],B =[5678]B\ =\begin{bmatrix}5&6\\7&8\end{bmatrix}B =[5768],AB =[19224350]AB\ =\begin{bmatrix}19&22\\43&50\end{bmatrix}AB =[19432250],而BA =[23343146]BA\ =\begin{bmatrix}23&34\\31&46\end{bmatrix}BA =[23313446],显然AB≠BAAB\neq BAAB=BA。
- 不具有消去率:在矩阵乘法中,若AB =0AB \ = 0AB =0(000表示零矩阵),不能得出A =0A \ = 0A =0或B =0B \ = 0B =0。也就是说,存在非零矩阵AAA和BBB,使得它们的乘积为零矩阵。例如,设A =[1000]A\ =\begin{bmatrix}1&0\\0&0\end{bmatrix}A =[1000],B =[0001]B\ =\begin{bmatrix}0&0\\0&1\end{bmatrix}B =[0001],则AB =[0000]AB\ =\begin{bmatrix}0&0\\0&0\end{bmatrix}AB =[0000],但AAA和BBB都不是零矩阵。
三、转置矩阵
(一)定义
对于矩阵AAA,将其行和列进行互换操作后得到的新矩阵,称为AAA的转置矩阵,记为ATA^TAT。例如,若A =[123456]A\ =\begin{bmatrix}1&2&3\\4&5&6\end{bmatrix}A =[142536],那么AT =[142536]A^T\ =\begin{bmatrix}1&4\\2&5\\3&6\end{bmatrix}AT = 123456 。可以看到,原矩阵AAA的第111行变成了ATA^TAT的第111列,原矩阵AAA的第222行变成了ATA^TAT的第222列。
(二)性质
- 再转置性质:对转置矩阵再取转置,结果会变回原矩阵,即(AT)T =A(A^T)^T \ = A(AT)T =A。从定义角度理解,对AAA进行一次转置得到ATA^TAT,再对ATA^TAT进行一次行和列的互换操作,就又回到了最初的矩阵AAA。
- 加法转置性质:对于两个同型矩阵(行数和列数都相同)AAA和BBB,(A+B)T =AT+BT(A + B)^T \ = A^T + B^T(A+B)T =AT+BT。设A =(aij)A\ =(a_{ij})A =(aij),B =(bij)B\ =(b_{ij})B =(bij)都是m×nm\times nm×n的矩阵,A+B =(aij+bij)A + B\ =(a_{ij}+b_{ij})A+B =(aij+bij),(A+B)T(A + B)^T(A+B)T中第iii行第jjj列的元素是A+BA + BA+B中第jjj行第iii列的元素aji+bjia_{ji}+b_{ji}aji+bji;AT =(aji)A^T\ =(a_{ji})AT =(aji),BT =(bji)B^T\ =(b_{ji})BT =(bji),AT+BTA^T + B^TAT+BT中第iii行第jjj列的元素也是aji+bjia_{ji}+b_{ji}aji+bji,所以(A+B)T =AT+BT(A + B)^T \ = A^T + B^T(A+B)T =AT+BT。
- 数乘转置性质:若AAA是矩阵,λ\lambdaλ是常数,则(λA)T =λAT(\lambda A)^T\ =\lambda A^T(λA)T =λAT。设A =(aij)A\ =(a_{ij})A =(aij)是m×nm\times nm×n的矩阵,λA =(λaij)\lambda A\ =(\lambda a_{ij})λA =(λaij),(λA)T(\lambda A)^T(λA)T中第iii行第jjj列的元素是λA\lambda AλA中第jjj行第iii列的元素λaji\lambda a_{ji}λaji;λAT\lambda A^TλAT中第iii行第jjj列的元素同样是λaji\lambda a_{ji}λaji,所以(λA)T =λAT(\lambda A)^T\ =\lambda A^T(λA)T =λAT。
- 乘积转置性质:当两个矩阵AAA和BBB可以相乘时,(AB)T =BTAT(AB)^T \ = B^T A^T(AB)T =BTAT。设AAA是m×nm\times nm×n的矩阵,BBB是n×pn\times pn×p的矩阵,ABABAB是m×pm\times pm×p的矩阵。(AB)T(AB)^T(AB)T是p×mp\times mp×m的矩阵,其第iii行第jjj列的元素是ABABAB中第jjj行第iii列的元素∑k =1najkbki\sum_{k \ = 1}^{n}a_{jk}b_{ki}∑k =1najkbki;BTB^TBT是p×np\times np×n的矩阵,ATA^TAT是n×mn\times mn×m的矩阵,BTATB^T A^TBTAT是p×mp\times mp×m的矩阵,其第iii行第jjj列的元素为∑k =1nbkiajk\sum_{k \ = 1}^{n}b_{ki}a_{jk}∑k =1nbkiajk,二者相等,所以(AB)T =BTAT(AB)^T \ = B^T A^T(AB)T =BTAT。
四、伴随矩阵
(一)定义
对于一个nnn阶方阵AAA(即行数和列数都为nnn的矩阵),其伴随矩阵记为A∗A^*A∗。伴随矩阵A∗A^*A∗的构建过程如下:
首先,对于矩阵AAA中的每个元素aija_{ij}aij,求出它的代数余子式AijA_{ij}Aij。在nnn阶行列式中,把元素aija_{ij}aij所在的第iii行和第jjj列上的所有元素都划去,留下来的n−1n - 1n−1阶行列式叫做元素aija_{ij}aij的余子式,记作MijM_{ij}Mij,而Aij =(−1)i+jMijA_{ij}\ =(-1)^{i + j}M_{ij}Aij =(−1)i+jMij就称为元素aija_{ij}aij的代数余子式。
然后,由这些代数余子式构成一个新的矩阵[A11A21⋯An1A12A22⋯An2⋮⋮⋱⋮A1nA2n⋯Ann]\begin{bmatrix}A_{11}&A_{21}&\cdots&A_{n1}\\A_{12}&A_{22}&\cdots&A_{n2}\\\vdots&\vdots&\ddots&\vdots\\A_{1n}&A_{2n}&\cdots&A_{nn}\end{bmatrix}
A11A12⋮A1nA21A22⋮A2n⋯⋯⋱⋯An1An2⋮Ann
,这个矩阵再进行转置操作,就得到了伴随矩阵A∗A^*A∗,即A∗ =[A11A12⋯A1nA21A22⋯A2n⋮⋮⋱⋮An1An2⋯Ann]TA^*\ =\begin{bmatrix}A_{11}&A_{12}&\cdots&A_{1n}\\A_{21}&A_{22}&\cdots&A_{2n}\\\vdots&\vdots&\ddots&\vdots\\A_{n1}&A_{n2}&\cdots&A_{nn}\end{bmatrix}^TA∗ =
A11A21⋮An1A12A22⋮An2⋯⋯⋱⋯A1nA2n⋮Ann
T。
(二)性质
- 行列式性质:伴随矩阵的行列式等于原矩阵行列式的n−1n - 1n−1次方,即∣A∗∣ =∣A∣n−1|A^*| \ = |A|^{n - 1}∣A∗∣ =∣A∣n−1。例如,对于一个333阶方阵AAA,∣A∗∣ =∣A∣2|A^*| \ = |A|^2∣A∗∣ =∣A∣2。这一性质可以通过行列式的展开定理和代数余子式的相关性质进行推导证明。
- 数乘行列式性质:若AAA是nnn阶矩阵,λ\lambdaλ是常数,则∣λA∣ =λn∣A∣|\lambda A|\ =\lambda^n|A|∣λA∣ =λn∣A∣。这是因为数乘矩阵时,矩阵的每一个元素都乘以该常数λ\lambdaλ,在计算行列式时,根据行列式的性质,每一行(列)提出一个公因子λ\lambdaλ,nnn阶行列式就会提出nnn个λ\lambdaλ,所以∣λA∣ =λn∣A∣|\lambda A|\ =\lambda^n|A|∣λA∣ =λn∣A∣。
- 乘积行列式性质:对于两个nnn阶方阵AAA和BBB,∣AB∣ =∣A∣×∣B∣|AB| \ = |A|\times|B|∣AB∣ =∣A∣×∣B∣。这个性质可以通过行列式的乘法规则以及矩阵乘法的运算规则进行证明。它表明两个方阵乘积的行列式等于它们各自行列式的乘积,在计算一些复杂矩阵的行列式时,可以利用这一性质简化计算过程。
伴随矩阵在矩阵求逆等后续内容中起着关键作用,是深入学习矩阵理论的重要基础。掌握好伴随矩阵的定义和性质,有助于进一步理解和解决线性代数中的相关问题。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)