【深度学习】日常笔记16

可以将pd.DataFrame数据结构理解为类似于Excel中的表格。pd.DataFrame是pandas库提供的一个二维数据结构,用于存储和操作具有行和列的数据。它类似于Excel中的工作表,其中每一列可以是不同的数据类型(例如整数、浮点数、字符串等)。虽然DataFrame的每一列可以具有不同的数据类型,但在数据分析和建模过程中,通常建议遵守每列(特征列)的数据类型规范。

创建缺失值NaN的代码:

import pandas as pd

data = {'Name': ['John', 'Alice', 'Bob', None, 'Mike'],

        'Age': [32, 28, 45, 42, None]}

data = {'A': [1, 2, None, 4, 5],

        'B': [1.5, 2.5, None, 4.5, 5.5]}

df['C'] = [None, 2, 3, None, 5]  # 也可以使用None指定缺失值

df = pd.DataFrame(data)

独热编码(One-Hot Encoding)是指将分类变量转换为虚拟变量(dummy variables)的一种常见方法。通过独热编码,我们可以将每个类别表示为一个二进制的指示符特征,其中只有一个特征为1,表示当前观测值所属的类别,其余特征都为0。

pd.get_dummies()函数在Pandas中提供了一种方便的方法来执行独热编码。通过设置dummy_na=True参数,可以将缺失值也视为有效的特征值,并为其创建相应的列。

独热编码通常用于在机器学习和数据分析任务中处理分类变量,以便在建模过程中能够更好地利用这些特征。

计算均⽅误差使⽤的是MSELoss类,也称为平⽅L2范数再乘个1/n,MSE全称为Mean Squared ErrorL2范数:


Adam优化器,常常使用Adam优化器的原因是对初试给定的超参数学习率lr不是很敏感。Adam是一种优化算法的缩写。它代表"Adaptive Moment Estimation"(自适应矩估计)。Adam算法结合了自适应学习率和动量法的优点,广泛应用于深度学习中的参数优化。

Adam算法使用了两个主要的概念:动量(momentum)和自适应学习率。动量可以理解为模拟物体在梯度方向上运动时的惯性,使得参数更新更加平稳。自适应学习率则根据参数的历史梯度信息来自适应地调整学习率,更好地适应不同参数的特性。

Adam算法的主要步骤包括计算梯度的一阶矩估计(即均值)和二阶矩估计(即方差),然后利用这些估计来更新参数。相较于其他传统的优化算法,Adam算法通常能够更快地收敛,并且对于大多数的深度学习任务表现良好。

在进行K折交叉验证时,确保将数据集刚好分成K个fold是理想的情况,但实际应用中可能会遇到无法均匀划分的情况。当数据集的样本数量不能被K整除时,可能会出现以下两种情况:

  1. 如果样本数量不能被K整除并且余数较小,可以选择将剩余的样本均匀分配到各个fold中。例如,如果有100个样本,要进行5折交叉验证,每个fold将有20个样本。如果有101或102个样本,可以将多出来放到已有的fold中,所以会有1或2个fold中有21个样本,而其余的fold中有20个样本。
  2. 如果样本数量不能被K整除并且余数较大,可以选择在数据预处理阶段进行调整。例如,可以考虑随机删除一部分样本,使得数据集能够被K整除。这样可以确保每个fold的样本数尽量接近,并且保持数据的随机性。

在实际应用中,了解数据集的特点和目标任务的要求,以及适应性地选择合适的划分策略,是确保K折交叉验证的有效性的关键。


for epoch in range(num_epochs):
    for X, y in train_iter:
        optimizer.zero_grad()
        l = loss(net(X), y)
        l.backward()
        optimizer.step()
    train_loss.append(log_rmse(net, train_features, train_labels))
    if test_labels is not None:
        test_loss.append(log_rmse(net, test_features, test_labels))

第二重循环的X是一个小批次的特征。X表示每个小批次的特征,而每个小批次包含了batch_size个样本。train_iter是一个数据迭代器,它会根据batch_size将训练数据划分成小批次,并提供每个小批次的特征(X)和标签(y)。因此,在第二重循环中,每次迭代都会处理一个小批次的数据样本。

在每次迭代中,通过for X, y in train_iter语句获取到一个小批次的特征和标签。X表示该小批次的特征,形状为[batch_size, feature_dim],其中batch_size是小批次的大小,feature_dim是特征的维度。y则表示该小批次对应的标签,形状为[batch_size]。

