第31周:文献阅读

目录

摘要

Abstract

文献阅读

问题引入

研究背景

研究动机 

创新点

动态预训练方法(DynPT)

深度循环神经网络(DRNN)

传感器选择

方法论

时间序列的动态预训练

异构传感器数据的DRNN

基于稀疏度的传感器过滤 

实验研究

数据准备 

动态预训练DynPT

传感器数据的DRNN

DRNN v.s. VENUS

传感器的选择

核心代码

拓展分析

DRNN against AR

基准测试

传感器参数调整

总结


摘要

本文献提出了一种基于深度循环神经网络(DRNN)的PM2.5浓度预测模型,该模型采用动态预训练方法(DynPT)以增强时间序列数据的处理能力,并利用弹性网(Elastic Net)进行传感器选择以降低计算成本。模型结构包含多层自编码器和循环层,特点在于其能够捕捉时间依赖性和空间相关性,优势在于提高了预测准确性并减少了过拟合风险。该模型适用于环境监测数据的分析,特别是在空气质量管理和公共健康预警系统中。与现有的VENUS系统和其他基线模型相比,DRNN模型展现出更优的预测性能和泛化能力。未来的改进方向可能包括进一步优化动态预训练算法,提高传感器选择的效率,以及探索模型在其他环境监测领域的应用潜力。 

Abstract

This paper proposes a PM2.5 concentration prediction model based on deep recurrent neural network (DRNN), which adopts dynamic pre training method (DynPT) to enhance the processing ability of time series data, and uses Elastic Net for sensor selection to reduce computational costs. The model structure includes multiple layers of autoencoders and loop layers, which are characterized by their ability to capture temporal and spatial dependencies. Its advantage lies in improving prediction accuracy and reducing the risk of overfitting. This model is suitable for analyzing environmental monitoring data, especially in air quality management and public health warning systems. Compared with existing VENUS systems and other baseline models, the DRNN model exhibits better predictive performance and generalization ability. Future improvement directions may include further optimizing dynamic pre training algorithms, improving the efficiency of sensor selection, and exploring the potential applications of the model in other environmental monitoring fields. 

文献阅读

Dynamically pre-trained deep recurrent neural networks using environmental monitoring data for predicting PM2.5 | Neural Computing and Applications

问题引入

研究背景

1、PM_{2.5}对人类健康、环境和气候变化影响重大,准确预测意义重大。日本当前多使用气候模型预测PM_{2.5},该文献提出用 DRNN 结合新预训练方法(DynPT)和传感器选择技术来提高预测精度。

2、PM_{2.5}浓度的降低可以显著减少因空气污染导致的早死人数,并节省巨大的经济成本。

3、目前用于预测PM_{2.5}浓度的模型大多是基于气候模型(如欧拉网格、拉格朗日网格或轨迹模型),这些模型需要大量的专家知识和参数化,且在处理大量数据时效率较低。无法满足细微浓度检测的要求

研究动机 

深度学习(特别是深度神经网络,DNN)在处理大规模数据和复杂模型方面取得了显著进展。特别是循环神经网络(RNN)在建模时间序列数据方面表现出色。 

创新点

动态预训练方法(DynPT)

专门针对时间序列预测任务。该方法通过逐步引入时间序列数据,使网络权重逐渐适应动态变化的输出,从而提高预测的准确性。

深度循环神经网络(DRNN)

利用环境监测数据(如PM2.5浓度、风速、温度等)进行PM2.5浓度的预测。该网络通过利用传感器数据的空间相关性,进一步提高预测的准确性。

传感器选择

通过弹性网(Elastic Net)等正则化方法,实现了传感器选择,降低了计算成本并提高了模型的可解释性。这种方法不仅减少了数据处理成本,还使预测模型更易于解释。

 

方法论

时间序列的动态预训练

