本文首发于公众号「呼气试验」,此处为归档版本。

当下,科研人员正全力以赴地研发真正的无创医疗诊断系统,其中一项创新技术就是呼吸分析仪,它能检测多种疾病的生物标志物,比如糖尿病等。在糖尿病检测领域,丙酮是一个备受关注的生物标志物,但并非唯一指标,因此,精准地选择性地检测就显得尤为关键。

为了实现这一目标,目前市面上的呼出气体分析仪大多依赖于专业的气体传感器,这些传感器经过精心设计,旨在提高对呼出空气中糖尿病生物标志物的检测精度和选择性。

本文全面总结了使用不同测量系统、特征提取和选择方法,以及支持向量机、k-近邻算法和各种神经网络等先进技术在检测真实病人样本和模拟人工呼气样本中糖尿病生物标志物的研究成果。

1、导言

无创疾病检测方法日益成为研究的主题,研究人员尤其关注呼出气体的分析。最早关于利用呼气诊断疾病的报道来自希波克拉底时代,他根据病人口中发出的丙酮气味诊断出未控制的糖尿病和肝病。

呼出空气的主要成分是氮气(78%-79%)、氧气(13%-16%)和二氧化碳(4%)。呼出气体的其余部分由挥发性有机化合物(VOC)组成。吸入和呼出空气的成分如图 1 所示。

科学家们从呼气样本中已发现超过3000种挥发性有机化合物,但由于浓度极低且测量手段多样,每次呼气中具体有哪些化合物并不完全确定。不同研究团队报告的数量差异显著,如Phillips团队发现204种,Smolinska团队则报告300-500种,而Barash团队更是发现了500多种。

呼气成分还受到饮食和疾病的影响,增加了分析的难度。这些挥发性有机化合物分为外源性和内源性两类,前者来自外部环境,如空气污染、香烟烟雾、药物和饮食;后者由体内细胞产生,可作为疾病的生物标志物。这些生物标志物对诊断疾病、预测风险、监测治疗过程至关重要。

然而,由于呼出空气中的这些化合物浓度极低,研究人员建议使用预浓缩器来提高检测精度,但这也使得分析过程更为复杂,需考虑更多因素。表 1 列出了呼吸中的部分疾病生物标志物。

表 1. 呼吸中潜在的疾病生物标志物

疾病

生物标志物

糖尿病

丙酮

糖尿病

异戊二烯

哮喘

一氧化氮

囊性纤维化

氰化氢

肺癌

VOC模式

慢性肾脏疾病

三甲胺

结直肠癌

甲烷

心肌梗塞

戊烷

阻塞性睡眠呼吸暂停

戊烷和氮氧化物

肾功能衰竭

全球糖尿病形势严峻,世卫组织数据显示,每年有超5亿患者,致死人数超160万,且患者人数持续增长。国际糖尿病联合会报告指出,2009年至2021年间,成人糖尿病患者数量激增16%,预计2045年将突破7.83亿,近半数患者未获诊断。

胰岛素的发现是糖尿病治疗的一大里程碑,将这一致命疾病转为慢性疾病。而今,无创糖尿病治疗与管理方法成为新追求,呼气分析备受瞩目。本文旨在回顾评估检测呼出气体中糖尿病的算法有效性。用于设计呼气分析设备的总图如图 2 所示。

图2 呼吸分析设备设计中使用的总图。

2、糖尿病

糖尿病(DM)是一种与胰岛素分泌和/或功能受损有关的慢性代谢疾病。糖尿病有多种类型,但最常见的是 1 型、2 型和妊娠糖尿病。90%的病例可查出 2 型糖尿病。糖尿病表现为高血糖、多尿、多饮、体重减轻(有时伴有多食)和视力模糊。如不及时治疗,会导致循环系统、神经系统和视觉系统出现多种并发症,还会出现糖尿病足。因此,必须进行筛查,以便尽早发现疾病并开始治疗。

由于利用呼出的空气进行糖尿病无创检测具有很大的潜力,研究人员对糖尿病患者和健康人的呼气样本进行了比较,以确定两者之间的差异,并筛选出潜在的糖尿病生物标记物。长期以来,大多数研究都集中在呼出空气中丙酮与糖尿病的相关性上。包括呼出空气成分比较在内的大量研究表明,糖尿病患者呼出空气中的丙酮浓度增加。呼出空气中丙酮的生化来源及其与糖尿病的代谢关系现已为人所知。