这样做的好处是,通过一次性处理多个样本,可以利用硬件加速的优势,提高训练的效率和速度。同时,通过使用小批次的随机梯度下降(SGD)更新参数,有助于增加模型的泛化能力。


随便参加了一个kaggle比赛


import torch

from torch import nn

net = nn.Sequential(nn.Linear(4, 8), nn.ReLU(), nn.Linear(8, 1))

X = torch.rand(size=(2, 4))

net(X)

上面的模型net具有三个层:

  • 第一层为 nn.Linear(4, 8),它是一个线性变换层,输入大小为4,输出大小为8。
  • 第二层为 nn.ReLU(),它是一个ReLU激活函数层。
  • 第三层为 nn.Linear(8, 1),它是另一个线性变换层,输入大小为8,输出大小为1。

综上所述,网络中的层索引分别是 ‘0’,‘1’ 和 ‘2’,而只有第一个和第三个层有参数。因此,当运行 print(*[(name, param.shape) for name, param in net.named_parameters()]) 时,你会得到以下输出:

('0.weight', torch.Size([8, 4]))

('0.bias', torch.Size([8]))

('2.weight', torch.Size([1, 8]))

('2.bias', torch.Size([1]))

其中,‘0.weight’ 和 ‘0.bias’ 分别代表第一层的权重和偏置参数,‘2.weight’ 和 ‘2.bias’ 分别代表第三层的权重和偏置参数。第二层没有参数,因此没有被打印出来。

net.state_dict()['2.bias'].data可以访问第二层的偏置参数为tensor([-0.0291])。

torch.nn.init.xavier_normal_() 是在高斯分布中采样进行Xavier初始化,而 torch.nn.init.xavier_uniform_() 是在均匀分布中采样进行Xavier初始化。

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

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

相关文章

关于安卓打包生成aar,jar实现(一)

关于安卓打包生成aar,jar方式 背景 在开发的过程中,主项目引入三方功能的方式有很多,主要是以下几个方面: (1)直接引入源代码module(优点:方便修改源码,易于维护&#…

Spring_AOP

一、AOP简介 AOP,Aspect Oriented Programming,面向切面编程,是对面向对象编程0OP的升华。OOP是纵向对一个事物的抽象,一个对象包括静态的属性信息,包括动态的方法信息等。而AOP是横向的对不同事物的抽象,属性与属性、方法与方法、对象与对象…

Vue 安装开发者工具

1.下载开发者工具,下载地址:http://book.wiyp.top/App/Vue3开发者工具-谷歌/Vue3.crx 2.打开谷歌浏览器,点击扩展,点击管理扩展程序。 3.开启开发者模式,将 Vue3 开发者工具文件拖拽到浏览器中进行安装。 注&#xff…

chatGPT小白快速入门培训课程-001

一、前言 本文是《chatGPT小白快速入门培训课程》的第001篇文章,全部内容采用chatGPT和chatGPT开源平替软件生成。完整内容大纲详见:《chatGPT小白快速入门课程大纲》。 本系列文章,参与: AIGC征文活动 #AIGC技术创作内容征文# …

使用pymupdf实现PDF内容搜索并显示功能

简介: 在日常工作和学习中,我们可能需要查找和提取PDF文件中的特定内容。本文将介绍如何使用Python编程语言和wxPython图形用户界面库来实现一个简单的PDF内容搜索工具。我们将使用PyMuPDF模块来处理PDF文件,并结合wxPython构建一个用户友好的…

虹科方案 | 汽车总线协议转换解决方案(二)

上期说到,虹科的PCAN-LIN网关在CAN、LIN总线转换方面有显著的作用,尤其是为BMS电池通信的测试提供了优秀的解决方案。假如您感兴趣,可以点击文末相关链接进行回顾! 而今天,虹科将继续给大家带来Router系列在各个领域的…

elasticsearch 基础

ES 搜索技术历史 今天看的是《Elasticsearch实战与原理解析》 第一章 搜索技术发展史 1、搜索技术发展史 宏观而言,搜索引擎的发展经历了五个尖端和两大分类。五个阶段分别是ftp文件检索阶段、分类目录阶段、文本相关性检索阶段、网页链接分析阶段和用户意图识别…

【Pytorch:nn.Embedding】简介以及使用方法:用于生成固定数量的具有指定维度的嵌入向量embedding vector

文章目录 1、nn.Embedding2、使用场景 1、nn.Embedding 首先我们讲解一下关于嵌入向量embedding vector的概念 1)在自然语言处理NLP领域,是将单词、短语或其他文本单位映射到一个固定长度的实数向量空间中。嵌入向量具有较低的维度,通常在几…