“时间序列+预训练”是一种结合了时间序列分析和预训练模型的方法,旨在提升模型对时间序列数据的理解和预测能力。 在时间序列预测任务中,预训练模型被用来提取数据的特征,这些特征随后被用于预测或分类。这种方法尤其适用于数据量有限或特征不明显的情况,能够显著提高模型的泛化能力。

上图的左半部分是预训练的过程,输入序列X被多个时间片段Z_i分为多组进行预训练;右半部分是数据时间序列的训练过程,每个时间步长的数据(用红色方框表示)随着训练的进行(即epoch的增加)逐渐被纳入训练。

异构传感器数据的DRNN

DRNN用于处理多变量时间序列数据并进行PM2.5浓度预测。模型通过多层自编码器、动态自编码器循环神经网络来学习数据中的复杂特征和时间依赖性。最终,模型输出目标城市未来某个时间点的PM2.5浓度预测值。这种架构能够有效地捕捉环境监测数据中的动态变化和时间依赖性,从而提高PM2.5预测的准确性。 

基于稀疏度的传感器过滤 

稀疏度原理:稀疏性是指在一组数据中,大部分元素都是零或接近零。在机器学习中,稀疏性可以用来实现特征选择,即通过将不重要的特征权重设置为零,从而在模型中只保留重要的特征,减少不重要的特征。 

实验研究

数据准备 

数据特征 

所需的数据特征包括目标城市及其邻近城市的一系列环境监测数据,这些特征对于捕捉PM2.5浓度的时间动态和空间相关性至关重要。具体特征涉及PM2.5浓度本身,以及可能影响其浓度的环境因素,如风速(WS)、风向(WD)、温度(TEMP)、光照强度(SUN)、湿度(HUM)和降雨量(RAIN)。这些数据以小时为单位的时间分辨率收集,覆盖了一段持续时间以包含足够的历史信息用于预测。

 

为了提高模型性能,这些特征数据在输入模型之前会经过清洗标准化处理,并根据时间序列分析的需求进行分割,以确保模型能够学习到过去D个小时内的变化趋势,并预测未来N个小时的PM2.5浓度变化。 

数据集

在PM2.5预测实验中,使用了17,545小时的数据,分为训练、验证和测试集。模型基于过去48小时的10个传感器数据来预测未来12小时的PM2.5浓度,考虑了3个邻近城市的信息。训练采用随机梯度下降法,经过3次交叉验证,最大200轮迭代,以优化模型性能。

动态预训练DynPT

为了验证动态预训练模型的训练效果,将它与传统自编码器方法CanAE和去噪自编码器方法DenAE进行对比实验,以均方根误差RMSE来衡量模型的性能好坏,实验结果如下图所示:

 

结果分析:

1、与传统的自编码器(CanAE)和去噪自编码器(DenAE)相比,提出的动态预训练方法(DynPT)在PM2.5预测任务上具有更低的RMSE值,说明其预测性能更优。 

2、误差线(图中的红色线条)表示每种方法RMSE值的变动范围,可以看出DynPT的误差范围也相对较小,进一步证明了其稳定性和优越性

传感器数据的DRNN

对于预测PM_{2.5}任务中的模型参数优化问题,该篇文献通过改变神经网络的层数和改变不同节点数实现不同的模型预测任务,预测结果通过仍旧通过均方误差RMSE进行衡量,对比结果如下图所示:

 

结果分析:

图a展示了不同层数(4到9层)对模型性能的影响。随着层数的增加,所有模型的RMSE值都有所增加,表明模型可能开始过拟合。在该数据集上,较少的层数(4-5层)已经足够捕捉数据的特征,而更多的层数可能导致过拟合。

图b展示了不同节点数(30和300)对模型性能的影响。在相同的层数下,节点数为300的网络通常比节点数为30的网络表现更好,这表明更多的节点有助于模型捕捉更复杂的特征。所以增加节点数可以提高模型的性能。

DRNN v.s. VENUS

