首页 > 编程语言 >Python基于TensorFlow实现卷积神经网络-双向长短时记忆循环神经网络加注意力机制回归模型(CNN-BiLSTM-Attention回归算法)项目实战

Python基于TensorFlow实现卷积神经网络-双向长短时记忆循环神经网络加注意力机制回归模型(CNN-BiLSTM-Attention回归算法)项目实战

时间:2024-10-31 21:20:43浏览次数:6  
标签:Attention BiLSTM 回归 短时记忆 神经网络 CNN 数据 模型

说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后关注获取。

1.项目背景

随着大数据时代的到来,对复杂数据结构的理解和预测成为许多领域的重要课题。在这些领域中,无论是视频分析、语音识别还是自然语言处理,都面临着需要处理大量时序数据的问题。传统的机器学习方法往往难以有效地捕捉到数据中的长短期依赖关系,而深度学习技术,尤其是卷积神经网络(CNN)和长短时记忆网络(LSTM)的出现,则极大地提升了我们在处理这类问题上的能力。

CNN擅长提取图像或序列数据的空间特征,而LSTM则能有效地捕捉序列数据的时间依赖性。但是单一的CNN或者LSTM在处理某些特定任务时可能存在局限性,比如在视频动作识别中,不仅要理解每个单独的帧,还要理解帧与帧之间的动态变化;在自然语言处理中,不仅要理解句子中的词汇,还需要理解词汇之间的语义关系。因此,将CNN与BiLSTM(双向LSTM)结合起来,可以更全面地理解输入数据。

此外,注意力机制(Attention Mechanism)的引入进一步增强了模型的能力,使得模型可以关注输入序列中最相关的部分,忽略不相关的细节,从而提升模型的解释能力和泛化能力。

本项目旨在开发一种结合了CNN、BiLSTM以及注意力机制的回归模型,利用TensorFlow框架实现该模型,并针对具体的应用场景(如股票价格预测、天气预报等)进行训练和验证。通过这种集成方法,我们希望解决传统方法难以应对的问题,并提供更为精确的预测结果。。 

本项目通过Python基于TensorFlow实现卷积神经网络-双向长短时记忆循环神经网络加注意力机制回归模型(CNN-BiLSTM-Attention回归算法)项目实战。    

2.数据获取

本次建模数据来源于网络(本项目撰写人整理而成),数据项统计如下:

编号 

变量名称

描述

1

x1

2

x2

3

x3

4

x4

5

x5

6

x6

7

x7

8

x8

9

x9

10

x10

11

y

因变量

数据详情如下(部分展示):

3.数据预处理

3.1 用Pandas工具查看数据

使用Pandas工具的head()方法查看前五行数据:

关键代码:

3.2数据缺失查看

使用Pandas工具的info()方法查看数据信息:

从上图可以看到,总共有11个变量,数据中无缺失值,共2000条数据。

关键代码: 

3.3数据描述性统计

通过Pandas工具的describe()方法来查看数据的平均值、标准差、最小值、分位数、最大值。

关键代码如下:  

4.探索性数据分析

4.1 y变量分布直方图

用Matplotlib工具的hist()方法绘制直方图:

4.2 相关性分析

从上图中可以看到,数值越大相关性越强,正值是正相关、负值是负相关。

5.特征工程

5.1 建立特征数据和标签数据

关键代码如下:

5.2 数据集拆分

通过train_test_split()方法按照80%训练集、20%测试集进行划分,关键代码如下:

5.3 数据样本增维

数据样本增加维度后的数据形状:

6.构建卷积神经网络-双向长短时记忆循环神经网络加注意力机制回归模型  

主要使用CNN-BiLSTM-Attention回归算法,用于目标回归。    

6.1 构建模型  

编号

模型名称

参数

1

CNN-BiLSTM-Attention回归模型 

units=200

2

epochs=150

3

filters=5

4

initializer=random_normal

6.2 模型摘要信息

6.3 模型网络结构

6.4 模型训练集测试集损失曲线图

7.模型评估

7.1评估指标及结果  

评估指标主要包括R方、均方误差、解释性方差、绝对误差等等。

模型名称

指标名称

指标值

测试集

CNN-BiLSTM-Attention回归模型 

R方

0.9678

均方误差

1092.9128

解释方差分

0.968

绝对误差

23.5584 

从上表可以看出,R方分值为0.9678,说明模型效果比较好。 

关键代码如下:   

  

7.2 真实值与预测值对比图

从上图可以看出真实值和预测值波动基本一致,模型效果良好。   

8.结论与展望

