通过计算图求梯度下降中各偏导的推导

Author: nex3z

2017-08-30

在 Neural Networks and Deep Learning 课程的 Logistic Regression Gradient Descent 一节以逻辑回归为例,介绍了使用计算图(Computation Graph)求梯度下降中各偏导的方法,但没有给出具体的推导过程。

例子中模型为:

\begin{equation}

z = w^Tx + b \tag{1}

\end{equation}

预测为:

\begin{equation}

\hat y = a = \sigma(z) \tag{2}

\end{equation}

其中 $\sigma (z)$ 为 Sigmoid 函数:

\begin{equation}

\sigma(z) = \frac{1}{1 + e^{-z}} \tag{3}

\end{equation}

损失函数为:

\begin{equation}

L(a, y) = -(ylog(a) + (1 – y)log(1 – a)) \tag{4}

\end{equation}

假设只有两个特征 $x_{1}$、$x_{2}$,则:

\begin{equation}

w^T =

\begin{bmatrix}

w_{1} \ w_{2} \tag{5}

\end{bmatrix}

\end{equation}

运算图如图1所示:

图 1

反向计算各偏导的过程如下:

首先求得 $\frac{\partial L}{\partial a}$ 如下:

\begin{equation}

\frac{\partial L}{\partial a} = – \frac{y}{a} + \frac{1 – y}{1 – a} \tag{6}

\end{equation}

然后可以由链式法则求得 $\frac{\partial L}{\partial z}$ 如下:

\begin{equation}

\frac{\partial L}{\partial z} = \frac{\partial L}{\partial a} \cdot \frac{da}{dz} \tag{7}

\end{equation}

其中,$a = \sigma(z)$ 是 Sigmoid 函数,有:

\begin{equation}

\frac{d\sigma(z)}{dz} = \sigma(z)(1 – \sigma(z)) \tag{8}

\end{equation}

将式 (6)、(8) 带入式 (7),得:

\begin{equation}

\frac{\partial L}{\partial z} = (- \frac{y}{a} + \frac{1 – y}{1 – a}) \cdot a(1 – a) \

= -y(1 – a) + a(1 – y) \

= -y + a \tag{9}

\end{equation}

最后求得 $\frac{\partial L}{\partial w_{1}}$、$\frac{\partial L}{\partial w_{2}}$ 和 $\frac{\partial L}{\partial b}$ 如下:

\begin{equation}

\frac{\partial L}{\partial w_{1}} = \frac{\partial L}{\partial z} \cdot \frac{\partial z}{\partial w_{1}} = \frac{\partial L}{\partial z} \cdot x_{1} \tag{10}

\end{equation}

\begin{equation}

\frac{\partial L}{\partial w_{2}} = \frac{\partial L}{\partial z} \cdot \frac{\partial z}{\partial w_{2}} = \frac{\partial L}{\partial z} \cdot x_{2} \tag{11}

\end{equation}

\begin{equation}

\frac{\partial L}{\partial b} = \frac{\partial L}{\partial z} \cdot \frac{\partial z}{\partial b} = \frac{\partial L}{\partial z} \tag{12}

\end{equation}

这里 $\frac{\partial L}{\partial z}$ 不再展开。实际应用中,在由式 (9) 求得 $\frac{\partial L}{\partial z}$ 的值之后,就可以直接带入式 (10)、(11)、(12) 进行计算。