如图 3 所示,当人体产生过量乙酰-CoA 时,呼出的空气中就会出现丙酮。

图 3:丙酮的生物合成

如表2所示,根据文献综述,呼出的丙酮浓度范围在 0.176-25 ppm 之间。尽管健康人呼气中的丙酮浓度低于糖尿病患者。

表 2. 健康样本和糖尿病样本中的丙酮浓度

3. 数据采集系统

3.1. 气体取样方法

气体采样程序是呼出气体分析的关键要素。一般来说,它可分为直接法和间接法两类,而间接法是最常用的方法。在直接法中,气体样本直接呼入仪器,而在间接法中,气体样本被收集在专门设计的袋子中,例如 Tedlar ® 袋、带唾液和湿气过滤器的特氟隆密封袋以及氟化乙烯丙烯呼气气体收集袋。Tedlar ® 袋(Dupont de Nemours)由聚氟乙烯制成,是呼吸采样研究中最常用的袋子。人体肺部的空气由死亡气体组成,死亡气体的体积约为 150 毫升,肺泡体积约为 350 毫升。平均体型的健康男性静息时的呼吸分量如图 4 所示。

图 4. 平均体型的健康男性在静息状态下的呼吸分量

表 3 列出了不同的气体收集系统。

表 3. 气体收集方法

3.2. 呼出气体分析系统

目前,市场上有几种已知的商业设备(电子鼻系统)可用于根据呼出的气体诊断疾病,但没有一种设备可用于检测呼出气体中的糖尿病。最流行的有 FOX 4000(AlphaMOS,法国)、FAIMS 呼气分析仪(Owlstone Medical,英国)、Ketonix 蓝牙和 USB 无创呼气分析仪(Ketonix AB,瑞典)、便携式呼气丙酮测量仪 PBAM(Biosense™ Readout Health,美国)、Cyranose 电子鼻(Sensigent,美国)和 Keyto 呼吸传感器(Keyto,美国)。

通常情况下,呼气分析仪系统由多个对特定化合物敏感的市售传感器组成。此外,用于检测相对湿度和温度的传感器也被用于呼气分析仪中。表 4 列出了文献中报道的用于呼气分析仪检测糖尿病的最常用传感器。

表 4. 根据文献综述,用于检测糖尿病的呼气分析仪中最常用的传感器。

传感器

目标气体/测量值

TGS4161

二氧化碳

TGS822

挥发性有机化合物、氢气、一氧化碳等

TGS1820

丙酮

TGS8100

空气污染物

TGS2620

酒精、溶剂蒸汽

TGS825

硫化氢

TGS826

氨、挥发性有机化合物、氢

TGS2201

一氧化氮、二氧化氮

TGS821

氢气

TGS2602

挥发性有机化合物、氢、氨、硫化氢

MiCS-5524

挥发性有机化合物

MQ-2

丙烷、氢气、甲烷

MQ-3

酒精

MQ-5

氢、丙酮、一氧化碳、酒精

MQ-7

一氧化碳

MQ-9

一氧化碳

MQ-135

苯、氨、二氧化碳、一氧化氮

MQ-137

MQ-138

甲苯、丙酮、乙醇、甲醛

HTG3515CH

温度、相对湿度

DHT-22

温度、相对湿度

SHT85

温度、相对湿度

Honeywell HIH 4000–002

相对湿度

3.2.1. 金属氧化物半导体传感器

呼气分析中最常用的气体传感器是金属氧化物半导体(MOS)和温度调制 MOS(TM-MOS)传感器阵列,它们针对呼气分析系统的要求进行了专门优化,选择了对检测疾病的潜在生物标志物具有更高灵敏度和选择性的传感器。在与氧化性和还原性气体相互作用时,MOS 传感器的电阻会发生变化。与传统的 MOS 传感器相比,TM-MOS 传感器在呼吸分析仪中表现出更高的效率。

3.2.2. 聚合物传感器阵列