VENUS是一个由日本国立环境研究所开发的区域性PM2.5预测系统,旨在提供大气环境的可视化和分析工具,以支持环境监测和空气质量管理。该文献中提出的改进后的DRNN与原有的系统的性能进行比较,分别以“Precision、Recall和F-measure”三个指标来进行性能比较,比较结果如下表所示:

 

结果分析: 

1、DRNN的精确率为0.634,高于VENUS的0.523,表明DRNN在预测PM2.5浓度时的准确性更高,误报更少。

2、VENUS的召回率为0.653,高于DRNN的0.606,表明VENUS在识别所有实际为正类的样本方面表现更好,召回率更高,漏报更少。

3、DRNN的F-measure为0.615,高于VENUS的0.567,说明DRNN在综合考虑精确率和召回率后的整体性能更优。

传感器的选择

为了确定哪种方法能最有效地提高模型的预测准确性、泛化能力,并同时减少模型复杂度。该文献中的实验研究部分比较了四种不同的正则化方法在PM2.5预测模型中的表现,具体包括Ridge回归(作为基线)、Lasso回归、弹性网络(Elastic Net,简称EN)以及结合稀疏自编码器(Sparse AE)和弹性网络的方法。4种方法在预测模型的表现如下表所示:

 结果分析:

结合稀疏自编码器和弹性网络的方法(Sparse AE + EN)在预测准确性(最低的RMSE)、特征选择(最高的稀疏性)和传感器过滤(最高的χ/M值)方面均表现最佳。这表明该方法能够有效地从环境监测数据中选择最相关的特征,同时保持较低的预测误差,为PM2.5预测提供了一种高效且准确的解决方案。

核心代码

数据预处理

data = torch.randn(1000, 48, 10)  # 假设data是形状为 (样本数, 时间步长, 特征数) 的数据张量
train_size = int(len(data) * 0.6) # 划分训练集、验证集和测试集
val_size = int(len(data) * 0.2)
test_size = len(data) - train_size - val_size
train_data, val_data, test_data = torch.split(data, [train_size, val_size, test_size])

 包含数据格式转换、划分数据集

模型构建

class DRNN(nn.Module):
    def __init__(self, input_size, hidden_size, output_size):
        super(DRNN, self).__init__();
        self.input_size = input_size
        self.hidden_size = hidden_size
        self.output_size = output_size
        self.fc1 = nn.Linear(input_size, hidden_size)
        self.tanh = nn.Tanh()
        self.fc2 = nn.Linear(hidden_size, output_size)
    def forward(self, x):
        out = self.fc1(x)
        out = self.tanh(out)
        out = self.fc2(out)
        return out

 DRNN模型的定义包含了模型的参数初始化以及前向传播网络

动态预训练

def dynamic_pre_training(model, data, num_epochs, num_fragments):
    time_steps = data.size(1)
    fragment_size = time_steps // num_fragments
    epoch_per_fragment = num_epochs // num_fragments
    criterion = nn.MSELoss()
    optimizer = torch.optim.SGD(model.parameters(), lr=1e-2)
    for epoch in range(num_epochs):
        for i in range(num_fragments):
            start = i * fragment_size
            end = (i + 1) * fragment_size
            if epoch < i * epoch_per_fragment:
                weight = 0
            elif epoch < (i + 1) * epoch_per_fragment:
                weight = (epoch - i * epoch_per_fragment) / (epoch_per_fragment - 1)
            else:
                weight = 1
            fragment_data = data[:, start:end, :] * weight
            output = model(fragment_data)
            loss = criterion(output, fragment_data)
            optimizer.zero_grad()
            loss.backward()
            optimizer.step()

 包括初始化网络权重、定义时间序列片段、设置动态权重、预训练

模型训练与评估

