总结3个在机器学习种用到的比较多的矩阵求导公式

总结矩阵求导以及矩阵求导在机器学子中的应用

在深度学习神经网络的反向传播时,需要根据最后输出的loss反向更新网络的参数,神经网络的训练过程实际上就是参数的更新过程,参数是根据梯度下降法更新的,而梯度的计算需要用到偏导数。因此本文总结了3种在机器学习种用到最多的矩阵求导公式。

考虑三种常见的情况:

case1 vector to vector

y = f ( x ) \mathbf{y}=f(\mathbf{x}) y=f(x),其中,y是m维列向量,x是n维列向量。

∂ y ∂ x = [ ∂ y 1 ∂ x 1 ∂ y 1 ∂ x 2 ⋯ ∂ y 1 ∂ x n ∂ y 2 ∂ x 1 ∂ y 2 ∂ x 2 ⋯ ∂ y 2 ∂ x n ⋮ ⋮ ⋮ ∂ y m ∂ x 1 ∂ y m ∂ x 2 ⋯ ∂ y m ∂ x n ] \frac{\partial \mathbf{y}}{\partial \mathbf{x}}=\left[\begin{array}{cccc}\frac{\partial y_{1}}{\partial x_{1}} & \frac{\partial y_{1}}{\partial x_{2}} & \cdots & \frac{\partial y_{1}}{\partial x_{n}} \\ \frac{\partial y_{2}}{\partial x_{1}} & \frac{\partial y_{2}}{\partial x_{2}} & \cdots & \frac{\partial y_{2}}{\partial x_{n}} \\ \vdots & \vdots & & \vdots \\ \frac{\partial y_{m}}{\partial x_{1}} & \frac{\partial y_{m}}{\partial x_{2}} & \cdots & \frac{\partial y_{m}}{\partial x_{n}}\end{array}\right] xy=x1y1x1y2x1ymx2y1x2y2x2ymxny1xny2xnym

需要将y中的元素对x中的元素一一求导,那么求导结果是 m × n m\times n m×n 个元素,然后确定结果的形状, y , x \mathbf{y},\mathbf{x} y,x均为向量, y \mathbf{y} y 纵向拉, x \mathbf{x} x横向拉。

case2 向量内积形式求导

结果等于另一个向量,很重要,建议直接背!
y = a T x \mathbf{y}=\mathbf{a}^T\mathbf{x} y=aTx
∂ y ∂ x = a \frac{\partial \mathbf{y}}{\partial \mathbf{x}}=\mathbf{a} xy=a, ∂ y ∂ a = x \frac{\partial \mathbf{y}}{\partial \mathbf{a}}=\mathbf{x} ay=x

case3 二次型

y = x ⊤ A x y=\mathbf{x}^{\top} \mathbf{A} \mathbf{x} y=xAx
注意,这里的y是一个标量,这个x是一个n维的列向量,A矩阵是n维的方阵
∂ y ∂ x = ( A + A T ) b \frac{\partial y}{\partial \mathbf{x}}=(A+A^T)\mathbf{b} xy=(A+AT)b

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值