autograd与逻辑回归

一、autograd—自动求导系统

torch.autograd.backward()

torch.autograd.backward()是PyTorch中用于计算梯度的函数。以下是对该函数的参数的解释:

功能:自动求取梯度
• tensors: 用于求导的张量,如 loss
• retain_graph : 保存计算图
• create_graph : 创建导数计算图,用于高阶求导
• grad_tensors:多梯度权重

  • tensors:需要计算梯度的张量或张量的列表。这些张量的requires_grad属性必须为True
  • grad_tensors:可选参数,用于指定关于tensor的外部梯度。默认为None,表示使用默认的梯度为1。
  • retain_graph:可选参数,用于指定是否保留计算图以供后续计算。默认为None,表示根据需要自动释放计算图。
  • create_graph:可选参数,用于指定是否创建计算图以支持高阶梯度计算。默认为False,表示不创建计算图。

该函数的作用是计算tensors中张量的梯度,使用链式法则将梯度传播到叶子结点。它会自动构建计算图,并使用反向传播算法计算梯度。

当y = (x + w) * (w + 1),a = x + w,b = w + 1,y = a * b时对于w的梯度的推导如下:
𝜕y/𝜕w = (𝜕y/𝜕a) * (𝜕a/𝜕w) + (𝜕y/𝜕b) * (𝜕b/𝜕w)
= b * 1 + a * 1
= b + a
= (w + 1) + (x + w)
= 2w + x + 1
= 2 * 1 + 2 + 1
= 5
因此,当y = (x + w) * (w + 1)时,对于w的梯度为5。
在这里插入图片描述

在这里插入图片描述

torch.autograd.grad()

torch.autograd.grad()是PyTorch中用于计算梯度的函数。以下是对该函数的参数的解释:
功能:求取梯度
• outputs: 用于求导的张量,如 loss
• inputs : 需要梯度的张量
• create_graph : 创建导数计算图,用于高阶求导
• retain_graph : 保存计算图
• grad_outputs:多梯度权重

  • outputs:需要计算梯度的标量或标量的列表。这些标量通常是模型的损失函数。
  • inputs:关于哪些输入变量计算梯度。可以是单个张量或张量的列表。
  • grad_outputs:可选参数,用于指定关于outputs的外部梯度。默认为None,表示使用默认的梯度为1。
  • retain_graph:可选参数,用于指定是否保留计算图以供后续计算。默认为None,表示根据需要自动释放计算图。
  • create_graph:可选参数,用于指定是否创建计算图以支持高阶梯度计算。默认为False,表示不创建计算图。
    该函数的作用是计算outputs关于inputs的梯度。它会自动构建计算图,并使用反向传播算法计算梯度。

autograd小贴士:

  1. 梯度不自动清零
  2. 依赖于叶子结点的结点,requires_grad默认为True
  3. 叶子结点不可执行in-place

二、逻辑回归

在这里插入图片描述
在这里插入图片描述

线性回归是分析自变量x与因变量y(标量)之间关系的方法
逻辑回归是分析自变量x与因变量y(概率)之间关系的方法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/316261.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

上海亚商投顾:创业板指低开低走 煤炭等周期股逆势走强

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 一.市场情绪 沪指昨日弱势震荡,创业板指低开低走,尾盘跌超1.8%,北证50指数则拉升涨超2%…

《动手学深度学习》学习笔记 第5章 深度学习计算

本系列为《动手学深度学习》学习笔记 书籍链接:动手学深度学习 笔记是从第四章开始,前面三章为基础知道,有需要的可以自己去看看 关于本系列笔记: 书里为了让读者更好的理解,有大篇幅的描述性的文字,内容很…

初学者快速入门学习日语,PDF文档音频教学资料合集

一、资料描述 本套学习资料是很全面的,共有734份文件,包括PDF,PPT,表格,图片,音频等多种格式,可以作为初级日语的学习教材,也是非常适合初学者入门的,可以帮助大家快速的…

Character Controller Smooth

流畅的角色控制器 Unity的FPS解决方案! 它是一种具有非常平滑运动和多种设置的解决方案: - 移动和跳跃 - 坐的能力 - 侧翻角度 - 不平整表面的处理 - 惯性守恒 - 重力 - 与物理物体的碰撞。 - 支持没有家长控制的平台 此解决方案适用于那些需要角色控制器…

文本表示模型简介

文本是一类非常重要的非结构化数据,如何表示文本数据一直是机器学习领域的一个重要研究方向。那么有哪些文本表示模型?以及它们各有什么优缺点? 1. 常见的文本表示模型 1.1. 词袋模型和N-gram模型 最基础的文本表示模型是词袋模型。顾名思…

Spring Security 6.x 系列(13)—— 会话管理及源码分析

一、会话概念 在实现会话管理之前,我们还是先来了解一下协议和会话的概念,连协议和会话都不知道是啥,还谈啥管理。 1.1 http 协议 因为我们现在的会话,基本上都是基于HTTP协议的,所以在讲解会话之前,我再…

Axure医疗-住院板块,住院患者原型预览,新增医护人员原型预览,新增病房原型预览,选择床位原型预览,主治医生原型预览,主治医生医嘱原型预览

目录 一.医疗项目原型图-----住院板块 1.1 住院板块原型预览 1.2 新增住院患者原型预览 1.3 新增医护人员原型预览 1.4 新增病房原型预览 1.5 选择床位原型预览 1.6 主治医生原型预览 1.7 主治医生医嘱原型预览 1.8 主治医生查看患者报告原型预览 1.9 护士原型预…

微服务整合:构建高效灵活的分布式系统

随着软件开发的不断演进和业务的复杂性增加,微服务架构已经成为一种流行的解决方案。然而,当涉及到多个微服务之间的整合时,我们需要谨慎考虑如何实现高效、灵活的分布式系统。 微服务架构的流行使得软件开发变得更加灵活和可扩展。然而&…

Unity游戏资源更新(AB包)

目录 前言: 一、什么是AssetBundle 二、AssetBudle的基本使用 1.AssetBundle打包 2.BuildAssetBundle BuildAssetBundleOptions BuildTarget 示例 3.AssetBundle的加载 LoadFromFile LoadFromMemory LoadFromMemoryAsync UnityWebRequestAsssetBundle 前…

Django 分页(表单)

目录 一、手动分页二、分页器分页 一、手动分页 1、概念 页码:很容易理解,就是一本书的页码每页数量:就是一本书中某一页中的内容(数据量,比如第二页有15行内容),这 15 就是该页的数据量 每一…

C# 语法进阶 委托

1.委托 委托是一个引用类型,其实他是一个类,保存方法的指针 (指针:保存一个变量的地址)他指向一个方法,当我们调用委托的时候这个方法就立即被执行 关键字:delegate 运行结果: 思…

Vue Cli inspect

Vue Cli inspect vue-cli-service inspect:可以使用 vue-cli-service inspect 来审查一个 Vue CLI 项目的 webpack config 使用方法: 1、输出在控制台:vue-cli-service inspect 2、输在在文件中:vue-cli-service inspect -->…