def train_model(model, train_data, val_data, num_epochs, lr): #训练模型
    criterion = nn.MSELoss()
    optimizer = torch.optim.SGD(model.parameters(), lr=lr)
    best_val_loss = float('inf')
    for epoch in range(num_epochs):
        model.train()
        output = model(train_data)
        loss = criterion(output, train_data)
        optimizer.zero_grad()
        loss.backward()
        optimizer.step()
        model.eval()
        with torch.no_grad():
            val_output = model(val_data)
            val_loss = criterion(val_output, val_data)
            if val_loss < best_val_loss:
                best_val_loss = val_loss
                torch.save(model.state_dict(), 'best_model.pth')
def evaluate_model(model, test_data):                    #评估模型
    criterion = nn.MSELoss()
    model.eval()
    with torch.no_grad():
        test_output = model(test_data)
        rmse = np.sqrt(criterion(test_output, test_data).item())
        return rmse

传感器选择

def sensors_selection(model, data, threshold):
    input_weights = model.fc1.weight.data.cpu().numpy()
    sensor_sparsity = np.mean(np.abs(input_weights) <= 1e-3, axis=1)
    selected_sensors = np.where(sensor_sparsity >= threshold)[0]
    return selected_sensors

该函数根据模型第一层(这里是 fc1 全连接层)的权重稀疏性来选择传感器。 

拓展分析

DRNN against AR

传统的自回归模型AR是一种常用于时间序列预测的统计方法,它可能无法充分捕捉PM2.5浓度变化的复杂性和动态性,尤其是当数据中存在非线性关系和长期依赖时。所以为了解决传统统计方法在上述方面的缺陷,提出了DRNN对抗自回归模型。

基准测试

模型的基准测试(Benchmarking)是一种评估和比较不同机器学习或深度学习模型性能的方法。该文献中CATS benchmark被用作评估不同模型在时间序列预测任务上的性能。通过比较不同模型在这一标准化测试上的E1​得分,研究者可以直观地看到DynPT模型相对于其他模型(如RBMs、ARIMA、MLP)的优势。

E1​得分通常用于衡量模型在预测任务中的性能,得分越低表示模型性能越好。 

结果分析:

从E1​得分可以看出,DynPT模型在这项测试中的表现优于其他三种模型,这意味着DynPT在捕捉数据的时间序列特征方面更为有效。

传感器参数调整

为了选择合适的模型——不仅预测误差最小,而且能在一定程度上实现传感器的选择,从而降低模型的复杂度和计算成本。 通过改变关于正则化参数λ和τ来对模型进行调整,最后用均方根误差(RMSE)和传感器稀疏性(χ/M)来衡量调整后模型的性能。该文献中的实验对传感器参数进行调整如下:

 

结果分析:

图a中可以看出RMSE的最小值出现在λ=1×10−4和τ=0.9的参数设置处,这表明在这个参数组合下,模型的预测误差最小,即模型性能最优。

图b中可以看出随着λ的增加(即正则化强度的增加),传感器的稀疏性也增加。

最终结果是找到一个平衡点——模型不仅预测误差最小,而且能在一定程度上实现传感器的选择,从而降低模型的复杂度和计算成本

总结

文献先介绍PM_{2.5}预测背景引出研究,回顾相关工作后阐述理论基础,接着说明动态预训练和传感器选择等方法,再呈现实验结果,最后讨论并展望未来。特点是采用动态预训练和传感器选择技术。优势在于提升PM_{2.5}预测精度、降低计算成本。用于空气质量预测领域,因PM_{2.5}对健康和环境影响大。实验表明其在RMSE等指标上优于传统方法。未来可改进预训练和传感器选择技术,拓展应用范围。  

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Yolo图片标注的一些问题

1.标注工具的选择 在img.net和瑞芯微的双重加持下&#xff0c;现在的计算机视觉识别已经在各行业快速推进。进行自行标注时&#xff0c;首先遇到的问题就是标注工具的选择问题&#xff0c;标注工具不需要自己手工完成——也没有必要。类似这样的通用需求&#xff0c;交给专业…

排错 -- 用React.js,Solidity,智能合约构建最新区块链应用

