基于双向长短时记忆网络的ECG心电信号识别(包括原始时域信号与时频域特征提取,MATLAB R2021B)

循环神经网络RNN,是一种链式结构,能够对连续输入的序列同时处理,且有不错的效果。RNN具有记忆功能且能够随时接受并处理输入数据,这得益于其特殊的连接方式,即神经元之间以一定的方向互相连接构成环,内部时序状态即时展现。RNN因这种特殊的结构在自然语言处理中得以广泛应用,尤其是在翻译、语音识别和图像处理等领域有更明显的优势。RNN网络结构能够利用历史信息的前提是距离不能太远,在距离较远时记忆效果不理想,同时梯度消失和梯度爆炸问题也会随之产生。

RNN模型理论上可以很好地解决序列问题,但是信息源经长途跋涉进行传输时梯度消失和梯度爆炸问题也不容忽视,这个问题随着输入序列的长度增加愈演愈烈。为了解决RNN的这一缺陷,随之衍生出了其变种网络模型,即长短期记忆网络模型LSTM,它是一种特殊的RNN模型,在一定程度上能很好的解决RNN模型所存在的问题,LSTM模型多了三个控制器,通过三个控制器解决了梯度问题。

LSTM模型所记忆的信息都来自于过去,为了充分获得未来信息,提出了能够更全面挖掘深层语义信息的BiLSTM。BiLSTM模型由两个不同方向的LSTM叠加构成,因此可以从两个方向同时得到信息,和LSTM相比较BiLSTM的信息提取能力更强。

鉴于此,采用双向长短时记忆网络对ECG心电信号进行识别,运行环境为MATLAB R2021B,采用两种输入,一种是原始时域信号,一种是特征提取后的特征向量(瞬时频率特征[instantaneous frequency]和谱熵特征[Spectral entropy] ),原始时域信号输入的网络结构为:

复制代码
layers = [ ...    sequenceInputLayer(1)    bilstmLayer(100,'OutputMode','last')    fullyConnectedLayer(2)    softmaxLayer    classificationLayer    ]

特征提取后输入的网络结构为:

复制代码
layers = [ ...    sequenceInputLayer(2)    bilstmLayer(100,'OutputMode','last')    fullyConnectedLayer(2)    softmaxLayer​​​​​​​    classificationLayer    ]

完整代码可通过知乎学术咨询获得.

工学博士,担任《Mechanical System and Signal Processing》《中国电机工程学报》《控制与决策》等期刊审稿专家,擅长领域:现代信号处理,机器学习,深度学习,数字孪生,时间序列分析,设备缺陷检测、设备异常检测、设备智能故障诊断与健康管理PHM等。

相关推荐
s09071361 分钟前
紧凑型3D成像声纳实现路径
算法·3d·声呐·前视多波束
麦麦鸡腿堡2 分钟前
Java_类的加载
java·开发语言
我命由我123452 分钟前
VSCode - Prettier 配置格式化的单行长度
开发语言·前端·ide·vscode·前端框架·编辑器·学习方法
可爱的小小小狼3 分钟前
算法:二叉树遍历
算法
JIngJaneIL11 分钟前
基于java + vue校园快递物流管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js
超级大只老咪15 分钟前
数组的正向存储VS反向存储(Java)
java·开发语言·python
柏木乃一15 分钟前
进程(2)进程概念与基本操作
linux·服务器·开发语言·性能优化·shell·进程
毕设源码-赖学姐20 分钟前
【开题答辩全过程】以 基于JSP的物流信息网的设计与实现为例,包含答辩的问题和答案
java·开发语言
Honmaple20 分钟前
Spring AI 2.x 发布:全面拥抱 Java 21,Redis 史诗级增强
java·人工智能·spring
古城小栈21 分钟前
区块链 + AI:医疗诊断模型存证上链技术实践与探索
人工智能·区块链