matlab 梯度下降 求偏导,通过计算图求梯度下降中各偏导的推导相关推荐

  1. 项目思维导图软件测试分析,在软件测试中使用思维导图技术

    我们的大脑比书面文字更能处理和回忆视觉效果.视觉图像能够以描述性词语无法描述的方式带来快速的清晰度和理解.思维导图是利用这个事实来形象化地组织和呈现信息的工具. 思维导图软件测试 思维导图是一个想法或 ...

  2. 计算机思维在音乐中的应用,“思维导图”在音乐理论教育中的应用.doc

    精品文档,助力人生,欢迎关注小编! "思维导图"在音乐理论教育中的应用 摘要:随着教育改革的不断推进,素质教育被相关的教育人员重视起来.而"思维导图"的教学模式 ...

  3. 偏导,梯度,Hesse矩阵的一些概念和求函数的极值

    偏导 偏导函数..简称为偏导数 可以理解为,固定一个变量,求另一个变量的导数; 三元函数的二阶偏导有9个 梯度 梯度(由偏导数组成的一个向量) 梯度的特点: 1 方向,函数变化率最大的方向;(负梯度方 ...

  4. MATLAB之线性回归,逻辑回归,最小二乘法,梯度下降,贝叶斯,最大似然估计

    文章目录 线性回归(定义域(-∞,+∞),值域(-∞,+∞),即输入输出连续) 线性回归/最小平方误差理论 MATLAB之线性回归/最小平方误差 损失函数/代价函数求导法求线性回归 一次拟合求线性系统 ...

  5. Lesson 6.动态计算图与梯度下降入门

    在<Lesson 5.基本优化思想与最小二乘法>的结尾,我们提到PyTorch中的AutoGrad(自动微分)模块,并简单尝试使用该模块中的autograd.grad进行函数的微分运算,我 ...

  6. 【数学基础】简单易懂的张量求导和计算图讲解

    0 引言 情景 1 斯蒂文买了一股京东,当京东变动 1 美元,斯蒂文的组合变动 1 美元. 这是"标量对标量"求导数. 情景 2 斯蒂文买了一股京东,两股百度,三股脸书 当京东变动 ...

  7. 偏导,方向导数以及梯度的理解

    最初的疑惑 在梯度的Wiki 上对梯度在三维空间,直角坐标系下的梯度表示为 ∇ = ∂ f ( x , y , z ) ∂ x ∗ i ⃗ + ∂ f ( x , y , z ) ∂ y ∗ j ⃗ ...

  8. 基于pytorch实现图像分类——理解自动求导、计算图、静态图、动态图、pytorch入门

    1. pytorch入门 什么是PYTORCH? 这是一个基于Python的科学计算软件包,针对两组受众: 替代NumPy以使用GPU的功能 提供最大灵活性和速度的深度学习研究平台 1.1 开发环境 ...

  9. 极限和连续+偏导+方向导数+可微+梯度+链式法则+hessian矩阵

    文章目录 前言 一.极限和连续 二.偏导数 三.方向导数 四.可微 五.梯度 六.链式法则 七.Hessian矩阵 前言 多元函数 y对某一个变量的导数是偏导数: 偏导数的结果可以推广到任意方向,也就 ...

  10. 梯度下降算法_梯度下降算法中的偏导公式推导

    前言:最近在跟着吴恩达老师(Andrew Ng)的视频课程学习机器学习,该视频是2014年拍的,虽然有点老,但理论却并不过时,是非常经典的机器学习入门教程,也正是因为这是入门教程,所以视频中的有些数学 ...

最新文章

  1. 共享文件迁移(fileserver)——从windows server 2003到windows server 2008
  2. 配置ssh_config
  3. tensorflow_yolo-v3笔记 IOU:Intersection over union 交并比
  4. 【文件处理】——Python pandas 写入数据到excel中
  5. koa2 mysql 中间件_Koa2 和 Express 中间件对比
  6. c++构造函数详解(转)
  7. 湖南计算机非全学校推荐,小心!湖南这7所大学害人不浅,毕业证一文不值,各位家长注意了...
  8. 如何让网站在百度有LOGO展示
  9. 《编程之美》笔记(一)
  10. sqlhelp(sqlite)
  11. ACM-经典DP之Monkey and Banana——hdu1069
  12. CentOS8下vi编辑器常用命令
  13. 基于集成学习模型的估价预测(量化投资)
  14. 如何修改html数据,怎么修改网页数据
  15. 成功解决 ValueError: Shape of passed values is (3, 1), indices imply (3, 3)
  16. r73750h和i79750h哪个好
  17. 李大仁是真的爱程又青
  18. 深度学习中关于 “深度” 的理解
  19. Linux下Nginx的卸载、安装以及基本使用
  20. 【GIS | WebGis的对比】Webgis地图框架的对比

热门文章

  1. 关于生活,你可以选择-转自网络
  2. Excel 2003 实用技巧 (FROM MSDN)
  3. etf基金代码大全_再谈深得我心的指数基金:纳指ETF
  4. 程序员的第一款 Hello World
  5. FFmpeg 软编码H.264与H.265
  6. 如何将mac中文输入法(搜狗等)设置成默认输入法
  7. 硬件之家|钽电容的详细介绍与电路应用
  8. 读万卷书,行万里路。
  9. Linux 内存管理 | 连续分配方式 和 离散分配方式
  10. pandas.series.tolist()函数结构及用法