当前位置: 首页 >  技术分享 >  关于吴恩达机器学习中反向传播的理解

关于吴恩达机器学习中反向传播的理解

导读:原文.在机器学习视频反向传播章节[1]中:.我们用 \(\delta\) 来表示误差,则: \(\boldsymbol\delta^{\left(4\right)}=\boldsymbol.a^{\left(4\right)}−\boldsymbol y\) 。我们利用这个误差值

原文

在机器学习视频反向传播章节[1]中:

我们用 \(\delta\) 来表示误差,则: \(\boldsymbol\delta^{\left(4\right)}=\boldsymbol a^{\left(4\right)}−\boldsymbol y\) 。我们利用这个误差值来计算前一层的误差:

\(\boldsymbol\delta^{\left(3\right)}=\left(\boldsymbol\Theta^{\left(3\right)}\right)^T\boldsymbol\delta^{\left(4\right)}\cdot g^\prime\left(\boldsymbol z^{\left(3\right)}\right)\) 。其中 \(g^\prime\left(\boldsymbol{z}^{\left(3\right)}\right)\) 是 \(S\) 形函数的导数,

\(g^\prime\left(\boldsymbol z^{\left(3\right)}\right)=\boldsymbol a^{\left(3\right)}\cdot\left(1−\boldsymbol a^{\left(3\right)}\right)\) 。而 \(\left(\boldsymbol\Theta^{\left(3\right)}\right)^T\boldsymbol\delta^{\left(4\right)}\) 则是权重导致的误差的和。

问题

\[\boldsymbol\delta^{\left(3\right)}=\left(\boldsymbol\Theta^{\left(3\right)}\right)^T\boldsymbol\delta^{\left(4\right)}\cdot g^\prime\left(\boldsymbol z^{\left(3\right)}\right) \]

看到这道算式时我百思不得其解。为什么凭空会有转置?

在我自己推一遍之后,发现原公式中可能有些不严谨的地方,所以在此阐述我的理解,欢迎大家指正:

前提

对数似然代价函数: \(J\left(\Theta\right)=y\ln h\Theta\left(x\right)+\left(1-y\right)\ln\left(1-h\Theta\left(x\right)\right)\)

估计函数: \(h_\Theta\left(x\right)=\sum_i\Theta_ix_i= \begin{bmatrix}\Theta_1&\Theta_2&\cdots&\Theta_n\end{bmatrix} \begin{bmatrix}x_1\\x_2\\\vdots\\x_n\end{bmatrix}\)

Logistic激活函数: \(g\left(x\right)=\frac1{1+{\rm e}^{-x}}\)

此外激活函数导数为: \(g^\prime\left(x\right)=g\left(x\right)\left[1-g\left(x\right)\right]\)

我的理解

flowchart LR x1–“(Θ1(1))1”–>z12 x1–“(Θ1(1))2”–>z22 x2–“(Θ2(1))1”–>z22 x2–“(Θ2(1))2”–>z12 a12–“(Θ1(2))1”–>z13 a12–“(Θ1(2))2”–>z23 a22–“(Θ2(2))1”–>z23 a22–“(Θ2(2))2”–>z13 z12–g–>a12 z22– g–>a22 z13–g–>a13 z23–g–>a23 a13-.->y1-.->j a23-.->y2-.->j subgraph x x1((x1)) x2((x2)) end subgraph 第一层 direction LR z12((“z1(2)”)) a12((“a1(2)”)) z22((“z2(2)”)) a22((“a2(2)”)) end subgraph 第二层 z13((“z1(3)”)) a13((“a1(3)”)) z23((“z2(3)”)) a23((“a2(3)”)) end subgraph y y1((ŷ1)) y2((ŷ2)) end j((“J(θ)”))

如图(省略了偏置),输入数据 为 \(\boldsymbol x=\begin{bmatrix}x_1\\x_2\end{bmatrix}\) ,实际输出 为 \(\boldsymbol y=\begin{bmatrix}y_1\\y_2\end{bmatrix}\)

这张图上表示了所有的运算,例如:

