机器学习的数学基础:矩阵论
本文最后更新于 544 天前,其中的信息可能已经有所发展或是发生改变。

基本概念

向量及其转置

一个 $d$ 维列向量 $x$ 及其转置 $x^t$ 可记作:

$$x=\left[
\begin{matrix}
x_1 \\
x_2 \\
\vdots \\
x_d \\
\end{matrix} \right] 和
x^t=\left[
\begin{matrix}
x_1 & x_2 & \dots & x_d \\
\end{matrix} \right] \tag{1}$$

矩阵及其转置

一个$n \times d$的矩阵$\mathbf M$及其$d \times n$的转置矩阵$\mathbf M^t$为:

$$\mathbf M = \left[
\begin{matrix}
m_{11} & m_{12} & \dots & m_{1d} \\
m_{21} & m_{22} & \dots & m_{2d} \\
\vdots & \vdots & \ddots & \vdots \\
m_{n1} & m_{n2} & \dots & m_{nd} \\
\end{matrix} \right] \tag{2}$$

$$\mathbf M^t =\left[
\begin{matrix}
m_{11} & m_{21} & \dots & m_{n1} \\
m_{12} & m_{22} & \dots & m_{n2} \\
\vdots & \vdots & \ddots & \vdots \\
m_{1d} & m_{2d} & \dots & m_{nd} \\
\end{matrix} \right]\tag{3}$$

对称矩阵与反对称矩阵

一个$d \times d$的方阵, 如果其元素满足 $m_{ij}= m_{ji}$,则称为对称矩阵;一个的 $d \times d$ 方阵,如果其元素满足$m_{ij}=-m_{ji}$,则称为斜对称矩阵或反对称矩阵。

单位矩阵$ \mathbf I$

单位矩阵必须为方阵,其对角线元素均为1,非对角线元素均为0。

对角矩阵

非对角线元素均为0的矩阵,也记作$diag(m_{11}, m_{22}, \dots, m_{dd})$

向量或矩阵相加减

向量或矩阵的相加减即为对应元素相加减,参与运算的两个向量或矩阵维数必须相等

矩阵与向量相乘

矩阵与向量相乘$\mathbf M \mathbf x=\mathbf y$可以表示为:

$$\left[
\begin{matrix}
m_{11} & m_{21} & \dots & m_{n1}\\
m_{12} & m_{22} & \dots & m_{n2} \\
\vdots & \vdots & \ddots & \vdots \\
m_{1d} & m_{2d} & \dots & m_{nd} \\
\end{matrix} \right]
\left[
\begin{matrix}
x_1 \\
x_2 \\
\vdots\\
x_d \\
\end{matrix} \right] =
\left[
\begin{matrix}
y_1 \\
y_2 \\
\vdots\\
y_n \\
\end{matrix} \right ] \tag{4}
$$

其中:$y_i=\sum\limits_{j=0}^d m_{ij}x_j$。注意矩阵的列数必须等于向量的行数


向量内积与外积

向量内积

两个具有相同维数的向量$\mathbf x$与$\mathbf y$的内积记为$\mathbf x^t \mathbf y$,这是一个标量:

$$\mathbf x^t \mathbf y=\sum\limits_{i=0}^dx_i y_i=\mathbf y^t \mathbf x \tag{5}$$

内积也称作点积,记为$\mathbf x \cdot \mathbf y$或$\langle \mathbf x , \mathbf y \rangle$。

欧几里德范数

向量的欧几里德范数即为向量的长度,定义为:

$$\begin{Vmatrix}\mathbf x \end{Vmatrix}= \sqrt{\mathbf x^t \mathbf x} \tag{6}$$

如果一个向量$\mathbf x$满足$\begin{Vmatrix}\mathbf x \end{Vmatrix}= 1$,则称这个向量是归一化的

两个向量的夹角

两个d维向量的夹角为:

$$cos\theta= \frac{\mathbf x^t\mathbf y}{\begin{Vmatrix}\mathbf x \end{Vmatrix}\begin{Vmatrix}\mathbf y \end{Vmatrix}}\tag{7}$$

当$\mathbf x^t\mathbf y=0$时,这两个向量是正交的。当$\begin{Vmatrix}\mathbf x^t \mathbf y\end{Vmatrix}= \begin{Vmatrix}\mathbf x \end{Vmatrix}\begin{Vmatrix}\mathbf y \end{Vmatrix}$时,这两个向量是共线的。

由于对于任意角度$\theta$都有$|cos\theta|\leq 1$,由式(7)可得柯西-施瓦茨不等式:

$$|\mathbf x^t \mathbf y| \leq \begin{Vmatrix}\mathbf x \end{Vmatrix} \begin{Vmatrix}\mathbf y \end{Vmatrix}\tag{8}$$

线性相关与线性无关

