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

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

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

代码(类比线性回归):

python 复制代码
# 调用库
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的概率。

相关推荐
大鱼>6 小时前
因子挖掘+回测+RL交易:量化金融完整系统
人工智能·深度学习·算法·金融
骊城英雄6 小时前
彩笔运维勇闯机器学习--逻辑回归
运维·机器学习·逻辑回归
孪生质数-7 小时前
AI 应用实践篇——让大模型真正开始工作
linux·运维·服务器·人工智能·深度学习·语言模型·llama
<-->7 小时前
Megatron-LM 深度学习与源码分析文档
人工智能·深度学习
DogDaoDao9 小时前
深度学习增强的视频压缩框架:Neutron Star 如何超越 VVC
人工智能·深度学习·音视频·视频编解码·h266·vvc·视频压缩
iiiiii119 小时前
【论文阅读笔记】Reparameterization Proximal Policy Optimization (RPO):将PPO的稳定性引入可微分强化学习
论文阅读·人工智能·笔记·深度学习·机器学习·机器人·具身智能
LaughingZhu1 天前
Product Hunt 每日热榜 | 2026-07-30
人工智能·经验分享·深度学习·神经网络·产品运营
qq_316411031 天前
腹腔镜模拟手术训练数字化管理平台构建
人工智能·python·深度学习·机器学习
实验如有神祝女士1 天前
不同参数规模大模型在医学翻译场景的适配差异
论文阅读·人工智能·深度学习·学习·算法·语言模型·论文笔记
Jay80591 天前
基于深度学习的车辆识别收费管理系统(全套源码+数据集)
深度学习