刘二大人《Pytorch深度学习实践》第六讲逻辑斯蒂回归

news2024/9/24 16:26:43

文章目录

  • 线性回归和逻辑斯蒂回归的区别
  • 课上代码
  • 交叉熵函数的理解

线性回归和逻辑斯蒂回归的区别

线性回归一般用于预测连续值变量,如房价预测问题。
线性回归的一般表达式为:
在这里插入图片描述
代价函数为MSE(均方误差):
在这里插入图片描述
其中权重theta的更新,一般可选用梯度下降等相关优化方法。由于MSE对特征值的范围比较敏感,一般情况下对会对特征进行归一化处理。

逻辑回归虽然叫做回归,但是其主要解决分类问题。可用于二分类,也可以用于多分类问题。由于线性回归其预测值为连续变量,其预测值在整个实数域中。而对于预测变量y为离散值时候,可以用逻辑回归算法(Logistic Regression)逻辑回归的本质是将线性回归进行一个变换,该模型的输出变量范围始终在 0 和 1 之间。
在这里插入图片描述

本质上,逻辑回归就是线性回归再进行了sigmod变换,其值变化到(0,1).

课上代码

from torch.nn import ModuleList
import torch
import torch.nn.functional as F

# 准备数据
x_data = torch.Tensor ([[1.0], [2.0], [3.0]])
y_data = torch.Tensor ([[0], [0], [1]])

# 定义网络
class LogisticRegressionModel (torch.nn.Module):
  def __init__(self):
    super(LogisticRegressionModel, self).__init__()
    self.linear = torch.nn.Linear (1, 1)
  
  def forward (self, x):
    y_pred = F.sigmoid (self.linear(x))
    return y_pred

model = LogisticRegressionModel ()
# 定义优化器和损失函数
criterion = torch.nn.BCELoss (size_average = False)
optimizer = torch.optim.SGD(model.parameters(), lr = 0.01)

for epoch in range (1000):
  y_pred = model (x_data)
  loss = criterion (y_pred, y_data)
  print (epoch, loss.item())

  optimizer.zero_grad()
  loss.backward ()
  optimizer.step()

print ('w=', model.linear.weight.item())
print ('b=', model.linear.bias.item())

x_test = torch.Tensor ([[4.0]])
y_test = model (x_test)
print ('y_pred = ', y_test.data)

交叉熵函数的理解

在这里插入图片描述
1.y’是预测值,y是真实值,如果想让loss足够小,那么y’和y越接近越好
2. y如果是1,则loss = -ylogy’,y‘是0-1之间,则logy’在负无穷到0之间,y‘如果等于1则损失函数是0,如果和y的值越来越不接近,loss的值就会越来越大,y等于0同理

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux Shell 实现一键部署二进制Rabbitmq

rabbitmq 前言 RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而集群和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代…

openai的whisper语音识别介绍

openAI发布了chatgpt,光环一时无两。但是openAI不止有这一个项目,它的其他项目也非常值得我们去研究学习。 今天说说这个whisper项目 https://github.com/openai/whisper ta是关于语音识别的。它提出了一种通过大规模的弱监督来实现的语音识别的方法。…

C++之深入解析STL unordered_map的底层实现原理

C STL 标准库中,不仅是 unordered_map 容器,所有无序容器的底层实现都采用的是哈希表存储结构。更准确地说,是用“链地址法”(又称“开链法”)解决数据存储位置发生冲突的哈希表,整个存储结构如下所示&…

JVM 垃圾收集器详解

一、垃圾收集器 如果说收集算法是内存回收的方法论,那垃圾收集器就是内存回收的实践者。《Java虚拟机规范》中对垃圾收集器应该如何实现并没有做出任何规定,因此不同的厂商、不同版本的虚拟机所包含的垃圾收集器都可能会有很大差别,不同的虚…

基于遗传算法的中药药对挖掘系统的设计与实现

用数据挖掘技术研究了中药方剂配伍的规律。主要工作:分析了关联规则存在的问题,引入双向关联规则的概念;介绍了遗传算法的基本原理,研究了遗传算法在数据挖掘中的应用;将方剂库转换为位图矩阵,大大提高搜索…

Mac重启清理缓存会怎么样 mac清理缓存怎么清理

众所周知,Mac电脑有着流畅的操作系统,因此,很多用户都会选择使用Mac电脑办公。随着日常使用,系统缓存数据越来越大,某些Mac电脑(尤其是小内存版本的Mac电脑)可能会出现“系统”占存储空间比例较…

初始单片机.md

1.如何将HEX文件烧录到单片机 STC-ISP STC-ISP是一款单片机下载编程烧录软件,是针对STC系列单片机而设计的,可下载STC89系列、12C2052系列和12C5410等系列的STC单片机,使用简便。 思路:将电脑磁盘上已存在的文件通过串口的方式下…

python中第三方库xlrd和xlwt的使用教程

