机器学习和深度学习之数学基础:神经网络的矩阵参数求导
作者头像
  • 陈超
  • 2020-07-07 21:58:14 8

文章重点

本文主要介绍了神经网络中的参数矩阵求导方法。掌握这些方法后,许多求导操作都会变得相对简单。因此,建议读者更多地关注求导的方法,而不是死记硬背各种公式。本文将详细讲解神经网络中参数矩阵的求导过程。

为了更好地理解本文的内容,建议读者先回顾之前的课程,特别是关于逻辑回归和线性回归的相关知识。

神经网络的前向传播公式

神经网络的损失函数可以通过以下公式计算:

损失函数 = (L(y, hat{y}))

其中,(y) 是一个只有一个是1而其他都是0的列向量,其维度为 (m times 1),这表明这是一个多分类问题。(x) 是一个 (n times 1) 的向量,代表一个包含 (n) 个特征的样本。

我们的目标是求出 (frac{partial L}{partial w2}) 和 (frac{partial L}{partial w1}),但这是一个复杂的复合求导过程。因此,我们需要分步骤进行:

  1. 让 (w1 x = a1)。
  2. 让 (sigma(a1) = h1)。
  3. 让 (w2 h1 = a_2)。

这时,损失函数 (L) 就变成了:

[L = L(y, hat{y})]

我们已经知道了 (frac{partial L}{partial a_2}) 的值,因此可以直接利用这个结果进行下一步的求导:

[ frac{partial L}{partial a_2} = text{已知结果} ]

接下来,我们需要把 (a2) 替换为 (w2 h_1):

[ frac{partial L}{partial w2 h1} ]

然后可以将其分为两个部分:左侧的部分可以计算出 (frac{partial L}{partial w2}),右侧的部分可以计算出 (frac{partial L}{partial h1})。

首先来看左侧部分:

[ frac{partial L}{partial w_2} ]

然后,我们再来看如何通过左侧部分求出 (frac{partial L}{partial h_1}):

[ frac{partial L}{partial h_1} ]

接下来,继续对 (w1) 求导。具体来说,我们需要应用 (h1),按照关系先求出 (frac{partial L}{partial a_1})。求解过程如下:

[ frac{partial L}{partial a_1} ]

最后,我们可以继续应用 (a1),按照关系求出最终的 (frac{partial L}{partial w1}):

[ frac{partial L}{partial w_1} ]

最终,我们得到了所需的求导结果。

全部公式如下:

[ L(y, hat{y}) ]

总结

整个过程可以概括为三个主要步骤:

  1. 求 (frac{partial L}{partial a_2})。
  2. 根据关系求 (frac{partial L}{partial w2}) 和 (frac{partial L}{partial h1})。
  3. 继续求 (frac{partial L}{partial a1}) 和 (frac{partial L}{partial w1})。

通过这种方法,我们可以逐步求出所有需要的参数矩阵的导数。对于复杂的复合函数,需要多次重复这些步骤,直到求出所有需要的参数矩阵的导数。

    本文来源:图灵汇
责任编辑: : 陈超
声明:本文系图灵汇原创稿件,版权属图灵汇所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:图灵汇",违者将依法追究责任。
    分享
习之求导数学基础神经网络矩阵深度机器参数学习
    下一篇