聚合物传感器由金属合金(如铂/钯)制成的电极组成,排列在陶瓷基板表面。电极沉积在通过聚合合成的聚合物层中。传感器的厚度可通过控制聚合参数(如有机溶剂的用量)来调节。

3.2.3. 质子交换膜燃料电池

质子交换膜燃料电池(PEMFC)由一个聚合物电解质膜组成,可进行质子传导并将质子从阳极输送到阴极。在存在气体的情况下,工作电极的电位会发生变化。研究人员提出了一种由三电极燃料电池传感器组成的丙酮实时监测系统。PEMFC 传感器由膜电极组件的夹层结构构成。

3.2.4. 微机电系统悬臂传感器

聚合物涂层 MEMS 悬臂传感器由矩形截面的悬臂梁组成。悬臂梁采用平行板的电容器结构。悬臂板可相对于刚性基板移动。悬臂的参数(如悬臂质量、刚度和表面应力状况)会根据所使用气体的成分而发生变化,这是因为覆盖悬臂的聚合物表面吸附了颗粒。这导致悬臂弯曲。挠度值取决于涂层选择性化合物的浓度,可以通过静态传感模式测量,即使用激光反射仪或测量容量变化。另一种测量方法是动态模式传感,即通过在电容器板上施加交流电压对悬臂进行静电感应,并通过电子或激光多普勒测振仪测量气体存在引起的共振频率变化。

3.2.5. 与质谱仪联用的气相色谱仪

在气相色谱仪(GC)与质谱仪(MS)联用系统中,气相色谱仪可将被分析混合物随时间分离成不同的组分。混合物成分的分离是由于混合物中各个成分通过色谱柱的迁移率不同。然后,质谱仪会记录它们的质谱图,在此基础上,通过测量质量与电荷比,就可以确定被分离混合物中的每种成分。

4. 预处理

通常会对测量到的响应进行滤波、归一化处理,并使用基线操作和/或基线减法进行预处理。图 5 和图 6 显示了基线拟合和减法。基线处理用于增强对比度、补偿漂移和缩放数据。基线处理后计算传感器响应的有趣方法见公式 (1):

其中,SR(S,D,T) 和 SR(S,D,t) 是传感器对 D 传感器响应数据中样本 S 在时间 T 和时间 t 的响应,BN 是稳定数据。

此外,数据归一化还可消除分析物浓度和氧压造成的波动。原始响应归一化可通过两种不同方式进行,即特征归一化(列归一化)和样本归一化(行归一化)。在分析系统中使用湿度和温度传感器时,算法的设计目的是补偿或处理因湿度和肺泡空气的存在而导致的呼吸样本变化。为了重建信号并补偿可能由不稳定电压或变化的温度和湿度引起的噪音,对 Z 归一化信号进行了离散小波变换。

图 5. 基线减法前的数据与拟合基线。

图 6. 减去基线后的数据。

4.1. 特征提取

最常用的方法是使用从传感器获取的预处理原始数据来训练机器学习模型。为了提高呼吸分析系统的性能,在训练选定的分类或回归模型之前,通常会使用特征提取算法。从原始传感器数据中提取特征的常用方法包括最大响应计算值、传感器响应曲线下的积分/面积(AUC)、最大导数和极值响应等。使用这些方法会大大增加特征的维度。更先进的特征提取和缩减技术是奇异值分解(SVD)算法,它将输入矩阵分解为正交特征向量和特征值。

4.2. 特征选择

为了去除无关或多余的特征,保留最有用的信息,需要应用特征选择算法,如SVD、顺序前向选择、主成分分析(PCA)等。由于数据集的维度较高,经常包含来自十多个不同气体传感器的响应,而且应用特征提取方法后特征量不断增加,因此采用了提取低维特征的算法,因为 PCA 算法会将高维数据投影到低维数据子空间上。当特征与其他特征的相关性较高或单独使用该特征在给定任务中的准确率较低时,该特征也会被省略。另一种减少不重要特征数量的方法是统计方法,如筛选、选择和多重比较。消除 Tedlar 袋或测量设备中存在的信噪比明显偏低的成分和污染的影响,可以采用人工预筛选方法。减少冗余特征的数量可以通过降低算法的计算复杂度来提高模型的准确性和训练速度,并防止过拟合,这是在分析来自多个气体传感器矩阵的数据时常见的问题,因为特征的数量可能会超过呼吸样本的数量。