真枪实弹:第一个Web3项目【上集】用React.js,Solidity,智能合约构建最新区块链应用详细教程 构建web跟随b站教程中遇到了很多错误&#xff0c;从今天开始构建完整的应用&#xff0c;在此记录一些排错。 问题情况1&#xff1a;跟随视频后无Src文件 问题情况1解决方法&#xff1…

杂记:下载了BootLoader和APP到程序中无反应

杂记&#xff1a;下载了BootLoader和APP到程序中无反应 是因为采用了printf输出打印。占用了大量堆栈导致程序运行异常。并且没有打开Use MicroLIB库的话会导致无法启动程序。 解决办法&#xff1a; 1、关闭printf打印。 2、如果不关闭printf打印&#xff0c;则加大Heap_Size…

Unet 改进:引入残差模块ResidualBlock

目录 1. ResidualBlock 2. UNet 引入残差模块 Tips:融入模块后的网络经过测试,可以直接使用,设置好输入和输出的图片维度即可 1. ResidualBlock 残差连接(Residual Connection)是深度学习中一种重要的技术,主要用于解决深层网络训练中的梯度消失和网络退化问题。它首次…

对接DeepSeek

其实&#xff0c;整个对接过程很简单&#xff0c;就四步&#xff0c;获取key&#xff0c;找到接口文档&#xff0c;接口测试&#xff0c;代码对接。 获取 KEY https://platform.deepseek.com/transactions 直接付款就是了&#xff08;现在官网暂停充值2025年2月7日&#xff0…

【基于SprintBoot+Mybatis+Mysql】电脑商城项目之上传头像和新增收货地址

&#x1f9f8;安清h&#xff1a;个人主页 &#x1f3a5;个人专栏&#xff1a;【Spring篇】【计算机网络】【Mybatis篇】 &#x1f6a6;作者简介&#xff1a;一个有趣爱睡觉的intp&#xff0c;期待和更多人分享自己所学知识的真诚大学生。 目录 &#x1f680;1.上传头像 -持久…

【大模型】硅基流动对接DeepSeek使用详解

目录 一、前言 二、硅基流动介绍 2.1 硅基流动平台介绍 2.1.1 平台是做什么的 2.2 主要特点与功能 2.2.1 适用场景 三、硅基流动快速使用 3.1 账户注册 3.2 token获取 3.2.1 获取token技巧 四、Cherry-Studio对接DeepSeek 4.1 获取 Cherry-Studio 4.2 Cherry-Stud…

告别2023~2024

时间过得真快&#xff0c;距离上次写作2年多了。2023年&#xff5e;2024年的这两年时光里经历太多人生大事&#xff1a; 房贷&#xff0c;提前还贷买车&#xff0c;全款拿下租房搬家媳妇怀孕&#xff0c;独自照顾&#xff0c;……老人离世开盲盒喜提千金&#xff0c;百岁宴&am…

基于yolov11的阿尔兹海默症严重程度检测系统python源码+onnx模型+评估指标曲线+精美GUI界面

【算法介绍】 基于YOLOv11的阿尔兹海默症严重程度检测系统是一种创新的医疗辅助工具&#xff0c;旨在通过先进的计算机视觉技术提高阿尔兹海默症的早期诊断和病情监测效率。阿尔兹海默症是一种渐进性的神经退行性疾病&#xff0c;通常表现为认知障碍、记忆丧失和语言障碍等症状…

2025我的第二次社招,写在春招之季

先说一个好消息&#xff0c;C那些事 4w star了&#xff01; 前面断更了一个月&#xff0c;本篇文章就可以看到原因&#xff0c;哈哈。 大家好&#xff0c;我叫光城&#xff0c;腾讯实习转正做后端开发&#xff0c;后去小公司做数据库内核&#xff0c;经过这几年的成长与积累&am…

使用Docker + Ollama在Ubuntu中部署deepseek