\[a_1^{\left(2\right)}=g\left(z_1^{\left(2\right)}\right) \]

\[z_2^{\left(2\right)}=\left(\Theta_1^{\left(1\right)}\right)_2x_1+\left(\Theta_2^{\left(1\right)}\right)_2x_2 \]

同时,此图认为预测输出 为 \(\hat y_1=a_1^{\left(3\right)}\) ,即有误差 (注意此处不是定义而是结论):

\[\delta_1^{\left(3\right)}=\hat y_1-y_1=a_1^{\left(3\right)}-y_1 \]

下面我们将上列函数改写成对应元素的写法,先作定义:

  • \(L\) :被 \(\Theta\) 作用的层

  • \(m\) : \(L\) 层单元数量,用 \(j\) 进行遍历(即 \(j\in\left\{1,2,\cdots,m\right\}\) )

  • \(n\) : \(L+1\) 层单元数量,用 \(i\) 进行遍历

推导

综上可得,若 \(L\) 是倒数第二层,则给出定义

\[\begin{align}\delta_i^{\left(L+1\right)} &=\frac{\partial J}{\partial z_i^{\left(L+1\right)}}\\ &=\frac{\partial J}{\partial a_i^{\left(L+1\right)}}&&\cdot \frac{\partial a_i^{\left(L+1\right)}}{\partial z_i^{\left(L+1\right)}}\
&=\left(\frac{-y_i}{a_i^{\left(L+1\right)}}+\frac{1-y_i}{1-a_i^{\left(L+1\right)}}\right)&&\cdot g^\prime z_i^{\left(L+1\right)}\
&=\left(\frac{-y_i}{a_i^{\left(L+1\right)}}+\frac{1-y_i}{1-a_i^{\left(L+1\right)}}\right)&&\cdot a_i^{\left(L+1\right)}\left(1-a_i^{\left(L+1\right)}\right)\
&=a_i^{\left(L+1\right)}-y_i \end{align
}\]

将同一层 \(\delta_i^{\left(L+1\right)}\) 合并为矩阵得( \(\boldsymbol\delta,\boldsymbol a,\boldsymbol y\) 都是列向量):

\[\boldsymbol\delta^{\left(L+1\right)}=\boldsymbol a^{\left(L+1\right)}-\boldsymbol y \]

下面推隐含层,以第一个单元为例:

\[\begin{align} \delta_1^{\left(2\right)}&=\frac{\partial J}{\partial z_1^{\left(2\right)}}\\ &=\frac{\partial J}{\partial z_1^{\left(3\right)}}&& \cdot\frac{\partial z_1^{\left(3\right)}}{\partial a_1^{\left(2\right)}}&& \cdot\frac{\partial a_1^{\left(2\right)}}{\partial z_1^{\left(2\right)}}&&+ \frac{\partial J}{\partial z_2^{\left(3\right)}}&& \cdot\frac{\partial z_2^{\left(3\right)}}{\partial a_1^{\left(2\right)}}&& \cdot\frac{\partial a_1^{\left(2\right)}}{\partial z_1^{\left(2\right)}}\
&=\delta_1^{\left(3\right)}&& \cdot\left(\Theta_1^{\left(2\right)}\right)_1&& \cdot g^\prime z_1^{\left(2\right)}&&+ \delta_2^{\left(3\right)}&& \cdot\left(\Theta_1^{\left(2\right)}\right)_2&& \cdot g^\prime z_1^{\left(2\right)} \end{align
}\]

令:

\[\left\{\begin{align} \boldsymbol\delta^{\left(L\right)}&=\begin{bmatrix}\delta_1^{\left(L\right)}\\\delta_2^{\left(L\right)}\\\vdots\\\delta_n^{\left(L\right)}\end{bmatrix}\
\boldsymbol\Theta_i^{\left(L\right)}&=\begin{bmatrix} \left(\Theta_i^{\left(L\right)}\right)_1& \left(\Theta_i^{\left(L\right)}\right)_2& \cdots& \left(\Theta_i^{\left(L\right)}\right)_n \end{bmatrix}\end{align
}\right.\]

可将上式化为矩阵:

\[\delta_1^{\left(2\right)} =\boldsymbol\Theta_1^{\left(2\right)}\boldsymbol\delta^{\left(3\right)} \cdot g^\prime z_1^{\left(2\right)}\]

结论

由上,可写出递推普式

\[\delta_j^{\left(L\right)} =\boldsymbol\Theta_j^{\left(L\right)}\boldsymbol\delta^{\left(L+1\right)}\cdot g^\prime z_j^{\left(L\right)}\]

其中最后一层:

\[\boldsymbol\delta^{\left(Last\right)}=\boldsymbol a^{\left(Last\right)}-\boldsymbol y \]


  1. 机器学习视频反向传播章节 ↩︎
内容
  • 时尚个性针织毛衣
    时尚个性针织毛衣
    2023-12-11
    时尚个性针织毛衣.时尚个性针织毛衣一直是秋冬季节的必备单品,不仅可以很好地保暖,还能展现出个性与时尚。无论是女性还是男性
  • 休闲简约短袖衬衫
    休闲简约短袖衬衫
    2023-12-21
    休闲简约短袖衬衫.现代人生活节奏快,休闲简约的穿着成为时尚潮流。短袖衬衫作为经典的休闲单品,一直备受时尚人士的青睐。它舒
  • 经典款皮鞋
    经典款皮鞋
    2023-12-06
    经典款皮鞋.经典款皮鞋一直是时尚界的永恒之选,不论是商务场合、休闲聚会还是正式场合,都能展现出绅士淑女的气质和优雅。今天
  • 修身弹力牛仔裤
    修身弹力牛仔裤
    2023-12-26
    修身弹力牛仔裤:展现你的魅力.一、时尚的必备单品.修身弹力牛仔裤一直都是时尚界的必备单品,它不仅可以展现出个人的魅力,还
  • 可爱儿童内衣套装,优质棉质,柔软透气,呵护宝宝肌肤
    可爱儿童内衣套装,优质棉质,柔软
    2024-01-05
    可爱儿童内衣套装,优质棉质,柔软透气,呵护宝宝肌肤.宝宝的皮肤是非常娇嫩的,所以选择合适的内衣套装对于宝宝的健康和舒适至
  • 优雅复古半身裙,散发优雅复古气息
    优雅复古半身裙,散发优雅复古气息
    2024-01-15
    优雅复古半身裙,散发优雅复古气息.复古是一种永不过时的时尚趋势,它总能让人们联想到过去的美好时光。而半身裙则是女性衣橱里
  • 时尚修身连衣裙,展现优雅女性魅力
    时尚修身连衣裙,展现优雅女性魅力
    2023-12-06
    时尚修身连衣裙,展现优雅女性魅力.时尚修身连衣裙一直是女性衣橱里的必备单品,不仅款式多样,而且能够展现出女性的优雅魅力。
  • 潮流风衣大衣,彰显都市时尚风采
    潮流风衣大衣,彰显都市时尚风采
    2023-12-16
    潮流风衣大衣,彰显都市时尚风采.潮流风衣大衣一直是时尚界备受追捧的单品之一。它既能为我们遮风挡雨,又能为我们穿出时尚感,
  • 暖心家居服套装,柔软舒适,可爱**形象,让宝宝安心入睡
    暖心家居服套装,柔软舒适,可爱*
    2023-12-16
    暖心家居服套装,让宝宝安心入睡.宝宝的睡眠质量对成长发育至关重要,而穿着舒适的家居服对宝宝的睡眠质量有着直接的影响。为了
  • 时尚儿童牛仔裤,经典款式,耐穿耐磨,让宝宝更有个性
    时尚儿童牛仔裤,经典款式,耐穿耐
    2024-01-10
    时尚儿童牛仔裤引领潮流.时尚儿童牛仔裤一直是儿童服装中的经典款式,不仅经典耐穿,而且可以展现宝宝的个性。随着时尚的发展,