5. 算法

5.1. 主成分分析

PCA 是目前最流行的降维算法。它是一种无监督学习模型,主要目的是找到最接近数据的超平面,然后将数据投影到超平面上。基于 PCA 的算法确定了保留训练数据集方差最大值的轴。确定的相互正交轴的数量等于特征的维度。使用 SVD 算法将训练集转化为三个矩阵的点积。其中一个结果矩阵包含按方差递减顺序排列的主成分,然后利用这些主成分将原始训练数据集投影到给定的维数(等式 (2))。

其中,Xd是降维的结果,d是目标维数,X是原始数据集矩阵,Wd是使用 SVD方法计算的主成分矩阵中d优先值的矩阵。

通常情况下,不是随机选择特征空间的目标维数,而是通过维数来保持给定的方差值,同时最大限度地减少信息丢失。另一方面,在回归等任务中,PCA 算法保留最高方差也可能是一个缺点。各个主成分之间互不相关。

此外,PCA 方法还可用于计算样本间的欧氏距离。结果表明,这一指标能够区分健康患者和糖尿病患者。欧氏距离是根据糖尿病患者、非糖尿病患者呼出的气体样本以及参考气体丙酮样本计算得出的,其中计算了糖尿病患者与参考者的距离以及非糖尿病患者与参考者的距离。结果显示,非糖尿病患者与参考丙酮之间的欧氏距离高于糖尿病患者。

5.2. 支持向量机

支持向量机(SVM)是一种有监督的学习模型,可用于解决分类和回归问题。SVM 分类器是最常用的分类算法之一,适用于小而高维的数据集,这通常是医疗数据的特征,特别是使用多个独立传感器或半导体气体传感器矩阵测量的挥发性有机化合物。超平面是通过求解优化问题获得的决策面,以最大化边际。确定的超平面数量等于 n - 1,其中 n 是类的数量。边际的计算方法是将边界超平面一直移动到类别的第一个点,从而定义的超平面之间的距离。最靠近边界超平面的点构成支持向量。选择合适的边距在算法设计中起着关键作用。如果边际太小,决策边界的轻微变化甚至会导致预测类别的改变。另一方面,较宽的边际可以限制过拟合现象,提高模型的泛化能力。因此,最好使用边际最大化算法。SVM分类对异常值具有鲁棒性。

对于非线性可分离数据集,选择线性决策函数可能会导致模型与数据拟合不足。为了避免这个问题,具有最大边际超平面的核技巧被广泛使用。在这种情况下,每个点积都会被一个非线性核函数取代。呼吸分析系统中常用的 SVM 分类器使用不同的核进行训练,例如高斯核、多项式核函数 (3)、径向基函数,如下式 (4) 所示。

其中,γ 是内核参数,p 是多项式阶数

其中x是类别,xi是与该类别相对应的数据集,σ是测试数据的方差。

为了避免模型过拟合,Saidi 等人提出了对 SVM 算法进行留一交叉验证的方法。

SVM 算法的主要缺点之一是需要选择合适的核,以很好地适应输入数据并减少训练时间,尤其是对于大型数据集。不同研究的结果表明,SVM分类器模型在区分健康和糖尿病 VOCs 样本时,在分离的测试集上可以获得高于 90% 的灵敏度和特异度。

5.3. K 近邻

KNN 是一种监督学习算法,它根据训练数据集中 k 个最近样本之间的距离,将给定的未知样本归入一个类别。n 维空间中样本 p 和 q 之间的距离通常用欧氏距离 (5) 来定义,较少用曼哈顿、闵科夫斯基和堪培拉度量来定义。堪培拉距离是加权曼哈顿距离。

其中 p 和 q 是 n 维空间中的两个样本

在KNN分类算法中,新观测值的类别分配方式如下:将新观测值 x 放入数据空间,根据选定的距离度量确定 KNN,然后根据选定的KNN所代表的大多数类别预测类别。新观测值的类别不仅可以根据大多数类别来选择,还可以通过加权法来选择。

