本文介绍了一种基于深度学习的特征选择方法,该方法利用神经网络损失函数相对于输入特征的梯度,识别并优先筛选出对肺癌分期检测影响最显著的特征。
方法文章
本文介绍了一种基于深度学习的特征选择方法,该方法利用神经网络损失函数相对于输入特征的梯度,识别并优先筛选出对肺癌分期检测影响最显著的特征。
影像组学能够从医学影像中提取定量的成像生物标志物,已成为计算机辅助癌症诊断的重要工具。然而,影像组学数据集通常具有高维特征且样本量有限,使得特征选择成为构建可靠预测模型的关键步骤。本研究提出一种基于梯度损失的递归特征消除(GL-RFE)框架,该框架结合深度神经网络的梯度敏感性分析,以识别对肺癌分期检测最具影响力的影像组学特征。利用3D Slicer平台的PyRadiomics扩展工具,从胸部计算机断层扫描(CT)图像中提取了共计106个影像组学特征。所提出的方法通过计算网络损失相对于输入特征的梯度来评估特征重要性,并递归地剔除贡献最小的特征。最终筛选出的前15个影像组学特征被用于训练深度神经网络分类器,以区分早期和晚期肺癌。该框架在测试数据集上表现出优异的分类性能,准确率达到90.22%,精确率为90.10%,召回率为90.24%,F1分数为90.16%。可视化分析(包括相关性热图和分布图)进一步证实了特征冗余的降低以及类别可分性的提升。与传统特征选择方法相比,GL-RFE能有效捕捉非线性特征交互关系,并增强模型的泛化能力。本文提供的方案为基于影像组学的癌症分期检测提供了一种可重复且可解释的方法学框架,特别适用于高维小样本的生物医学数据集,在基因组学及多模态临床分析等其他领域也具有潜在应用价值。
肺癌仍然是主要的癌症类型之一,常引发严重的健康问题,并导致死亡1。放射组学通过提取大量描述肿瘤形态、纹理和强度模式的特征,实现对医学影像的定量表征2,3。这些特征也被称为手工设计特征,可作为肺癌诊断、预后评估和治疗反应的潜在生物标志物。然而,放射组学数据集通常具有高维性和样本量有限的特点,导致特征冗余和噪声,从而降低模型性能4,5,6,7。因此,高效且可解释的特征选择对于构建稳健的基于放射组学的预测模型至关重要。
传统的特征选择方法,如过滤法(例如相关性分析、方差分析 [ANOVA]、互信息)和包装法(例如序列特征选择、递归特征消除),在基于放射组学的癌症检测模型中被广泛应用4,8,9。然而,这些方法通常难以捕捉放射组学数据中固有的非线性特征交互和深层上下文依赖关系9,10,11。尽管集成特征学习技术已被用于医学图像分类,但其准确率仍处于中等水平,尚有进一步提升的空间12。
深度学习方法,特别是深度神经网络(DNNs),在建模特征与结果之间的非线性及层次化关系方面表现出卓越能力,因此非常适用于指导特征选择并提供精确的癌症检测模型13,14。在此背景下,研究探索了使用卷积神经网络、多模态人工智能技术以及用于癌症诊断的预训练模型VCG-16的潜力1,15,16。提出了一种混合深度学习模型17,该模型结合了预训练的VGG-19模型和长短期记忆网络(LSTMs),并在大量图像上进行了训练和测试,准确率超过99%。
除了癌症检测外,研究人员还开展了关于癌症分期的研究。Hugo 等人18基于包含 300 名患者的非小细胞肺癌(NSCLC)数据库,设计了一种前馈神经网络模型,用于对 I、II 和 III 期癌症进行分类,在模型测试中准确率达到 74.52%。一项基于放射组学的贝叶斯反演方法3利用 NLST 数据集在 200 例样本上实现了肺癌分期检测,该方法的准确率达到 86%。文献综述表明,目前大多数关于癌症检测的研究仅专注于良性和恶性肿瘤的分类,仅有少数研究涉及癌症分期分类,且准确率均低于 90%,仍有提升空间。本研究针对上述研究空白,提出了一种基于放射组学特征的稳健分类框架,以实现精确的肺癌分期检测。
本研究引入了一种基于梯度损失的递归特征消除(GL-RFE)框架,将神经网络中的梯度反向传播整合到RFE过程中。与依赖静态特征重要性度量的传统RFE方法不同,GL-RFE利用损失函数相对于每个输入特征的梯度,来衡量各特征对模型预测的影响强度。通过迭代移除梯度贡献最小的特征,该模型实现了针对肺癌分期检测(将I期和II期合并为一类,IIIa期和IIIb期合并为另一类)优化的前15个诊断特征的选择。本研究的工作流程图见图1。所采用的肺癌数据集为NSCLC Radiomics19,包含411个数字医学影像与通信(DICOM)格式的影像体积,并附有临床癌症分期信息。使用PyRadiomics20(一款开源软件3D Slicer21的扩展工具)从每个肺癌DICOM影像体积中提取了共计106个3D放射组学特征。这些特征属于七个特征类别22,包括形状特征、灰度级差异方法(GLDM)、灰度共生矩阵(GLCM)、一阶特征、灰度游程长度矩阵(GLRLM)、灰度大小区域矩阵(GLSZM)以及邻域灰度差异矩阵(NGTDM)。对于少数类(I期和II期)的放射组学数据,采用合成少数类过采样技术(SMOTE)23进行过采样。
所提出的GL-RFE框架的新颖之处在于,将从神经网络训练中获得的基于梯度的敏感性分析整合到递归特征消除过程中。与依赖静态重要性度量的传统RFE方法不同,GL-RFE通过损失函数的反向传播梯度动态评估特征的相关性。这使得能够识别出直接影响癌症分期模型预测的特征,同时在相对较小的医学数据集上保持可解释性和计算可行性。
本研究所用的训练与测试数据集是一个公开可用的422例肺癌患者的CT图像数据集,名为NSCLC Radiomics17。对于每位患者,该数据集包含一个CT容积图像、一个DICOM放疗结构集(RTSTRUCT)以及一个DICOM分割(SEG)文件。这些文件包含由放射肿瘤学家手动勾画的原发性大体肿瘤容积(GTV-1)的三维容积,以及肺部图像。该数据集为预处理后的数据集,图像尺寸为512 × 512像素。
由于手工设计的放射组学特征具有非线性特性,这些特征无法直接用于深度学习模型进行癌症诊断,必须借助人工智能技术来捕捉其内在的数据模式。GL-RFE 根据模型损失函数 L 相对于每个输入特征 xi 的梯度大小对特征进行排序。
对于每个输入特征 xi,平均绝对梯度按如下方式计算:
(1)
其中,N 为样本总数。 Lj 是损失对于 jth 样本 xij 是 ith 特征 jth 样品
表示损失函数相对于输入特征的敏感性。
梯度幅值较低的特征对模型更新的影响极小,因此被递归地剔除。图 1 展示了使用多层感知机(MLP)剔除低梯度放射组学特征,并在前 15 个特征上训练深度学习神经网络(DNN)的建议工作流程。随后评估 GL-RFE 方法在特征选择中的性能。
上述结合GL–RFE方法的深度学习模型在Google Colab的Jupyter Notebook中实现,可在在线环境中编写和执行Python代码。需要下载协议步骤和材料中列出的不同软件包,以编译代码。根据“实验方案”部分所述方法,筛选出用于肺癌检测的前15个放射组学特征,并利用这些特征在测试数据集上实现准确的癌症检测。
访问受限。请登录或开始试用以查看此内容。
1. 使用 3D Slicer PyRadiomics 扩展提取放射组学特征
注意:以下步骤旨在使用 3D Slicer PyRadiomics 扩展程序计算肺部 CT DICOM 文件的放射组学特征,并将其保存为逗号分隔值(csv)格式的文件。
2. 使用 Python 库开发基于放射组学的癌症检测模型
注意:以下步骤概述了用户如何使用CT数据集的放射组学特征和Python库来开发、训练和测试癌症检测模型。
3. 运行 Jupyter 笔记本以构建和测试模型
访问受限。请登录或开始试用以查看此内容。
数据集概述
非小细胞肺癌放射组学数据集包含422例肺癌I期、II期和III期患者的CT图像数据。其中,早期癌症(I期和II期)的CT数据数量为134例,而晚期癌症(IIIa期和IIIb期)的数据样本为288例。该数据集存在显著的类别不平衡问题,晚期(III期)病例数量明显多于早期(I期和II期)病例。为解决这一不平衡问题,对提取的放射组学特征进行了过采样处理,以增加少数类别的样本代表性。结果表明,I期和II期样本数量显著增加,使得各类别之间的分布更加均衡,如表1所示。这一调整有助于确保对模型性能进行更可靠且无偏倚的评估。
放射组学特征提取
所提出框架的工作流程如图1所示。步骤1.4和1.5描述了在3D Slicer中加载CT体积数据和分割掩膜,并显示其配准对齐情况。上述两个步骤的结果如图2所示。随后,使用3D Slicer的Radiomics模块提...
访问受限。请登录或开始试用以查看此内容。
从准确率、召回率、精确率和F-1分数等评估指标的高数值可以看出,所提出框架的稳健性和可靠性24。在MLP训练过程中采用5折交叉验证,所有指标在测试数据上的表现均超过90%。
所提出的GL-RFE框架的性能与有效性进一步通过可视化技术得到支持。图7中的相关性热图25显示,最初提取的放射组学特征存在显著的特征间冗余,而所选择的特征子集则表现出明显降低的相关性,表明冗余信息被有效消除,特征独立性得到提升。此外,图8中的核密度估计(KDE)图26揭示了各类别特征的分布情况,显示多个被选特征在早期与晚期癌症组之间的重叠减少,突显其强大的判别能力。另外,在图9中进行了评估指标的雷达图分析
访问受限。请登录或开始试用以查看此内容。
作者声明不存在任何竞争性经济利益。
| 姓名 | 公司 | 目录编号 | 评论 |
|---|---|---|---|
| 3D Slicer 软件 | 官方网站 | 5.x | 用于放射组学分析的医学图像可视化、分割和感兴趣区域提取 |
| Imbalanced-learn 软件包 | PyPI | 0.11+ | 处理类别不平衡(例如 SMOTE) |
| Matplotlib 软件包 | PyPI | 3.x | 绘制训练曲线和特征重要性图 |
| NumPy 软件包 | PyPI | 1.26.x | 数值运算及特征矩阵处理 |
| Pandas 软件包 | PyPI | 2.x | 数据预处理与结构化数据集管理 |
| PyRadiomics 软件包 | PyPI | 3.x | 从 CT 图像中提取放射组学特征 |
| PyTorch 软件包 | PyPI | 2.x | 用于多层感知机和梯度计算的深度学习框架 |
| Scikit-learn 软件包 | PyPI | 1.3.x | 模型评估(准确率、精确率、召回率、F1 分数) |
| SciPy 软件包 | PyPI | 1.11+ | 统计分析与验证 |
| Seaborn 软件包 | PyPI | 0.13.x | 特征相关性分析的热图绘制 |
| Torch.nn 模块 | PyPI | 2.x | 神经网络架构(层、激活函数) |
| Torch.optim 模块 | PyPI | 2.x | 优化算法(例如 Adam) |
访问受限。请登录或开始试用以查看此内容。
申请许可以重复使用本 JoVE 文章的文本或图表
申请许可