对于一组给定的向量$\lbrace \mathbf x_1, \mathbf x_2, \dots, \mathbf x_n \rbrace$,如果其中不存在任何一个能被表示为其余向量的线性组合的向量,那么这组向量是线性无关的,反之则是线性相关。一组d个线性无关的d维向量能够张成一个d维向量空间,也就是说,这个空间中的任意向量都可以表示为这些线性无关向量的线性组合。

向量的外积

两个向量的外积为一个矩阵:

$$\mathbf M= \mathbf x \mathbf y^t=
\left[
\begin{matrix}
x_1 \\
x_2 \\
\vdots\\
x_d \\
\end{matrix} \right]
\left[
\begin{matrix}
y_1 & y_2 & \dots & y_d\\
\end{matrix} \right]=
\left[
\begin{matrix}
x_1 y_1 & x_1 y_2 & \dots & x_1 y_n \\
x_2 y_1 & x_2 y_2 & \dots & x_2 y_n \\
\vdots & \vdots & \ddots & \vdots \\
x_d y_1 & x_d y_2 & \dots & x_d y_n \\
\end{matrix} \right]\tag{9}
$$


矩阵的导数

取标量值的函数的导数

设$f(\mathbf x)$是一个取标量值得函数,有d个自变量$x_i(i=1,2, \dots, d)$,用向量$\mathbf x$表示。则函数$f(\cdot)$关于自变量$\mathbf x$的梯度为:

$$\nabla f(\mathbf x)= \frac{\partial f(\mathbf x)}{\partial \mathbf x}=
\left[
\begin{matrix}
\frac{\partial f(\mathbf x)}{\partial x_1} \\
\frac{\partial f(\mathbf x)}{\partial x_2} \\
\vdots\\
\frac{\partial f(\mathbf x)}{\partial x_d} \\
\end{matrix} \right]\tag{10}
$$

取值为向量的函数的导数

设$\mathbf f$是一个值为n维向量的向量函数,其自变量为d维向量$\mathbf x$,则$\mathbf f$关于自变量的梯度为:

$$\mathbf J(\mathbf x)= \frac{\partial \mathbf f(\mathbf x)}{\partial \mathbf x}=
\left[
\begin{matrix}
\frac{\partial f_1(\mathbf x)}{\partial x_1} & \dots & \frac{\partial f_1(\mathbf x)}{\partial x_d} \\
\vdots & \ddots & \vdots \\
\frac{\partial f_n(\mathbf x)}{\partial x_1} & \dots & \frac{\partial f_n(\mathbf x)}{\partial x_d} \\
\end{matrix} \right]\tag{11}
$$

称矩阵$\mathbf J(\mathbf x)$为雅克比矩阵

矩阵$\mathbf M$关于标量参数$\theta$的导数

设矩阵$\mathbf M$的每个元素都是关于某个标量参数$\theta$的函数,则此矩阵关于参数的导数为:

$$\frac{\partial \mathbf M}{\partial \theta}=
\left[
\begin{matrix}
\frac{\partial m_{11}}{\partial \theta} & \dots & \frac{\partial m_{1d}}{\partial \theta}\\
\vdots & \ddots & \vdots \\
\frac{\partial m_{n1}}{\partial \theta} & \dots & \frac{\partial m_{nd}}{\partial \theta} \\
\end{matrix} \right]\tag{12}
$$

常用公式

$$\begin{align}{1}
\frac{\partial}{\partial \mathbf x}[\mathbf M \mathbf x]= \mathbf M \tag{13} \\
\frac{\partial}{\partial \mathbf x}[\mathbf y^t \mathbf x]=
\frac{\partial}{\partial \mathbf x}[\mathbf x^t \mathbf y]=
\mathbf y \tag{14} \\
\frac{\partial}{\partial \mathbf x}[\mathbf x^t \mathbf M \mathbf x]= [\mathbf M + \mathbf M^t]\mathbf x \tag{15}
\end{align}$$


行列式和迹

求解行列式

  • $2 \times 2$的矩阵的行列式:

$$|\mathbf {M_{2 \times 2}}|= m_{11}m_{22}-m_{21}m_{12}\tag{16}$$

  • 余子式:如果$\mathbf M$为$d \times d$的矩阵,任一元素$m_{ij}$的余子式$\mathbf M_{i|j}$定义为,从原始矩阵$\mathbf M$中分别划去第$i$行和第$j$列的所有元素后,得到的$(d-1) \times (d-1)$的矩阵。$m_{ij}$的代数余子式$C_{ij}$为余子式$\mathbf M_{i|j}$与$(-1)^{i+j}$的乘积。

以三维矩阵$\mathbf A$为例:

$$
\mathbf A=\left[
\begin{matrix}
a_{11} & a_{12} & a_{13} \\
a_{21} & a_{22} & a_{23} \\
a_{31} & a_{32} & a_{33} \\
\end{matrix} \right]
$$