excel文档名称为联系人.xls,内容如下: 一、xlrd模块用法 1.打开excel文件并获取所有sheet import xlrd# 打开Excel文件读取数据 data xlrd.open_workbook(联系人.xls)sheet_name data.sheet_names() # 获取所有sheet名称 print(sheet_name) # [银…

python依次运行多个代码遇到的同步与异步问题

1、要实现在一个Python代码运行完后紧接着运行另一个Python代码,可以使用Python的subprocess模块。该模块可以创建新进程并与之交互,可以用于在Python代码中启动新的程序或脚本。 下面是一个示例代码,用于在运行完code1.py后紧接着运行code2…

论文配色方案(收藏)

方案一:复古 系列色——十六进制颜色码: 0780cf - 765005 - fa6d1d - 0e2c82 - b6b51f - da1f18 - 701866 - f47a75 - 009db2 - 024b51 - 0780cf - 765005 系列色——RGB颜色值: (7,128,207)-(118,80,5&…

【记录】优化油猴插件【BD网盘播放器】

收获最重要前言优化代码收获1.禁止浏览器弹窗2.定时器3.设置属性-隐藏元素4.鼠标悬停和移开事件5.添加元素6.div里均匀分布7.获取元素属性值8.监听播放器状态9.jQuery 选择器前言 有钱的可以支持一下原作者,没钱就要多学习 优化 1.1 视频刚开始未播放时&#xff…

酷雷曼一站式图片直播,助力品牌高效传播

传统模式下,摄影师拍摄会议、活动现场的照片后,一般需要7-10天时间才能完成成片交付,而实际上,由于新闻宣传的即时性,照片延迟交付,远远不能满足客户的需求。因此,即时图片直播技术应运而生&…

Jenkins自动化部署实例讲解

文章目录 前言实例讲解基本环境全局工具配置创建任务任务配置源码管理构建步骤(Build Steps)第一步:调用Maven第二步:执行shell启动容器 后记 前言 你平常在做自己的项目时,是否有过部署项目太麻烦的想法?…

哈希应用——位图(bitset)

目录 见见猪跑(初步了解位图) 位图的模拟实现 位图的应用 1、给定100亿个整数,设计算法找到只出现一次的整数 2、给两个文件,分别有100亿个整数,我们只有1G内存,如何找到两个文件交集? 3、位图应用变形&#xff…

第六章 Gated RNN

目录6.1 RNN的问题6.1.1 RNN的复习6.1.2 梯度消失和梯度爆炸6.1.3 梯度消失和梯度爆炸的原因6.1.4 梯度爆炸的对策6.2 梯度消失和LSTM6.2.1 LSTM的接口6.2.2 LSTM层的结构6.2.3 输出门6.2.4 遗忘门6.2.5 新的记忆单元6.2.6 输入门6.2.7 LSTM的梯度的流动6.3 LSTM的实现6.4 使用…

CIO成就计划第二季第一期 | 活动回顾:基于数字技术重塑流程,驱动业务增长

2023年3月25日,《科创人》联手金蝶共同打造的【CIO成就计划第二季】首期培训在北京金蝶软件园圆满举行。 【CIO成就计划】第二季,坚持服务于企业CIO、数字化变革负责人的价值定位,通过三期线下闭门培训会社群交流,帮助CIO建立应对…

JUC高级十-AbstractQueuedSynchronizer之AQS

1. 前置知识 公平锁和非公平锁可重入锁自旋锁LockSupport数据结构之双向链表设计模式之模板设计模式 AQS重要性 JAVA ------>JVM AQS ------>AQS 2. AQS入门级别理论知识 2.1 是什么? 2.1.1 字面意思 Abstract Queued Synchronizer----抽象的队列同步器 源码位置: …

【Java 并发编程】一文读懂线程、协程、守护线程

一文读懂线程、协程、守护线程1. 线程的调度1.1 协同式线程调度1.2 抢占式线程调度1.3 设置线程的优先级2. 线程的实现模型和协程2.1 内核线程实现2.2 用户线程实现2.3 混合实现2.4 Java 线程的实现2.5 协程2.5.1 出现的原因2.5.2 什么是协程2.5.3 Java19 虚拟线程 - 协程的复苏…

Cat原理简析

Cat原理简析 链路追踪系统设计思路如何高效组织业务日志如何动态串联业务日志通用解决方案链路定义链路染色链路上报链路存储 Cat原理客户端原理API设计序列化和通信客户端埋点核心类分析流程分析启动流程:消息生产Context 线程本地变量Transaction事务的开启其他类型消息组合关…

网页设计方向有哪些SCI期刊推荐? - 易智编译EaseEditing

网页设计和开发方向主要涉及人机交互、用户体验、可访问性等方面,以下是几个相关的SCI期刊推荐: ACM Transactions on Computer-Human Interaction (ACM TOCHI): 该期刊由ACM(Association for Computing Machinery)出…