pytorch学习——线性神经网络——1线性回归

这篇具有很好参考价值的文章主要介绍了pytorch学习——线性神经网络——1线性回归。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

概要:线性神经网络是一种最简单的神经网络模型,它由若干个线性变换和非线性变换组成。线性变换通常表示为矩阵乘法,非线性变换通常是一个逐元素的非线性函数。线性神经网络通常用于解决回归和分类问题。

一.线性回归

        线性回归是一种常见的机器学习算法,用于建立一个输入变量与输出变量之间的线性关系模型。在这种模型中,假设输入变量与输出变量之间存在一个线性关系,即输出变量可以通过输入变量的线性组合来预测。线性回归模型会尝试找到一条最佳拟合直线,使得该直线能够最好地拟合输入变量和输出变量之间的关系。

1.1线性模型

pytorch学习——线性神经网络——1线性回归,深度学习,pytorch,pytorch,学习,神经网络

1.2损失函数

        损失函数(loss function)是用于衡量模型预测结果与真实结果之间差异的函数,通常我们会选择非负数作为损失,且数值越小表示损失越小,完美预测时的损失为0。

        在训练过程中,模型的目标是尽可能减小损失函数的值,以达到更准确地预测结果的目的。损失函数的选择对模型的训练和性能具有重要影响。通常将数据集分为训练集和测试集,模型在训练集上进行训练,通过优化损失函数来调整模型的参数。训练完成后,使用测试集来评估模型的性能。

1.2.1常见损失函数

  1. 均方误差(Mean Squared Error,MSE):计算预测值与真实值的平方差的平均值,适用于回归问题。

  2. 交叉熵(Cross Entropy):用于分类问题,计算预测值和真实值之间的差异,通常用于多分类问题。

  3. 对数损失(Log Loss):也用于分类问题,通常用于二分类问题,计算预测值和真实值之间的差异。

  4. Hinge loss:用于支持向量机(Support Vector Machine,SVM)的训练中,计算预测值和真实值之间的差异。

  5. KL 散度(Kullback-Leibler Divergence,KL Divergence):用于比较两个概率分布的差异,通常用于生成模型的训练中。

1.2.2损失函数的选择 

        具体选择哪种损失函数取决于具体问题的性质和需求。在选择损失函数时,应该考虑损失函数的数学性质、对模型训练的影响、对模型性能的影响等方面的因素。

二.实例——以买房为例

2.1房价模型

pytorch学习——线性神经网络——1线性回归,深度学习,pytorch,pytorch,学习,神经网络

 其中5498000是预估价格,并非成交价格,房价与多因素相关,房价是一个预测问题

pytorch学习——线性神经网络——1线性回归,深度学习,pytorch,pytorch,学习,神经网络

 上图中曲线是系统的估价,最好的情况是买入价格比预估价格低,通过此例子引出现线性回归

pytorch学习——线性神经网络——1线性回归,深度学习,pytorch,pytorch,学习,神经网络

 线性模型关键因素:权重,偏差

pytorch学习——线性神经网络——1线性回归,深度学习,pytorch,pytorch,学习,神经网络

 个人理解:权重是指各个因素对房子价格的影响程度,加权和是指根据不同的权重对一个序列中的元素进行加权求和的过程。在房价中,加权和是指所有影响因素都考虑情况下,制定的房子价格,偏差是指房价的预测价格和真实价格之间的差异。

线性模型可以看做是单层神经网络

pytorch学习——线性神经网络——1线性回归,深度学习,pytorch,pytorch,学习,神经网络

 输入层:d个输入元素,输入维度是d,输出维度是1

每个箭头代表了一个权重,这里没有画偏差

此神经网络有输入层和输出层,但之所以叫单层神经网络,是因为带权重的层只有一层——输入层

可以不把输出层当成一个层,因为权重和输入层放在一起

2.2房价预测

        有了房价模型,就做预测

pytorch学习——线性神经网络——1线性回归,深度学习,pytorch,pytorch,学习,神经网络

 衡量预估质量:衡量我们模型预估的准确度,区别越小,模型质量越高,区别越大,模型质量越低

平方损失:我们没有完全猜中真实值所带来的损失(例如经济损失)

有了模型和损失,我们来学习参数

pytorch学习——线性神经网络——1线性回归,深度学习,pytorch,pytorch,学习,神经网络

 假设每个样本x都是一个列向量,y也是一个列向量,每个yi是一个实验数值

x:特征集合            y:预测值

有了模型,损失,参数,现在来求解我们的模型

pytorch学习——线性神经网络——1线性回归,深度学习,pytorch,pytorch,学习,神经网络

 根据我们之前的损失,给定数据,然后来评估模型在每一个数据上的损失平均值,就会得到一个损失训练函数

pytorch学习——线性神经网络——1线性回归,深度学习,pytorch,pytorch,学习,神经网络

 目标:找到一个w和b使得训练损失最小——最小化损失来学习参数

因为是线性模型,所以有显示解(一般线性模型都有)

pytorch学习——线性神经网络——1线性回归,深度学习,pytorch,pytorch,学习,神经网络

 解释:特征集合X后面加一列全1的特征,然后把偏差放到权重w的最后一行,这样Xw后=Xw前+偏差b

pytorch学习——线性神经网络——1线性回归,深度学习,pytorch,pytorch,学习,神经网络

 总结:

pytorch学习——线性神经网络——1线性回归,深度学习,pytorch,pytorch,学习,神经网络文章来源地址https://www.toymoban.com/news/detail-610707.html

