深度学习之用PyTorch实现逻辑回归

news2024/12/23 17:37:39

0.1 学习视频源于:b站:刘二大人《PyTorch深度学习实践》

0.2 本章内容为自主学习总结内容,若有错误欢迎指正!

代码(类比线性回归):

# 调用库
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)  # 实例化torch库nn模块的Linear类,特征一维,输出一维

    def forward(self, x):
        """
        前馈运算
        :param x: 输入值
        :return: 线性回归预测结果
        """
        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)  # 优化器——梯度下降SGD

# 训练过程
for epoch in range(1000):  # epoch:训练轮次
    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([[3.5]])
y_test = model(x_test)
print("y_pred = ", y_test.data)

结果:

注:输出结果为类别是1的概率。

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

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

相关文章

[保研/考研机试] KY187 二进制数 北京邮电大学复试上机题 C++实现

描述 大家都知道,数据在计算机里中存储是以二进制的形式存储的。 有一天,小明学了C语言之后,他想知道一个类型为unsigned int 类型的数字,存储在计算机中的二进制串是什么样子的。 你能帮帮小明吗?并且,小…

使用MyEclipse如何部署Descriptor (XML)编辑器?

Descriptor (XML) Editor编辑器包含了高级的XML编辑功能,在本文中您将了解到这些编辑功能、Web XML编辑等,此功能包含在MyEclipse中可用。 MyEclipse v2023.1.2离线版下载 1. Web XML 编辑器 MyEclipse Web XML编辑器包括高级XML编辑功能,…

2022年世界各国GDP总量、人均GDP总量及排名

【勘误:表格第103哥伦比亚应为柬埔寨】

线程隔离问题之服务降级、熔断

一、雪崩问题 微服务中,服务间调用关系错综复杂,一个请求,可能需要调用多个微服务接口才能实现,会形成非常复杂的调用链路: 如图,一次业务请求,需要调 用A、P、H、I四个服务,这四个…

【LeetCode每日一题】——575.分糖果

文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【解题思路】八【时间频度】九【代码实现】十【提交结果】 一【题目类别】 哈希表 二【题目难度】 简单 三【题目编号】 575.分糖果 四【题目描述】 Alice 有 n 枚糖&…

​三江学院图书馆藏八一新书《乡村振兴战略下传统村落文化旅游设计》

​三江学院图书馆藏八一新书《乡村振兴战略下传统村落文化旅游设计》

【转】彻底搞明白 GB2312、GBK 、GB18030和UTF-8

日常工作的过程中,关于字符编码的问题经常让人头疼不已,这篇文章就来捋一捋关于 GB2312、GBK、GB18030 相关的知识 以及它们和 Unicode 的关系 简介 GB2312(2个字节) 1980 年,中国发布了第一个汉字编码标准&#xf…

明道云联合Kyligence结合示范性场景应用

案例背景 前言 国内大部分制造企业在经历疫情后,终于迎来了市场端的消费需求的恢复和增长,但如何在激烈的竞争中以更少投入,获得更高回报,在市场上获得一席生存之地,成为了悬在众多企业头上的达摩克利斯之剑。在市场…

手搓 LLM (不用rnn 不用attention 完全新思路)padding 实验

数据集地址 诗 实验过的几种策略 主体代码 import paddle import numpy as np from tqdm import tqdm import pandas as pd class EmMask(paddle.nn.Layer):def

力扣63.不同路径II(动态规划)

/*** author Limg* date 2022/08/09* 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。* 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish”)。* 现在考虑网…

大厂容器云实践之路(三)

5-基于Kubernetes打造SAE容器云 目前SAE基于请求的架构 • 优点 - 进程内隔离,消耗资源最⼩ - ⽆感扩容&缩容,⽤户⽆成本 - Health&Redispatch,升级切换⽆成本 • 缺点 - ⽆法提供独⽴的namespace - ⽆法Build&Ship&Run ⽤…

数据质量:数据越好,模型就越好

如果数据不准确,模型就无法正常运行。虽然最终可能得到一个尚可应付的模型,但它的功能会不尽人意。可以说,数据质量是机器学习模型训练中的重中之重。无论为模型提供了多少数据,如果数据不适用,对改善机器模型的性能就…

网络电影购票系统代理商客户端开发(java开源)

一、背景介绍 随着互联网技术的不断发展,网络电影购票已经成为了人们日常生活中的一部分。然而,在电影购票市场中,代理商客户端的开发与搭建是一个关键环节。接下来将介绍如何使用Java开源技术来开发一个网络电影购票系统代理商客户端。 二、…

基于Spring Boot的网络在线学习网站的设计与实现(Java+spring boot+MySQL)

获取源码或者论文请私信博主 演示视频: 基于Spring Boot的网络在线学习网站的设计与实现(Javaspring bootMySQL) 使用技术: 前端:html css javascript jQuery ajax thymeleaf 微信小程序 后端:Java spri…

C语言笔试训练【第六天】

大家好,我是纪宁。今天是C语言笔试训练的第6天,加油! 往期回顾: C语言笔试训练【第五天】 C语言笔试训练【第四天】 C语言笔试训练【第三天】 C语言笔试训练【第二天】 C语言笔试训练【第一天】 1、以下叙述中正确的是&…

2023年,App运行小游戏,可以玩出什么创意?

疫情过后,一地鸡毛。游戏行业的日子也不好过。来看看移动游戏收入:2022年,移动游戏收入达到920亿美元,同比下降6.4%。这告诉我们,2022年对移动游戏市场来说是一个小挫折。 但不管是下挫还是上升,移动游戏市…

第2章:模型评估与选择

经验误差与泛化误差 过拟合是核心问题。 过拟合是无法避免的,只能尽量去缓解。 每个算法都要思考,是怎么缓解过拟合的?缓解方法什么情况下会失效? 模型选择 评估方法 留出法 为什么不能太小? 因为Mx要用来逼近M100的结…

Cesium 积雪效果基于后处理方法

Cesium 积雪效果基于后处理方法 最后效果: this.effect new Cesium.PostProcessStage({name: "czm_snowCover",fragmentShader: snowCover,uniforms: {u_alpha: 1, // 积雪厚度, 0~1},});const stages viewer.scene.postProcessStages;stages.add(this.effect);根…

opencv基础49-图像轮廓02-矩特征cv2.moments()->(形状分析、物体检测、图像识别、匹配)

矩特征(Moments Features)是用于图像分析和模式识别的一种特征表示方法,用来描述图像的形状、几何特征和统计信息。矩特征可以用于识别图像中的对象、检测形状以及进行图像分类等任务。 矩特征通过计算图像像素的高阶矩来提取特征。这些矩可以…

vuejs 设计与实现 - 简单diff算法

DOM 复用与key的作用: DOM 复用什么时候可复用? key 属性就像虚拟节点的“身份证”号,只要两个虚拟节点的 type属性值和 key 属性值都相同,那么我们就认为它们是相同的,即可以进行 DOM 的复用。即 我们通过【移动】来…