基于改进交叉熵损失函数与Transformer的心电信号高风险分类研究

导读:

在心血管疾病早期筛查过程中,能够有效检测出心电信号中高风险部分对于防止患者发生心跳骤停有重大作用,在此背景下,我们利用PhysioNet带有高风险标签的心电图小片段数据集(ECG Fragment Database with High-Risk Labels, v1.0.0)进行研究,提出了一种基于随机森林特征选择以及 Transformer 分类器的心电图高风险分类算法同时提出一种新的交叉熵损失函数ECGLoss。此损失函数包括焦点损失以及置信度惩罚两部分:焦点损失通过对权重放大难以区分样本梯度影响,置信度惩罚给低置信度正确分类增加约束,使网络更关注边缘样本分类。使用5折分层交叉验证评价此模型性能,在ECGLoss与普通交叉熵损失之间比较两者分类准确率及收敛速度。实验结果显示,提出的ECGLoss比普通的交叉熵损失有更高的分类准确率,说明此损失函数对于心电信号高危分类是有效的。

作者信息:

李嘉言:北京工商大学数学与统计学院,北京

论文详情

本文采用的数据集是来自 PhysioNet 的带有高风险标签的心电图片段数据(ECG Fragment Database with High-Risk Labels, v1.0.0)。此数据集共有 537 段心电信号,其中高风险样本有 337 个(占 62.8%),低 风险样本有 200 个(占 37.2%),每个样本有 21 个数值型特征以及一个二分类标签。见表 1。

我们提出了 ECGLoss,由焦点损失项以及置信度惩罚项构成:

ECGLoss 具有 4 个超参数,每个参数的作用以及推荐设置见表 2。

采用 5 折分层交叉验证划分数据集保证每一折内各类别比例与整体数据集相同;基于全部特征进行 随机森林(n_estimators = 100)训练之后根据 Gini 重要性由大到小选取最前面的 20 个特征。前五类重要指标如图 1 所示:

本文所使用的 Transformer 分类器结构见表 3,训练参数详见表 4。

表 5 给出了 ECGLoss 和标准交叉熵损失在测试集上分类效果比较。

图 2 是两类损失函 数的分类指标对比。

图 3 给出了 ECGLoss 在测试集上混淆矩阵。

图 4 是两种损失函数在训练过程中所对应的损失的变化情况,在第 11 轮时标准交叉熵损失在测试集上的准确率为 97.22%,训练损失下降到一定程度后不再下降并且触发早停,在第 38 轮时 ECGLoss 在测试集上准确率为 98.15%。

为了考察 ECGLoss 的鲁棒性,我们在两个重要的超参数即置信度阈值 τ 以及惩罚权重 λ 上做了敏感性实验。在实验中我们通过改变一个参数同时保持另一个参数不变来进行实验,然后记录下每次实验得到的平均 Validation Loss、Accuracy 和 F1-score 以及它们的标准差来判断模型性能的稳定性。

由表 6 所示的结果我们可以看出,ECGLoss 对于这两个超参数而言具有良好的鲁棒性。

从实验效果上看,ECGLoss 相对于普通的交叉熵损失有两个方面的提升。一个是对分类准确率提高,准确率以及 F1 都提高了大约 1%,而且假负例也显著下降;另一个是训练更加稳定,在测试集上的损失曲线比较平稳并且没有明显的过拟合现象。 ECGLoss 缺陷是收敛速度慢,需要接近四倍的时间才能获得最优效果,这是由于置信度惩罚增加优化难度造成的,在使用时可以调节 λ 和 τ 以取得较好效果。

原文链接:

https://doi.org/10.12677/csa.2026.166222

相关推荐
Jerry1 小时前
LeetCode 349. 两个数组的交集
算法
YuK.W2 小时前
Leetcode100: 70.爬楼梯、118.杨辉三角、198.打家劫舍
java·算法·leetcode
随意起个昵称2 小时前
状压dp-基础题目2([USACO12MAR] Cows in a Skyscraper G)
c++·算法·动态规划
Jerry3 小时前
LeetCode 1002. 查找共用字符
算法
番茄育学园3 小时前
我的三款主流云存储音乐库实测笔记
笔记·分类·媒体
无限的鲜花4 小时前
协程本质是函数加状态机——零基础深入浅出 C++20 协程
c++·算法·c++20
旖-旎4 小时前
《LeetCode 64 最小路径和 || LeetCode 174 地下城游戏》
c++·算法·leetcode·动态规划
森林古猿14 小时前
再论斜率优化
c++·学习·算法
万法若空4 小时前
【数学-简单数论】同余中的逆
线性代数·算法