应用这种方法并获得令人满意的结果的难点之一是选择准确的近邻 k 数,因为没有严格的数学规则来确定该参数的值。k 值过大会导致简化问题和局部信息丢失,另一方面,如果 k 值过小,模型会对异常值过于敏感。通常情况下,要经过多次实验并比较不同模型的准确性、灵敏度和特异性指标后才能选择 k 值。这种分类器的优点是实施简单,可以适应局部信息,但另一方面,这种模型的计算复杂度非常高,需要计算每个新样本与每个训练样本的距离。

在呼吸分析中,KNN 模型通常使用 PCA 方法从数据集中提取的特征来建立。研究人员设计的算法具有较小的 k 值,如 k = 3、k = 5 和 k = 8。使用这种分类器的分类结果很好,研究人员获得的糖尿病诊断灵敏度高于 87%,特异性高于 86%,准确率为 95%。

5.4. 线性判别分析

线性判别分析是一种有监督的机器学习算法,常用于二元分类问题。LDA 模型的主要目标是通过找到一个投影向量,将输入数据分为两类,从而最大化类间方差,最小化每组内方差。LDA 假设类别 k 中的概率密度函数具有 D 维正态分布 N,且类别中的协方差矩阵相等。在该算法中,将计算表征组间和组内变异性的矩阵,并最大化这些矩阵的行列式之比。该算法的主要目标是使组内变异性最小化,组间变异性最大化。如果训练数据集有大量变量,该模型就容易出现过度拟合。在应用其他分类算法之前,LDA可用作线性分类器或特征选择方法。

5.5. 极梯度提升

Extreme gradient boosting(XGBoost)是一种先进的算法。该算法可成功用于回归和分类问题,通常能取得比传统机器学习算法更高的性能。这种学习方式被称为集合学习。这种算法根据单个决策树的结果进行预测,这些决策树是在算法训练过程中添加的。在使用梯度提升算法时,算法的损失是通过梯度下降法最小化的。XGBoost 算法在处理缺失数据方面表现出很高的效率,此外,由于通过使用外核和缓存感知计算实现了并行化和硬件优化,它是运行速度最快的算法之一,尤其是在大型数据集的情况下。

5.6. 神经网络

不仅使用传统的机器学习方法来检测呼出空气中的糖尿病,还提出了不同类型的神经网络,如ANN、深度神经网络(DNN)和卷积神经网络(CNN)。

如今,ANN被称为一种计算架构,由数量极多的大规模并行简单神经元互连组成。每个输入都有一个权重,并与之相乘。给定连接的权重越高,相关输入对神经元输出值的影响就越大。如果决定使用偏置,偏置值将被添加到乘法结果中。然后,将这些乘法和添加偏置的结果相加,并应用适当的激活函数。广泛使用的激活函数有单极和双极阶跃函数、对称斜坡函数、对数函数和双曲正切函数。如何选择合适的激活函数取决于网络所面临的问题。ANN的主要目标是调整权重向量,以获得预期输出值的最准确表示。

DNN 一般是具有额外隐藏层的 ANN。由于这种修改,DNN 的计算复杂度更高。在深度学习中,非线性数据转换是通过许多隐藏层来完成的。最底层代表输入数据集的基本特征,下一层则创建更详细的特征。在使用 DNN 的情况下,无需适当准备特征,因为它是在网络的各个深层中实现的。使用 DNN 而不是 ANN 的优势之一是,与 ANN 不同,DNN 可以使用 “剔除层”。这种技术是最常用的权重正则化技术。它包括以给定的概率(通常为 50%)随机关闭神经元的权重。

上述NN结构中的最后一种,即CNN,通常用于处理时间序列或图像等网格状数据拓扑。该网络在输入信号和预定义核之间进行线性卷积。CNN的输出称为特征图。在分类问题中,计算出的特征被转移到全连接层,然后由软最大层根据计算出的属于某个类别的最高概率分配到类别中。有几种网络正则化和优化方法,如添加剔除层、池化、L2正则化、L1正则化和批量归一化,这些方法通常用于提高模型泛化,避免网络对输入数据的欠拟合或过拟合。

可以使用不同的优化器对准备好的模型进行优化。最常用的优化器有:Adam、Adagrad、Adelta、Stochastic Gradient Decent。模型的宽度由所用层的维度决定。

