基于双向长短时记忆网络的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等。

相关推荐
有意义1 分钟前
栈数据结构全解析:从实现原理到 LeetCode 实战
javascript·算法·编程语言
鹿鹿鹿鹿isNotDefined6 分钟前
逐步手写,实现符合 Promise A+ 规范的 Promise
前端·javascript·算法
氵文大师12 分钟前
A机通过 python -m http.server 下载B机的文件
linux·开发语言·python·http
封奚泽优24 分钟前
下降算法(Python实现)
开发语言·python·算法
im_AMBER31 分钟前
算法笔记 16 二分搜索算法
c++·笔记·学习·算法
高洁0133 分钟前
【无标具身智能-多任务与元学习】
神经网络·算法·aigc·transformer·知识图谱
技术支持者python,php33 分钟前
训练模型,物体识别(opencv)
人工智能·opencv·计算机视觉
爱笑的眼睛1136 分钟前
深入理解MongoDB PyMongo API:从基础到高级实战
java·人工智能·python·ai
笃行客从不躺平1 小时前
遇到大SQL怎么处理
java·开发语言·数据库·sql
郝学胜-神的一滴1 小时前
Python中常见的内置类型
开发语言·python·程序人生·个人开发