1、安装docker 这里建议用docker来部署&#xff0c;方便简单 安装教程需要自己找详细的&#xff0c;会用到跳过 如果你没有安装 Docker&#xff0c;可以按照以下步骤安装&#xff1a; sudo apt update sudo apt install apt-transport-https ca-certificates curl software-p…

Java集合List详解(带脑图)

允许重复元素&#xff0c;有序。常见的实现类有 ArrayList、LinkedList、Vector。 ArrayList ArrayList 是在 Java 编程中常用的集合类之一&#xff0c;它提供了便捷的数组操作&#xff0c;并在动态性、灵活性和性能方面取得了平衡。如果需要频繁在中间插入和删除元素&#xf…

【config目录】SpringBoot应用配置存放的地方

application.properties之前总是存放于默认的resources目录下&#xff0c;现在想想其实是不合适的&#xff0c;上线后其实这个配置是需要更改的&#xff0c;因此我们不要打包到jar包中。 根据SpringBoot应用配置查找规则&#xff0c;如果在jar包中resources目录查找不到的话&a…

洛谷 B3616 【模板】队列

B3616 【模板】队列 - 洛谷 | 计算机科学教育新生态 题目描述 请你实现一个队列&#xff08;queue&#xff09;&#xff0c;支持如下操作&#xff1a; push(x)&#xff1a;向队列中加入一个数 x。pop()&#xff1a;将队首弹出。如果此时队列为空&#xff0c;则不进行弹出操作…

布丁扫描:手机扫描的纯净之选

在众多手机扫描软件中&#xff0c;布丁扫描凭借其纯粹的使用体验脱颖而出。它是一款功能强大且完全免费的手机端扫描工具&#xff0c;没有任何广告干扰&#xff0c;用户可以畅享纯净的使用过程。更值得一提的是&#xff0c;布丁扫描从未设置过充值入口&#xff0c;也不会在扫描…

2025 CCF BDCI|“基于TPU平台的OCR模型性能优化”一等奖作品

2024年12月&#xff0c;中国计算机学会在海南博鳌成功举办了第十二届CCF大数据与计算智能大赛&#xff08;简称2024 CCF BDCI&#xff09;。本届比赛的算能赛道吸引了1748名选手报名&#xff0c;经过激烈角逐&#xff0c;北京航空航天大学的“常务副SOTA”团队脱颖而出&#xf…

22.[前端开发]Day22-CSS单位-CSS预处理器-移动端视口

1 CSS常见单位详解 CSS中的单位 CSS中的绝对单位&#xff08; Absolute length units &#xff09; CSS中的相对单位&#xff08; Relative length units &#xff09; 1.em: 相对自己的font-size&#xff1b;如果自己没有设置, 那么会继承父元素的font-size 2.如果font-size中…

网站改HTTPS方法

默认的网站建设好后打开的样子那看起来像是钓鱼网站&#xff0c;现在的浏览器特别只能&#xff0c;就是你新买来的电脑默认的浏览器同样也会出现这样“不安全”提示。 传输协议启动了向全球用户安全传输网页内容的流程。然而&#xff0c;随着HTTPS的推出&#xff0c;传输协议通…

MySQL的底层原理与架构

前言 了解MySQL的架构和原理对于很多的后续很多的操作会有很大的帮助与理解。并且很多知识都与底层架构相关联。 了解MySQL架构 通过上面的架构图可以得知&#xff0c;Server层中主要由 连接器、查询缓存、解析器/分析器、优化器、执行器 几部分组成的&#xff0c;下面将主要…

极客说|利用 Azure AI Agent Service 创建自定义 VS Code Chat participant

作者&#xff1a;卢建晖 - 微软高级云技术布道师 「极客说」 是一档专注 AI 时代开发者分享的专栏&#xff0c;我们邀请来自微软以及技术社区专家&#xff0c;带来最前沿的技术干货与实践经验。在这里&#xff0c;您将看到深度教程、最佳实践和创新解决方案。关注「极客说」&a…