4 矩阵计算(求导方面)
B站视频链接 4 矩阵计算
0 引言
这里所谓的矩阵计算并非简单的矩阵之间的加减乘除,而是利用矩阵进行求导的运算,这个运算在今后的设计以及编写过程是非常重要的。
首先 2 数据操作和数据预处理 中便已经知道了标量、向量以及矩阵的关系,现在就依靠这几个数据类型进行说明和运算。
定义:
- 标量:全是小写的字母a、b 。
- 向量:带箭头的小写字母 a、b 。
- 矩阵:大写的字母A、B 。
1 标量的导数
标量就是一个数据,类似于1、2、3,并非数组或是向、矩阵等。
y=f(x)、x就是标量 、f(x)是对应法则 、 y是自变量
| y | dxdy |
|---|
| a | 0 |
| xn | nxn−1 |
| ex | ex |
| lnx | x1 |
| sinx | cosx |
| u(x)+v(x) | dxdu+dxdv |
| u(x)×v(x) | dxdu×v(x)+dxdv×u(x) |
| v(x)u(x) | (v′)2u′v−uv′ |
对于不能求导的函数又该怎么办呢?
例如: f(x)=∣x∣

不难看出该函数在x>0时候f′(x)=1,x<0时候f′(x)=−1,x=0?
这个函数在x=0的位置明显不可导,对于这种不可导的函数又该怎么办呢?
这个时候有一个叫做亚函数,虽然我不知道他有啥用但是应该和偏导数应该类似,这个时候上面的导数可以写成为
x∂∣x∣=⎩⎨⎧−11a,x<0,x>0,x=0
这个时候便可以引入了一个新的数学定义-梯度grad
注意梯度是一个向量而非数据,梯度的方向一定是函数方向导数的最大值
在任意一点P(x1,x2,...,xn)的梯度为
gradf(p)=(x1∂f∣P(x1,x2,...,xn),...,x2∂f∣P(x1,x2,...,xn))=(y1,y2,...yn)
2 向量和标量的混合导数
向量和标量之间混合求导会出现下面四种情况
- y是一个标量 ,x也是一个标量 会得到∂x∂y也是一个标量 。
- y是一个向量 ,也是一个标量 会得到∂x∂y是一个向量 。
- y是一个标量 ,x也是一个向量量 会得到∂x∂y也是一个向量 ,但是是一个躺着的向量 。
- y和 x均为向量,那么∂x∂y 就是一个矩阵A 。

举个例子说明一下吧:
令y=y1y2⋮yn,x=x1x2⋮xn则∂x∂y=∂x∂y1∂x∂y2⋮∂x∂yn=l∂x1∂y1∂x1∂y2⋮∂x1∂yn∂x2∂y1∂x2∂y2⋮∂x2∂yn⋯⋯⋯⋯∂xn∂y1∂xn∂y2⋮∂xn∂yn
3 总结
y如果是向量的话这个是竖着的。
x如果是向量的话这个是躺着的。