PyTorch之线性回归

1.定义:

回归分析是确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。线性回归是利用称为线性回归方程的最小二乘函数,对一个或多个自变量和因变量之间关系,进行建模的一种回归分析。这种函数是一个或多个称为回归系数的模型参数的线性组合。

在回归分析中,只包括一个自变量和一个因变量,且二者的关系可用一条直线近似表示,这种回归分析称为一元线性回归分析。大于一个自变量情况的叫做多元回归。在线性回归中,数据使用线性预测函数来建模,并且未知的模型参数也是通过数据来估计。这些模型被叫做线性模型。

2.torchvision.datasets

对于常用数据集,可以使用torchvision.datasets直接进行读取。

torchvision.dataset是torch.utils.data.Dataset的实现。该包提供了以下数据集的读取:

python 复制代码
MNIST
COCO (Captioning and Detection)
LSUN Classification
ImageFolder
Imagenet-12
CIFAR10 and CIFAR100
STL10

3.DataLoader

Pytorch 中提供了一种整理数据结构的变量,叫做DataLoader,我们能用它来包装自己的数据,进行训练。

函数定义:
torch.utils.data.DataLoader (dataset, batch_size=1, shuffle=False, sampler=None, num_workers=0, collate_fn=<function default_collate>, pin_memory=False, drop_last=False)

4.线性回归模型

建立线性回归模型需要继承Modules类,并实现__init__()方法,以及forward()方法:

init()方法,用于定义一些新的属性,这些属性可以包括Modules的实例。在本例中,即为一个torch.nn.Linear,即创建线性模型,在创建的同时,线性模型的参数也被初始化;

forward()方法,用于定义该Module进行forward时的运算,forward()方法接受一个输入,然后通过其他modules或者其他Function运算,来进行forward,返回一个输出结果。

损失函数

我们画出的拟合直线只是一个近似,因为肯定很多的点都没有落在直线上,那么我们的直线拟合程度到底怎么样呢?之前介绍的损失函数(loss function)同学们还记得吗?它就是用来估量模型的预测值 f(x)与真实值Y的不一致程度,损失函数越小,模型的鲁棒性就越好,直线拟合程度就越好。

最小二乘法是线性回归的一种,最小二乘法的基本原则是:最优拟合直线应该是使各点到回归直线的距离和最小的直线,即平方和最小。换言之,它是基于距离的,而这个距离就是我们用的最多的欧几里得距离。为什么它会选择使用欧式距离作为误差度量呢(即 Mean squared error,MSE),主要有以下几个原因:

简单,计算方便;

欧氏距离是一种很好的相似性度量标准;

在不同的表示域变换后特征性质不变。

平方损失(Square loss)的标准形式如下:

L(Y,f(x))=(Y−f(x))2

而在实际应用中,通常会使用均方差(MSE)作为一项衡量指标,公式如下:

MSE=nsum1leilen(Y−f(x))2​

Y−f(x)表示的是残差,整个式子表示的是残差的平方和的均值,而我们的目的就是最小化这个目标函数值,以求得最优的解。

5.优化方法:随机梯度下降法

python 复制代码
import torch.optim
#定义优化函数
optimizer = optim.SGD(model.parameters(), lr=1e-4)
相关推荐
Setsuna_F_Seiei28 分钟前
前端的 AI 学习之路 02 之 Provider 与 Structured Output - 规范化模型输入输出
人工智能·agent·ai编程
JavaPub-rodert1 小时前
王仕宇RAG 实战教程(二):从 0 搭建一个可运行的 RAG 知识库——Embedding、Qdrant 与问答实战
人工智能·embedding
Setsuna_F_Seiei1 小时前
前端的 AI 学习之路 01 之 Agent API 调用 - 和 Agent 的基础对话
前端·人工智能·ai编程
咔咔学姐kk2 小时前
小白程序员必收藏:轻松入门AI Agent开发,大厂校招新风口!
人工智能·深度学习·ai·程序员·大模型·就业·大模型学习
2601_967097222 小时前
园区巡检机器人推荐:4项评估维度与主流产品横评
大数据·人工智能·信息可视化
stuartevil2 小时前
零基础怎么用AI文生漫剧做出一条完整视频
人工智能·音视频
极客猴子3 小时前
能提取抖音视频文案的APP推荐:短视频文案工具合集
人工智能·智能手机·音视频·语音识别
sel_93 小时前
【强化学习】Hands-on Modern RL项目实践|OPD 算法完整解析
人工智能·深度学习·算法·机器学习·语言模型
xushichang123_3 小时前
Agentic AI 应用 Token 开销居高不下,可借助哪些云平台与架构实现成本管控?
人工智能
世岩清上3 小时前
新能源宣传片怎么拍?如何用画面讲好你的绿色能源故事
大数据·人工智能·能源·宣传片·宣传片拍摄