6. 讨论

患者之间的代谢差异和其他因素,如性别、年龄、1型糖尿病患者的生存时间和治疗过程,阻碍了用于检测呼出气体中糖尿病的多功能电子鼻系统的开发和测试。此外, 1型糖尿病和2型糖尿病患者呼出气体中的丙酮含量不同,并取决于疾病是否得到治疗和控制,因此有必要根据从一大批患者(代谢条件、病史和疾病类型各不相同)中获取的呼气样本,而不仅仅根据丙酮浓度来开发和测试电子鼻系统。为患者定制设备的可能性之一是开发设备校准功能,例如使用传统的血糖仪,然后用它来确定血糖水平与呼气分析仪获得的呼出丙酮水平之间的个体关系。

要准备一个多功能呼气分析系统,应考虑系统算法是否应处理受试者内部的差异因素,如饮食和胰岛素。此外,新陈代谢因素对丙酮和血糖水平之间关系的影响尚不清楚。由于人体呼吸的相对湿度较高且不稳定,因此有必要在呼吸分析过程中测量相对湿度,并在算法中考虑其对传感器响应的影响。

使用呼气分析对病人进行无创诊断的另一个限制是呼出空气中挥发性有机化合物的浓度非常低。可以通过选择对丙酮具有高选择性的传感器或使用其他测量方法,以及在分析仪输入端使用预浓缩器来提高呼气分析仪的性能。

本文介绍的所有算法在基于从呼出空气分析仪获得的多维数据的糖尿病检测任务中都显示出非常高的性能。算法设计中的一个重要因素是模型超参数的选择,例如近邻的k数,以确保最佳泛化效果并防止过度拟合。在经典机器学习算法中,使用交叉验证方法(如LOOCV)也可以减少模型过拟合,而使用NN时,常用的网络正则化方法有dropout、L2正则化、L1正则化和批量归一化。

在分析呼气样本时,挑战之一是选择正确的算法。在医疗诊断方面,值得使用决策树或 XGBoost等可解释的人工智能算法,这样就能准确追踪算法的操作和决策。这在误诊的情况下非常重要,算法的结论可以拓宽医生的知识面,并指出哪些相关性对诊断最重要。这类算法的另一个优势是能够确定特征的重要因素,当系统包括传感器矩阵时,这是非常有价值的信息,使用带有半导体层的传感器可以利用这些知识为这些层开发更好的参数或组成一组不同的传感器。

由机器学习和人工智能方法支持的医疗诊断,尤其是基于呼出气体的无创诊断,具有许多优势和局限性。机器学习模型可以处理大量的多维数据,而这些数据还在不断增加,人类无法在合理的时间内处理和理解这些数据。通过使用算法,可以检测数据之间的线性和非线性关系,通过分析病人和健康人样本之间的差异来检测生物标志物,以及在矩阵中选择适当的传感器,以尽量减少交叉感应。无创呼吸诊断设备可以通过执行更多筛查测试和早期诊断疾病来降低医疗成本。使用人工智能辅助诊断的主要局限性在于每位患者的参数都存在个体差异,因此需要对具有不同病史、治疗方法和不同生活方式的大量人群进行模型训练,以获得最高的泛化率。此外,还需要对医疗设备进行持续验证和校准,以便快速发现系统运行中的错误。并不是所有的算法都是可以解释的,例如NN,因此在诊断错误的情况下,实际上不可能发现是什么影响了模型的决定。

7. 结论

呼气分析仪的开发有许多局限性,如患者群体小、代谢变化大、丙酮与血糖水平之间没有确定的相关性、浓度低以及每次呼气中含有大量不同的挥发性有机化合物。为了准备多功能呼气分析系统,可能有必要为患者制定校准程序。使用对各种化合物(尤其是丙酮)有选择性的各种传感器矩阵,然后使用人工智能,有助于确定传感器反应与患者疾病状态的相关性。在开发分类算法之前,有必要对特征进行提取和选择。重要的是要选择超参数并应用正则化和验证,以避免算法的欠拟合和过拟合。除了传统的机器学习算法外,使用新颖的XGBoost 算法或CNN来提高呼气分析系统检测糖尿病的性能也值得考虑。