[Mongodb 5.0]单机启动

安装完mongodb后,会自动生成下面两个目录(mongod.conf中设定的),用来存放日志和数据 /var/lib/mongo (数据目录) /var/log/mongodb (日志目录) 要启动一个单机版的mongodb,一般有两种方式: 第一种启动方式:直接使用…

第5章:神经网络

神经元模型 上述定义的简单单元即为神经元模型。 多层网络 误差逆传播算法 标准BP算法:参数更新非常频繁,可能出现抵消现象。积累BP算法:下降到一定程度上,进行下一步会非常缓慢。 过拟合 早停:划分训练集和验证集…

vue3+ts使用antv/x6

使用 2.x 版本 x6.antv 新官网: 安装 npm install antv/x6 //"antv/x6": "^2.1.6",项目结构 1、初始化画布 index.vue <template><div id"container"></div> </template><script setup langts> import { onM…

redis — 基于Spring Boot实现redis延迟队列

1. 业务场景 延时队列场景在我们日常业务开发中经常遇到&#xff0c;它是一种特殊类型的消息队列&#xff0c;它允许把消息发送到队列中&#xff0c;但不立即投递给消费者&#xff0c;而是在一定时间后再将消息投递给消费者。延迟队列的常见使用场景有以下几种&#xff1a; 在…

HoudiniVex笔记_P23_SDFBasics有向距离场

原视频&#xff1a;https://www.youtube.com/playlist?listPLzRzqTjuGIDhiXsP0hN3qBxAZ6lkVfGDI Bili&#xff1a;Houdini最强VEX算法教程 - VEX for Algorithmic Design_哔哩哔哩_bilibili Houdini版本&#xff1a;19.5 1、什么是SDF Houdini支持两种体积类型&#xff0c;…

使用wxPython和PyMuPDF提取PDF页面指定页数的内容的应用程序

在本篇博客中&#xff0c;我们将探讨如何使用wxPython和PyMuPDF库创建一个简单的Bokeh应用程序&#xff0c;用于选择PDF文件并提取指定页面的内容&#xff0c;并将提取的内容显示在文本框中。 C:\pythoncode\new\pdfgetcontent.py 准备工作 首先&#xff0c;确保你已经安装了…

大数据-玩转数据-Flink网页埋点PV统计

一、说明 衡量网站流量一个最简单的指标&#xff0c;就是网站的页面浏览量&#xff08;Page View&#xff0c;PV&#xff09;。用户每次打开一个页面便记录1次PV&#xff0c;多次打开同一页面则浏览量累计。 一般来说&#xff0c;PV与来访者的数量成正比&#xff0c;但是PV并不…

虹科干货 | 化身向量数据库的Redis Enterprise——快速、准确、高效的非结构化数据解决方案!

用户期望在他们遇到的每一个应用程序和网站都有搜索功能。然而&#xff0c;超过80%的商业数据是非结构化的&#xff0c;以文本、图像、音频、视频或其他格式存储。Redis Enterprise如何实现矢量相似性搜索呢&#xff1f;答案是&#xff0c;将AI驱动的搜索功能集成到Redis Enter…

STABLE DIFFUSION模型及插件的存放路径

记录下学习SD的一些心得&#xff0c;使用的是秋叶大佬的集成webui&#xff0c;下载了之后点击启动器即可开启&#xff0c;文件夹中的内容如下 主模型存放在models文件下的stable-diffusion文件夹内&#xff0c;一些扩展类的插件是存放在extensions文件夹下

【设计模式】责任链模式

顾名思义&#xff0c;责任链模式&#xff08;Chain of Responsibility Pattern&#xff09;为请求创建了一个接收者对象的链。这种模式给予请求的类型&#xff0c;对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为型模式。 在这种模式中&#xff0c;通常每个接收者…

移动端预览指定链接的pdf文件流

场景 直接展示外部系统返回的获取文件流时出现了跨域问题&#xff1a; 解决办法 1. 外部系统返回的请求头中调整&#xff08;但是其他系统不会给你改的&#xff09; 2. 我们系统后台获取文件流并转为新的文件流提供给前端 /** 获取传入url文件流 */ GetMapping("/get…

电脑打开对话框中没有桌面这个选项解决办法

问题描述&#xff1a; 左侧栏中的桌面图标不显示 解决方法&#xff1a; 左侧的空白处右键-显示所有的文件夹 这时所有的文件夹都显示了&#xff01;