综上所述,本文采用了CNN-BiLSTM-Attention回归算法来构建回归模型,最终证明了我们提出的模型效果良好。此模型可用于日常产品的预测。 

标签:Attention,BiLSTM,回归,短时记忆,神经网络,CNN,数据,模型
From: https://blog.csdn.net/weixin_42163563/article/details/143417561

相关文章

  • 【小白学机器学习26】 极大似然估计,K2检验,logit逻辑回归(对数回归)(未完成----)
    目录1先从一个例题出来,预期值和现实值的差异怎么评价?1.1这样一个问题1.2我们的一般分析1.3用到的关键点11.4但是差距多远,算是远呢?2极大似然估计2.1极大似然估计的目的2.1.1 极大似然估计要解决什么问题?2.1.2 极大似然估计的原则:2.2什么是极大似然估计?2.2......
  • orange橙现智能回归问题
    实验介绍:橙现智能是一款可视化,无编程,无门槛的免费人工智能软件。机器也可以学习,机器学习可以简单理解成总结经验,发现规律,掌握规则,预测未来。一:软件的安装中文版本下载地址https://pan.baidu.com/s/1TaYQd5rAzbemBW0EFbNNZA?pwd=8ekr 提取码:8ekr概念先按下不表,我们直接从......
  • Python深度学习进阶与前沿应用(注意力机制详解、生成式模型详解、自监督学习模型详解、
    近年来,伴随着以卷积神经网络(CNN)为代表的深度学习的快速发展,人工智能迈入了第三次发展浪潮,AI技术在各个领域中的应用越来越广泛。注意力机制、Transformer模型(BERT、GPT-1/2/3/3.5/4、DETR、ViT、SwinTransformer等)、生成式模型(变分自编码器VAE、生成式对抗网络GAN、扩散模型Di......
  • 《神经网络、机器学习和深度学习:开启智能时代的三把密钥》
    神经网络、机器学习和深度学习是人工智能领域中非常重要的概念,它们之间既有联系又有区别。神经网络原理神经元模型:神经网络的灵感来源于人类大脑的神经元结构。在人工神经网络中,每个神经元接收来自其他神经元或输入层的多个输入信号,并对这些输入进行加权求和。每个输入......
  • 让卷积神经网络来辨识马和人
    上一篇:《设计卷积神经网络CNN为什么不是编程?》序言:我们已经踏入了设计人工智能(AI)模型的大门,有一个重要概念请大家务必记住:人工智能模型=架构+特征。任何一个AI模型都是先设计出架构,再通过数据训练获得特征。整合了特征的架构才算是一个完整的人工智能模型,如果没有特征的支撑......
  • 2024年信号处理与神经网络应用国际学术会议(SPNNA 2024) 2024 International Conferenc
    @目录一、会议详情二、重要信息三、大会介绍四、出席嘉宾五、征稿主题六、咨询一、会议详情二、重要信息大会官网:https://ais.cn/u/vEbMBz提交检索:EICompendex、IEEEXplore、Scopus三、大会介绍2024年信号处理与神经网络应用国际学术会议(SPNNA2024)将于2024年12月13日......
  • 2024_10_30_2_hyperNeat进化神经网络算法
    原文地址:HyperNEATExplained:AdvancingNeuroevolutionExpandingNeuroEvolutionLastweek,IwroteanarticleaboutNEAT(NeuroEvolutionofAugmentingTopologies)andwediscussedalotofthecoolthingsthatsurroundedthealgorithm.Wealsobrieflytouc......
  • Pytorch学习--神经网络--线性层及其他层
    一、正则化层torch.nn.BatchNorm2dtorch.nn.BatchNorm2d(num_features,eps=1e-05,momentum=0.1,affine=True,track_running_stats=True,device=None,dtype=None)正则化的意义:加速训练收敛:在每一层网络的输入上执行批量归一化可以保持数据的分布稳定,从而减小梯度......
  • 【图神经网络】 AM-GCN论文精讲(全网最细致篇)
    AM-GCN网络系列论文精讲部分0.摘要1.引言2.融合能力的GCNs:一项实验研究2.1案例1:随机拓扑结构和相关节点特征2.2案例2:相关拓扑结构和随机节点特征3.AM-GCN:提出的模型3.1特定卷积模块3.2共享卷积模块3.3注意力机制3.4目标函数3.4.1一致性约束3.4.2差异性约......
  • 【机器学习篇】线性回归和逻辑回归详解
    一、线性回归定义:线性回归是一种利用数理统计中的回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。它试图找到一个最佳的线性方程,以描述自变量(输入特征)和因变量(目标变量)之间的关系。表达式:一元线性回归的表达式为y=mx+c,其中y是因变量,x是自变量,m......