$a_{12}$的余子式$\mathbf A_{1|2}$表示为:

$$
\left[
\begin{matrix}
\times & \times & \times \\
a_{21} & \times & a_{23} \\
a_{31} & \times & a_{33} \\
\end{matrix} \right]
\to
\mathbf A_{1|2}=\left[
\begin{matrix}
a_{21} & a_{23} \\
a_{31} & a_{33} \\
\end{matrix} \right]
$$

$a_{12}$的代数余子式$C_{12}$表示为:

$$C_{12}=(-1)^{1+2}|\mathbf A_{1|2}|=-a_{21}a_{33}+a_{23}a_{31}$$

  • 高阶矩阵的行列式:对于二阶矩阵的行列式,我们可以通过式(16)计算,对于更阶的矩阵,我们通过余子式来计算。如果$|\mathbf M_{i|j}|$已经计算得到,那么高阶矩阵行列式的计算有如下公式:

$$
|\mathbf M|=\sum\limits_{i=1}^d \sum\limits_{j=1}^d (-1)^{i+j} m_{ij} |\mathbf M_{i|j}|\tag{17}
$$

  • 行列式的一些性质:对于任意矩阵,有:

$$|\mathbf M|=|\mathbf M^t|\tag{18}$$

当两个矩阵$\mathbf M$与$\mathbf N$的大小相同时,有:

$$|\mathbf M \mathbf N|=|\mathbf M| \times |\mathbf N|\tag{19}$$

矩阵的行列式在坐标系旋转时保持不变。

矩阵的迹

  • 定义:对于$d \times d$的方阵,矩阵的迹定义为主对角线上的元素之和,即:

$$tr[\mathbf M]= \sum\limits_{i=1}^d m_{ii}\tag{20}$$

矩阵的迹在坐标系旋转时保持不变。


矩阵的逆

  • 定义:只要一个$d \times d$矩阵$\mathbf M$的行列式不为零,那么它对应的逆矩阵$\mathbf M^{-1}$就存在,并且满足:

$$\mathbf M \mathbf M^{-1}= \mathbf I\tag{21}$$

  • 伴随矩阵:矩阵$\mathbf M$的伴随矩阵记为$Adj[\mathbf M]$,它的第$i$行第$j$列元素为矩阵第$j$行第$i$列的余子式$C_{ji}$,即:

$$
Adj[\mathbf M]=
\left[
\begin{matrix}
C_{11} & C_{21} & \dots & C_{d1}\\
C_{12} & C_{22} & \dots & C_{d2} \\
\vdots & \vdots & \ddots & \vdots\\
C_{1d} & C_{2d} & \dots & C_{dd}\\
\end{matrix} \right]\tag{22}
$$

  • 逆的计算:

$$
\mathbf M^{-1}=\frac{Adj[\mathbf M]}{|\mathbf M|}\tag{23}
$$

  • 伪逆:如果$\mathbf M$不是方阵,或者$\mathbf M$的列向量不是线性无关的,则$\mathbf M^{-1}$不存在,我们通常用伪逆矩阵$\mathbf M^{\dagger}$来代替$\mathbf M^{-1}$。如果$\mathbf M^t \mathbf M$非奇异(即$|\mathbf M^t \mathbf M|\neq0$),则伪逆矩阵定义为:

$$\mathbf M^{\dagger}=[\mathbf M^{t} \mathbf M]^{-1} \mathbf M^{t}\tag{24}$$

  • 逆的性质:

$$[\mathbf M \mathbf N]^{-1}=\mathbf M^{-1} \mathbf N^{-1}\tag{25}$$


特征值与特征向量

  • 线性方程组的解:对于$d \times d$的矩阵$\mathbf M$,一类非常重要的线性方程组的形式为:

$$\mathbf M \mathbf x= \lambda \mathbf x\tag{26}$$

其中$\lambda$为标量。上式可以写为:

$$(\mathbf M- \lambda \mathbf I) \mathbf x=\mathbf 0 \tag{27}$$

其中$\mathbf I$为单位阵,为d维零向量。线性方程组(26)的解向量$\mathbf x=\mathbf e_i$和对应的标量系数$\lambda = \lambda_i$即为特征向量和特征值。
一种求解特征向量和特征值得方法是求解特征方程:

$$|\mathbf M- \lambda \mathbf I|=0\tag{28}$$

特征方程的各个根就是特征值。然后对应每个根,我们通过求解线性方程组来得到特征值对应的特征向量。

  • 重要性质:全部特征值之和为矩阵的迹,全部特征值的乘积为矩阵的行列式,即:
    $$
    \begin{align}{}
    tr[\mathbf M]=\sum\limits_{i=1}^d \lambda_i \tag{29} \\
    |\mathbf M|= \prod\limits_{i=1}^d \lambda_i\tag{30}
    \end{align}{}
    $$
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