到了这里,关于pytorch学习——线性神经网络——1线性回归的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 动手学深度学习-pytorch版本(二):线性神经网络

    动手学深度学习-pytorch版本(二):线性神经网络

    参考引用 动手学深度学习 神经网络的整个训练过程,包括: 定义简单的神经网络架构、数据处理、指定损失函数和如何训练模型 。经典统计学习技术中的 线性回归 和 softmax 回归 可以视为线性神经网络 1.1 线性回归 回归 (regression) 是能为一个或多个自变量与因变量之间关系建

    2024年02月12日
    浏览(28)
  • 【深度学习】基于MindSpore和pytorch的Softmax回归及前馈神经网络

    【深度学习】基于MindSpore和pytorch的Softmax回归及前馈神经网络

    1 实验内容简介 1.1 实验目的 (1)熟练掌握tensor相关各种操作; (2)掌握广义线性回归模型(logistic模型、sofmax模型)、前馈神经网络模型的原理; (3)熟练掌握基于mindspore和pytorch的广义线性模型与前馈神经网络模型的实现。   1.2 实验内容及要求 请基于mindspore和pytorch平

    2023年04月22日
    浏览(10)
  • 深度学习 GNN图神经网络(四)线性回归之ESOL数据集水溶性预测

    深度学习 GNN图神经网络(四)线性回归之ESOL数据集水溶性预测

    本文旨在使用化合物分子的SMILES字符串进行数据模型训练,对其水溶性的值进行预测。 之前的文章《深度学习 GNN图神经网络(三)模型思想及文献分类案例实战》引用的Cora数据集只有一张图,属于图神经网络的节点分类问题。本文介绍的是多图批量训练的线性回归问题,在

    2024年02月02日
    浏览(10)
  • 线性神经网路——线性回归随笔【深度学习】【PyTorch】【d2l】

    线性神经网路——线性回归随笔【深度学习】【PyTorch】【d2l】

    线性回归是显式解,深度学习中绝大多数遇到的都是隐式解。 3.1.1、PyTorch 从零实现线性回归 生成数据集及标签 d2l.plt.scatter(,,) ,使用d2l库中的绘图函数来创建散点图。 这个函数接受三个参数: features[:,1].detach().numpy() 是一个二维张量features的切片操作,选择了所有行的第二

    2024年02月15日
    浏览(13)
  • 《动手学深度学习》——线性神经网络

    《动手学深度学习》——线性神经网络

    参考资料: 《动手学深度学习》 样本: n n n 表示样本数, x ( i ) = [ x 1 ( i ) , x 2 ( i ) , ⋯   , x d ( i ) ] x^{(i)}=[x^{(i)}_1,x^{(i)}_2,cdots,x^{(i)}_d] x ( i ) = [ x 1 ( i ) ​ , x 2 ( i ) ​ , ⋯ , x d ( i ) ​ ] 表示第 i i i 个样本。 预测: y ^ = w T x + b hat{y}=w^Tx+b y ^ ​ = w T x + b 表示单个样本的预

    2024年02月12日
    浏览(12)
  • PyTorch入门学习(十):神经网络-非线性激活

    目录 一、简介 二、常见的非线性激活函数 三、实现非线性激活函数 四、示例:应用非线性激活函数 一、简介 在神经网络中,激活函数的主要目的是引入非线性特性,从而使网络能够对非线性数据建模。如果只使用线性变换,那么整个神经网络就会退化为一个线性模型,因

    2024年02月06日
    浏览(11)
  • 动手学深度学习(二)线性神经网络

    动手学深度学习(二)线性神经网络

    推荐课程:跟李沐学AI的个人空间-跟李沐学AI个人主页-哔哩哔哩视频 目录 一、线性回归 1.1 线性模型 1.2 损失函数(衡量预估质量) 二、基础优化算法(梯度下降算法) 2.1 梯度下降公式 2.2 选择学习率 2.3 小批量随机梯度下降 三、线性回归的从零开始实现(代码实现) 3.1

    2024年02月14日
    浏览(12)
  • PyTorch入门学习(十一):神经网络-线性层及其他层介绍

    目录 一、简介 二、PyTorch 中的线性层 三、示例:使用线性层构建神经网络 四、常见的其他层 一、简介 神经网络是由多个层组成的,每一层都包含了一组权重和一个激活函数。每层的作用是将输入数据进行变换,从而最终生成输出。线性层是神经网络中的基本层之一,它执

    2024年02月05日
    浏览(13)
  • 卷积神经网络——上篇【深度学习】【PyTorch】

    卷积神经网络——上篇【深度学习】【PyTorch】

    5.1.1、理论部分 全连接层后,卷积层出现的意义? 一个足够充分的照片数据集,输入,全连接层参数,GPU成本,训练时间是巨大的。 (convolutional neural networks,CNN)是机器学习利用自然图像中一些已知结构的创造性方法,需要更少的参数,在处理图像和其他类型的结构化数据

    2024年02月12日
    浏览(11)
  • PyTorch深度学习实战(3)——使用PyTorch构建神经网络

    PyTorch深度学习实战(3)——使用PyTorch构建神经网络

    我们已经学习了如何从零开始构建神经网络,神经网络通常包括输入层、隐藏层、输出层、激活函数、损失函数和学习率等基本组件。在本节中,我们将学习如何在简单数据集上使用 PyTorch 构建神经网络,利用张量对象操作和梯度值计算更新网络权重。 1.1 使用 PyTorch 构建神

    2024年02月08日
    浏览(12)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包