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

article/2025/9/12 12:16:54

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

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所示:

dfc37db53a7bc35cf58cfba2c83bca4b.png

图 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) 进行计算。


http://chatgpt.dhexx.cn/article/n42hlVGX.shtml

相关文章

matlab|求导数/最值

本博文源于matlab求导数求极值求最值,涉及内容极限命令求导/diff求导/一元函数一阶导数,多阶导数,求参数导数/函数极值和最值/不给定区间求最值 用极限命令求导 例子:求函数3sinx4x^2在x0处的导数 >> syms t; limit((3*…

matlab 梯度下降 求偏导,吴恩达机器学习课程课时12梯度下降算法中参数θ0,θ1求偏导...

最近学习吴恩达的机器学习课程。 看到了线性回归的梯度下降算法。课程中将了一个非常简单的线性回归: 比如给出一些房子的size和对应的price,我们可以建立一个模型(在此模型就是线性回归), 希望之后在给出任意一个房子的size,可以…

matlab求COPULA偏导,matlab note

Update date:2018-01-05 Matlab Note 1 vine-copula 1.1 xlsread() 打开xlsx里面的数据 S3CE xlsread(电表建模数据.xlsx,S3CE,‘G2:G52’) 1.2常见希腊发音总结 image.png 3.prob() 连乘 由于matlab中的元素是以矩阵为单位,prod(x)就是把x向量中所有元…

matlab求解多元函数的偏导数diff

本博文源于matlab求解多元函数导数。涉及求一阶/求多阶/求向量偏导数/求隐函数导数 多元函数的偏导数 diff(f(x,y,z),变量名)例子 求x^2lny根号z的偏导数 >> syms x >> syms y >> syms z >> du_dx diff(x^2log(y)sqrt(z),x)du_dx 2*x>> du_dz…

matlab实现隐函数求偏导数(impldiff函数)

目录 总述函数说明应用举例例1例2 函数实现 总述 由前面给出的算法,可以编写出如下函数来求解隐函数的偏导数。 函数说明 function dy impldiff(f, x, y, n) %impldiff %隐函数求导 % 调用格式: % f1 impldiff(f, x, y, n) % 其中:f…

matlab偏导数方程,利用Matlab求解不同类型的偏微分方程

来源:新浪了凡春秋的博客 在科学技术各领域中,有很多问题都可以归结为偏微分方程问题。在物理专业的力学、热学、电学、光学、近代物理课程中都可遇见偏微分方程。偏微分方程,再加上边界条件、初始条件构成的数学模型,只有在很特殊情况下才可求得解析解。随着计算机技术的发…

【MATLAB】求偏导数

目录 1、示例1 2、示例2 3、MATLAB求偏导数的应用 1、示例1 syms x y; z=(1+x*y)^y; zx=diff (z,’x’)

MATLAB求解偏导数

MATLAB具有多元函数求解偏导数的功能。 例: 1.函数关于x的二阶偏导数 syms x y >> z x^4y^4-4*x^2*y^2; >> zxx diff(z,x,2)zxx 12*x^2 - 8*y^2 2.函数关于y的二阶偏导数 zyy diff(z,y,2)zyy 12*y^2 - 8*x^2 3.函数二阶混合偏导数 zxy diff(dif…

MATLAB常用求导和求偏导函数

matlab求导命令diff调用格式: diff(函数) , 求的一阶导数;diff(函数, n) ,求的n阶导数(n是具体整数);diff(函数,变量名),求对的偏导数;diff(函数, 变量名,n)…

性能测试流程(完整版)

一、 规范性能测试实施流程的意义 规范的性能测试实施流程能够加强测试工作流程控制,明确性能测试各阶段应完成的工作,指导测试人员正确、有序的开展性能测试工作,提高各角色在性能能测试中的工作效率。本次分享的性能测试实施流程是性能测试…

性能测试流程相关

1、脚本制作流程 脚本制作方法可参考此链接:性能测试脚本实战_HealerLX的博客-CSDN博客 (1)抓包工具抓包 (2)录入到性能测试工具中 (3)调试脚本直到成功 (4)加上运行逻辑…

性能测试流程、优化、指标

性能测试流程、优化、指标 1、性能测试的流程 1、确定性能测试的目标 之前做的压测性能标准、产品说明书的性能需求部分、运营人员提出的性能指标、通过生产环境换算出的性能指标等 (1)接口响应时间不能超过3秒(每个接口的响应时间&#…

性能测试流程规范

完整的性能测试流程 下午逛一个测试交流群时,聊起性能测试,然后某位群成员说他们用的loadrunner做性能,当时觉得这话有点偏颇,虽然我也是一个性能测试道路上的摸索前进者。。。 诚然,我们在进行性能测试工作的过程中…

Jmeter完整的性能测试流程图,接口测试步骤

第零:300G全套最新软测视频教程分享 链接:https://pan.baidu.com/s/17jkyGn-Wm-zC6QQLkWjrsw 提取码:o94n 第一:测试相关系统准备 1. 验证基本系统功能后 性能测试在哪个阶段开始介入?通常,最好仅在功能测试完成后系统稳定时才开始介入性能测试. 2. 测试团队的组织…

Jmeter性能测试流程

1.关联真机或者模拟器,设置手动代理,要连在一个网络之下执行。 2.通过接口文档或者Charles进行抓包获取接口以及接口参数 3.通过Jmeter进行压力测试:添加线程组,添加http请求,添加响应断言,添加聚合报告 4.添加http请求 5,添加响应断言

性能测试流程及数据分析

性能测试流程 性能测试的工作三大部分性能测试执行阶段测试的主要策略总结阶段: 性能测试的工作三大部分 性能需求调研: 客户能接受的响应时间,每日单交易处理能力,系统资源利用率,系统环境搭建方式、并发用户数、日交…

浅谈Jmeter性能测试流程

不管是Loadrunner还是jmeter进行性能测试,测试流程基本上都是一样的,限制以Jmeter为例分析测试流程: 一、性能测试需求分析 一般而言,被测对象的性能需求,会在用户需求规格说明说中给出,比如单位时间内的访…

性能测试流程 - 即拿即落地(超级详细)

目录:导读 前言一、制定目的二、适用范围三、测试流程四、四大阶段五、总结 前言 性能测试成熟度级别 救火(Firefighting):应用程序发布前很少或从来没有进行过性能测试的情况。所有性能缺陷(100%)都在生…

完整的性能测试流程

一、准备工作 在什么阶段开展性能测试工作?一般情况下,是在被测系统已完成功能测试、系统趋于稳定的情况下,才会进行性能测试。 组建测试团队 ● 根据被测系统的实际情况,组建一个性能测试团队,团队成员包括&#xff…

win10-11全版本下载地址MSDN纯净版ISO-20220217更新

本文搜集整理微软官方发布的Windows 10正式版镜像下载链接,从RTM原始正式版开始,按照时间倒序排列,即越往上的越新。 转载:http://news.mydrivers.com/1/440/440540.htm 谨记:不管从什么地方下载,文件名可…