在 PyTorch 中使用逻辑回归进行预测

逻辑回归是一种用于模拟事件概率的统计技术。它常用于机器学习中进行预测。当我们预测一个分类结果时,我们会应用逻辑回归。

在 PyTorch 中,逻辑回归的构建与线性回归类似。它们都应用于线性输入。但逻辑回归专门用于分类问题,例如将结果分为两种(0 或 1)。

在本教程中,我们将专注于使用逻辑回归进行预测。我们将学习 PyTorch 库中的一些有用包如何帮助轻松创建逻辑回归模型。特别是,我们将学习

  • 如何在 PyTorch 中使用逻辑回归进行预测。
  • 逻辑函数及其在张量上的实现。
  • 如何使用 nn.Sequential 构建逻辑回归模型。
  • 如何构建自定义模块用于逻辑回归。

通过我的《用PyTorch进行深度学习》一书来启动你的项目。它提供了包含可用代码自学教程


让我们开始吧。

在 PyTorch 中使用逻辑回归进行预测。
图片由 Manson Yim 提供。部分权利保留。

概述

本教程分为四个部分;它们是:

  • 创建数据类
  • 使用 nn.Module 构建模型
  • 使用小批量梯度下降进行训练
  • 绘制进度

什么是逻辑函数?

当使用线性函数计算数据集中某个点的类别时,我们会得到一个正数或负数,例如 -3、2、4 等。当我们构建一个分类器,特别是二分类器时,我们希望它能返回 0 或 1。在这种情况下,可以使用 sigmoid 或逻辑函数,因为该函数的值始终在 0 和 1 之间。通常我们会设置一个阈值,例如 0.5,来向上或向下取整结果,以将输出指定给一个类别或另一个类别。

在 PyTorch 中,逻辑函数由 nn.Sigmoid() 方法实现。让我们使用 PyTorch 中的 range() 方法定义一个张量,并应用逻辑函数观察输出。

让我们看看图表是什么样的。

逻辑函数

正如你在图表中看到的,逻辑函数的值在 0 到 1 之间,过渡主要发生在 0 附近。

想开始使用PyTorch进行深度学习吗?

立即参加我的免费电子邮件速成课程(附示例代码)。

点击注册,同时获得该课程的免费PDF电子书版本。

通过 nn.Sequential 实现的逻辑回归模型

PyTorch 中的 nn.Sequential 包使我们能够像构建线性回归模型一样构建逻辑回归模型。我们只需要定义一个输入张量并通过模型进行处理。

让我们定义一个接受一维张量作为输入的逻辑回归模型对象。

该模型包含一个线性函数层。线性函数的输出被传递到逻辑函数,该函数进行预测。

我们可以使用 parameters() 方法检查模型参数列表。在这种情况下,参数应该是随机初始化的,但我们可以看到形状与我们上面模型中指定的相匹配。

输出看起来是这样的。

现在,让我们定义一个一维张量 x,并使用我们的逻辑回归模型进行预测。

我们将张量强制转换为 float32 类型,因为这是我们的模型所期望的。将这些数据样本输入模型,我们将得到以下预测。

其输出如下

把所有东西放在一起,下面是完整的代码。

自定义逻辑回归模块

当您处理高级深度学习解决方案时,了解如何构建自定义模块是必要的。我们可以尝试使用语法并构建我们的自定义逻辑回归模块。这应该与上面的 nn.Sequential 模型完全相同。

我们将定义该类并继承 nn.Module 包的所有方法和属性。在类的 forward() 函数中,我们将使用 sigmoid() 方法,该方法接受来自类线性函数的输出并进行预测。

我们可以实例化类对象。

现在,让我们对上面定义的张量 x 进行预测。

输出将是

正如你所见,我们的逻辑回归自定义模型与上面的 nn.Sequential 版本工作方式完全相同。

把所有东西放在一起,下面是完整的代码。

总结

在本教程中,您了解了逻辑回归的一些基础知识以及如何在 PyTorch 中实现它。特别是,您学习了

  • 如何在 PyTorch 中使用逻辑回归进行预测。
  • 关于逻辑函数及其在张量上的实现。
  • 如何使用 nn.Sequential 构建逻辑回归模型。
  • 如何构建自定义模块用于逻辑回归。

开始使用PyTorch进行深度学习!

Deep Learning with PyTorch

学习如何构建深度学习模型

...使用新发布的PyTorch 2.0库

在我的新电子书中探索如何实现
使用 PyTorch进行深度学习

它提供了包含数百个可用代码自学教程,让你从新手变成专家。它将使你掌握:
张量操作训练评估超参数优化等等...

通过动手练习开启你的深度学习之旅


查看内容

2 条对 在 PyTorch 中使用逻辑回归进行预测 的回复

  1. Andrew N 2022年12月23日 上午10:59 #

    在进行预测之前,这个模型是如何训练的?

留下回复

Machine Learning Mastery 是 Guiding Tech Media 的一部分,Guiding Tech Media 是一家领先的数字媒体出版商,专注于帮助人们了解技术。访问我们的公司网站以了解更多关于我们的使命和团队的信息。