1.一种基于持续测试时间适应的心率失常分类方法,其特征在于,包括以下步骤:
S1、获取ECG数据生成数据集,通过数据集自身标注的Q峰位置采集心拍,使用ECGGAN生成小类样本扩充数据集,将一维ECG心电数据转换成二维ECG图像,划分数据集;
S2、搭建训练阶段的卷积神经网络模型;
S3、初始化卷积神经网络模型参数,将预处理后的MITdb数据集输入到模型中进行预训练;
S4、对步骤S3训练后的卷积神经网络模型利用持续测试时间域适应方法更新权重,所述持续测试时间域适应方法包括权值平均伪标签、增强平均伪标签以及随机恢复源模型权重;经过更新后的卷积神经网络模型用于ECG分类;
上述步骤S4中权值平均伪标签具体值:使用学生模型权重通过指数移动平均来更新教师模型的权重来生成伪标签;设三个模型分别是预训练的源模型fθ,教师模型 和学生模型 在时间步t=0时,用源模型参数初始化教师模型和学生模型,在时间步t时,使用教师模型生成伪标签,然后求教师模型和学生模型预测的交叉熵损失 公式表达如下:式中,yt是教师模型预测各类的概率,ys是学生模型预测各类的概率;
反向传播更新学生模型的参数θs,更新完学生模型权重后(θs→θs+1),使用学生模型参数的指数移动平均来更新教师模型的权重(θt→θt+1),指数移动平均规则公式表达如下:θ′t+1=αθ′t+(1‑α)θt+1
式中,θ't+1表示时间步t+1时教师模型的参数,θt+1表示时间步t+1时学生模型的参数,α是指数移动平均的超参数平滑因子,取值为α=0.7,教师模型的输出概率yt中概率最大的类即为模型对于输入xt预测的类;
增强平均伪标签具体指:求出源模型fθ对于当前输入xt的熵值作为模型置信度,置信度计算公式表达如下:当模型置信度confidence(f_θ)大于置信度阈值0.9时,直接使用教师模型的预测y_t作为伪标签,而不使用任何数据增强,当置信度小于置信度阈值时,应用额外的N个随机增强来进一步提高伪标签质量,通过预测置信度,试图近似源和当前域之间的域差,假设较低的置信度表示较大的域差,而相对较高的置信度表示较小的域差,公示表达如下:式中, 是教师模型经过数据增强后的预测,yt是教师模型不使用数据增强的预测,使用增强平均伪标签后,交叉熵损失更新后公式表达如下:随机恢复源模型权重公式表达如下:
Wt+1=(1‑T)*W0+T*Wt+1
T~Bernoulli(p)
式中,*表示两个矩阵之间的元素逐个相乘,p是随机恢复的概率,p设为0.99,T是符合伯努利分布的掩码张量,W代表模型的卷积层卷积核权重,W_0是源模型的卷积层卷积核权重,W_(t+1)是在时间步t+1时的卷积层卷积核权重。
2.根据权利要求1所述一种基于持续测试时间适应的心率失常分类方法,其特征在于,步骤S1中获取心律失常数据生成数据集,通过数据集自身标注的Q峰位置采集心拍具体指:采用MITdb心律失常数据库和MITst心律失常数据库作为数据集,MITdb数据集由47个不同受试者以360Hz采样率记录的心电图记录组成,MITdb包含了48条双导联ECG记录,除少数记录外,每条记录的第一个导联都是II导联,每条记录长度为30分钟,采样率360Hz,每条记录都有650000个采样点,MITst数据集包括28条不同长度的心电图记录,将心拍分成正常心拍、室上异位搏动和室性异位搏动,对应标签编码为0、1和2,将融合拍以及不可分类拍类的数据删除,根据数据集的Q峰所在的位置下标索引,然后以Q峰的位置为基准,向左包括150个点,向右包括100个点,将这一段数据截取出来作为心拍。
3.根据权利要求1所述一种基于持续测试时间适应的心率失常分类方法,其特征在于,步骤S1中使用ECGGAN生成小类样本扩充数据集,将一维ECG心电数据转换成二维ECG图像,划分数据集具体值:设计一个适用于ECG数据集的GAN,包括生成器G和判别器D,在训练过程中,G和D相互对抗,相互学习,训练3000轮后,G生成的样本输入到D中,D完全无法判断该样本是真实样本还是生成样本时,此时表示G生成的样本非常接近真实样本,结束训练,保存G的模型参数用于批量生成小类样本扩充数据集;将一维ECG心电数据通过Matplotlib绘图工具绘制成二维ECG图像,为MITdb数据集重新打上标签并打乱重排,将MITdb数据集分为训练集和验证集,取前70%的数据作为训练集,后30%的数据作为验证集。
4.根据权利要求1所述一种基于持续测试时间适应的心率失常分类方法,其特征在于,步骤S2中的卷积神经网络包括六个卷积层、六个批量归一化层、三个做大池化层、一个Flatten层以及两个线性层。
5.根据权利要求1所述一种基于持续测试时间适应的心率失常分类方法,其特征在于,步骤S3包括以下步骤:S31、设置模型学习率为10^(‑3),样本批次大小为128,迭代次数为30,使用SGD优化学习率,动量系数为0.7,权值衰减为10^(‑4),损失函数使用交叉熵;
S32、将预处理后的MITdb数据集输入到模型中,首先初始化模型参数,然后开始训练模型,损失函数的值越来越小直到收敛时,此时初始化的参数会随着发生变化,保存变化后的参数,将经过预训练后的卷积神经网络模型作为源模型;
S33、将训练好的模型保存,在进行ECG分类任务时,直接将训练好的卷积神经网络模型参数作为ECG分类任务的初始化参数。