基于ε-SVR的近红外无创血糖浓度回归预测研究
Regression Prediction of Non-Invasive Blood Glucose Concentration Based on ε-SVR
DOI: 10.12677/AAM.2020.912254, PDF, 下载: 616  浏览: 971 
作者: 王朱宇, 马文联*:长春理工大学理学院,吉林 长春;杨新佳, 周林华*:长春理工大学理学院,吉林 长春;省级数学实验教学示范中心(长春理工大学),吉林 长春
关键词: ε-SVR无创血糖浓度预测近红外光谱高斯核函数Support Vector Machine Regression Noninvasive Blood Glucose Detection Near-Infrared Spectroscopy Gaussian Kernel Function
摘要: 为了提高近红外无创血糖浓度回归的预测精度,首先使用近红外光谱采集人体手指指尖光谱信号,同时用微创血糖仪检测对应血糖浓度;进一步基于高斯核函数与ε-支持向量回归机(ε-SVR)建立无创血糖浓度回归模型,并与偏最小二乘回归(PLSR)模型进行对比分析。通过ε-SVR模型对两名志愿者的实验结果表明:ε-SVR模型对测试集的预测精度有很大的提高,测试集的真实浓度与预测浓度的均方误差低,克拉克误差网格分析中位于A区的概率也均高于99%。
Abstract: 为了提高近红外无创血糖浓度回归的预测精度,首先使用近红外光谱采集人体手指指尖光谱信号,同时用微创血糖仪检测对应血糖浓度;进一步基于高斯核函数与ε-支持向量回归机(ε-SVR)建立无创血糖浓度回归模型,并与偏最小二乘回归(PLSR)模型进行对比分析。通过ε-SVR模型对两名志愿者的实验结果表明:ε-SVR模型对测试集的预测精度有很大的提高,测试集的真实浓度与预测浓度的均方误差低,克拉克误差网格分析中位于A区的概率也均高于99%。
文章引用:王朱宇, 杨新佳, 周林华, 马文联. 基于ε-SVR的近红外无创血糖浓度回归预测研究[J]. 应用数学进展, 2020, 9(12): 2181-2187. https://doi.org/10.12677/AAM.2020.912254

1. 引言

近年来,随着化学计量学、计算机科学和光学仪器的快速发展,红外光谱定性与定量分析的精度、准确性、可靠性都有了大幅提高,其在无创血糖检测领域得到了广泛应用 [1] [2] [3] [4]。然而,信号微弱、测量条件复杂、人体生理背景难以定量等问题对光谱测量的影响,使得目前的实验研究和实际产品中,得到的血糖校正模型大都达不到临床要求,仍有许多关键问题需要解决。随着机器学习 [5] 的发展,基于神经网络、支持向量机等机器学习方法对生物光电信息进行智能分析的研究不断得到重视和发展。如胡命嘉 [6] 等人通过经粒子群优化算法(PSO)优化后的支持向量机(SVM)分类器对采集到的表面机电信号进行分类识别。李东明 [7] 等人提出了基于多光谱应用BP人工神经网络预测血糖;李庆波 [8] 等结合净信号预处理(NAP)算法和径向基偏最小二乘(RBFPIS)回归建立了一种适合于人体血糖测量的非线性建模方法NAP-RYFPLS。针对单个个体每天的血糖变化规律的差异性,代娟 [9] 等人以血糖吸收最强的1550 nm近红外光吸光度为自变量、血糖浓度为因变量,结合粒子群(PSO)算法和人工神经网络(ANN)建立了一种无创血糖检测模型PSO-2ANN模型。徐楠 [10] 等人提出了基于VIP处理的O-PLS算法的无创血糖基础研究。张春霞 [11],马爽 [12] 等将支持向量机应用到无创血糖检测中,这些方法均在一定程度上对回归精度有所提升。

人体的复杂性对近红外光谱无创血糖检测造成了很大的影响,实际情况下采集到的近红外光谱信号和血糖浓度值之间存在复杂的非线性关系。本文在此基础上选择ε-SVR结合高斯核函数作为回归模型,基本思想是通过事先确定的非线性映射将输入向量映射的一个高维特征空间(Hilbert空间)中,然后在此高维空间中再进行线性回归,从而取得在原空间非线性回归的效果。

2. ε-支持向量机回归原理

在支持向量机回归中,输入样本x首先通过非线性映射 ϕ ( x ) 映射到一个高维的特征空间,然后在这个特征空间中建立一个线性模型来估计回归函数,公式如下:

f ( x , ω ) = ω ϕ ( x ) + b (1)

其中, ω 为权重向量;b为阈值。

对于给定的训练数据集 { ( x i , y i ) | i = 1 , 2 , , n } ,采用ε-不敏感损失函数,对应的支持向量机称为ε-支持向量机,则其约束优化问题可表示为:

min ω 1 2 | ω | 2 + C i = 1 n ξ i + ξ i * , i = 1 , 2 , , n s .t . { y i ω ϕ ( x ) b ε + ξ i * ; ω ϕ ( x ) + b y i ε + ξ i ; ξ i , ξ i * 0. (2)

式(1)的优化问题可通过引入拉格朗日函数将其转化为对偶问题,通过解对偶问题得到式(2)的解:

f ( x ) = i = 1 n S V ( α i α i ) K ( x i , x ) + b (3)

其中, α i , α i * ( i = 1 , 2 , , l ) 为拉格朗日乘子, α i , α i * 只有一小部分不为0,它们对应的样本就是支持向量(Support Vector, SV); n S V 为支持向量的个数; K ( x i , x ) 为核函数,通常采用高斯核函数:

K ( x i , x ) = e ( λ x x i 2 ) (4)

其中, λ 为核参数。

3. 数据准备

本文采用近红外光谱成像仪在950 nm到1700 nm的波长范围内采集两名志愿者在葡萄糖摄入后随时间变化血糖浓度对应的光谱信号。光谱分辨率为5 nm,每测量一次,光谱仪对着同一区域扫描100次,得到100帧数据,每一帧的大小为320 × 1。总共测量了68次,得到光谱数据Data_1和Data_2。

(a)(b)

Figure 1. Image map of raw data and near infrared spectrum graph of fingertips. (a) Image map of detection of local blood glucose concentration at fingertips by near infrared imaging spectrometer; (b) Near infrared spectrum of fingertips

图1. 原始数据成像图及其指尖近红外光谱曲线图。(a) 近红外成像光谱仪对指尖局部血糖浓度探测的成像图;(b) 指尖近红外光谱曲线

数据形式如图1所示,图1(a)为测量中近红外成像光谱仪对指尖局部血糖浓度探测100帧的图像,其像素大小为320 × 100。其中蓝色部分为手指所在位置,由于不是对整个手指进行采集,只是采集了指尖某个区域的数据,所以图像不会呈现手指形状。读取图1(a)中的信息,获得图中所有点处的光谱曲线,其中指尖处的光谱曲线如图1(b)所示。

Data_1和Data_2都是测量了68次所得到的光谱数据,但它们分别得到了39和30个浓度。由此可见同一个浓度会有多个光谱样本与之对应,其中每个光谱样本包含100条光谱信号,每条光谱的维度为150。以志愿者1为例,为了保证数据的均衡性,当浓度的批次数量大于等于2时,随机选取其中一批,使得每个浓度只有一批数据。由于血糖变化给光谱所带来的影响非常的小,为了使光谱能更好的反映血糖浓度,需要提取出手指所在位置的光谱数据和进一步处理。由于手指所在位置的光谱曲线波动性较大,与手指以外地方的光谱曲线有明显区别,故选择标准差作为评判标准,确定手指所在位置。具体步骤如下:

Step1:对第一帧数据中的320条光谱分别求出标准差S

Step2:寻找最大标准差所在的位置并提取对应的光谱,最终100帧数据提取到100条光谱。

Step3:去除异常光谱。对100条有效光谱应用马氏距离法和 3 σ 法则筛选出异常光谱,首先设置一个阈值。这个阈值是根据计算出的100个马氏距离设置的,阈值 D t = 3 σ D ,其中 3 σ D 是马氏距离的标准差。然后由 3 σ 进行判断, | D i D ¯ | D t ,则第i条光谱为正常光谱;反之,若 | D i D ¯ | > D t ,则第i条光谱为异常光谱,将其剔除并随机选择一条正常光谱进行填充,其中 D ¯ 为马氏距离的平均值。

Step4:按照上述操作,对浓为度 C k ( k = 1 , 2 , , 39 ) 的光谱进行提取。

Step5:对每条光谱取对数变换获得总数据集 Ω

Ω = { ( x n , 1 k , x n , 2 k , , x n , 150 k ) | k = 1 , 2 , , 39 ; n = 1 , 2 , 100 }

Step6:将采集到的光谱 Ω 随机分成两个数据集。从每个样本浓度对应的光谱中随机选出80%条光谱构成训练数据集,其余20%条光谱则作为测试数据集,分别用于校准和测试模型。

Step7:对训练集数据进行归一化处理,保留最大值最小值用于测试集归一化。

4. 结果与讨论

4.1. 模型训练

首先设置训练条件:1) 采用ε-支持向量回归机进行回归;2) 高斯函数作为核函数;3) 通过传统网格搜索法进行试验,网格大小为10 × 10,移动步长为0.5,并且采用5折交叉验证所得的误差作为优化参数的标准;4) 预测误差采用均方误差MSE表示:

M S E = 1 n i = 1 n ( y i f i ( x ) ) 2 (5)

其中 y i 实际血糖浓度值; f i ( x ) 表示血糖光谱回归预测的浓度值。

然后将训练集光谱数据与其对应的标签向量作为输入,对模型进行训练,得到最优参数带标签的训练集进行模型训练,得到最优参数 w , b 和回归函数 f ( x , w ) ,至此模型训练结束。最后将测试集光谱数据作为输入,进行浓度预测。

4.2. 模型评价

本节分别通过偏最小二乘回归(PLSR)与ε-支持向量机回归机(ε-SVR)获得预测结果,并对模型的性能进行评估。采用决相关系数(R2)、均方误差(MSE)和克拉克误差网格分析对血糖浓度回归模型进行评价。

对模型进行5折交叉验证,并计算出测试集均方误差、决定系数和克拉克误差网格A区概率的均值,用于作为模型评价的标准,分别用符号MSECV、R2、P来表示。两名志愿者分别建立模型得到验证结果如表1所示。

Table 1. Results of validation of models established by two volunteers

表1. 两名志愿者分别建立的模型的验证结果

表1可见,两名志愿者通过PLSR分别建模所得到的模型测试集的真实浓度和预测浓度的平均相关系数相对较低,平均误差MSECV的值分别在2 mmol·L−1和1 mmol·L−1左右,模型的预测效果较差,精度不高;与之相比通过ε-SVR建模所得到的模型相关系数集的真实浓度和预测浓度的平均相关系数均高于99%,MSECV的值分别在0.001 mmol·L−1和0.0004 mmol·L−1左右,克拉克误差网格分析的结果几乎100%落在A区。同时从两个志愿者的MSECV值和P值也可以看出不同个体所建的模型效果也有所区别。

图2是关于志愿者1的数据在不同模型中参考浓度与预测浓度的拟合情况。图2(a)和图2(b)分别表示了使用PLSR模型和ε-SVR模型进行回归预测中参考浓度与预测浓度的拟合程度。将参考浓度与预测浓度构成有序实数对,这些离散的点越靠近直线 y = x 说明其预测结果越好。所以从图2中两个模型的结果对比来看,ε-SVR模型优于PLSR模型。

Figure 2. Fitting results of reference and predicted concentrations in different models (Volunteer 1)

图2. 不同模型中参考浓度与预测浓度的拟合结果(志愿者1)

克拉克误差网格分析通过比较参考血糖浓度值和预测血糖浓度值间的关系来评估血糖算法准确度。网格分为五个区域,标记为A、B、C、D、E,落在A、B区域理论上可接受,落在C、D、E区域会造成潜在的危险,造成临床误诊。注意1 mmol·L−1 = 18 mg·dL−1,为了更清晰的观查其误差变化,所以将参考浓度和预测浓度进行单位换算。图3(a)和图3(b)分别表示志愿者1的数据在不同模型下真实浓度与预测浓度的克拉克误差网格分析结果分布图。从图中可以看出,PLSR模型预测的结果分布较散,散落在了A区以外,而ε-SVR模型的预测结果几乎全部落在A区。同时结合表1的结果也可以看出ε-SVR的线性性更强,模型预测效果较好,精度更高,具有较强的泛化能力。

Figure 3. Distribution of Clarke error grid analysis results for different models (Volunteer 1)

图3. 不同模型的Clarke误差网格分析结果分布图(志愿者1)

5. 结论

支持向量机回归模型有效地减弱了干扰因素对预测模型的影响,能拟合血糖浓度与近红外光谱之间的非线性关系,从而提高了预测精度。相比PLSR模型,ε-SVR模型测试集的克拉克网格误差分析结果均达到99%;MSECV的值分别为0.001 mmol·L−1和0.0004 mmol·L−1左右。同时对比两个志愿者的克拉克误差分析结果也可以看出不同个体所建的PLSR模型效果区别明显,但针对ε-SVR模型,两个个体模型的克拉克误差分析结果差别不大,也进一步说明了ε-SVR是适合于人体血糖浓度测量建模的非线性方法。除此之外,对比志愿1和志愿者2的均方误差和克拉克误差网格分析落入A区的概率,可以发现:在同样的模型下,志愿者2的结果比志愿者1的要更好,这也进一步验证不同个体之间存在差异性。

NOTES

*通讯作者。

参考文献

[1] 孙凯, 周华, 杨膺琨, 等. 血糖监测系统的研究进展[J]. 中国激光, 2018, 45(2): 56-72.
[2] 刘蓉, 徐可欣, 陈文亮, 等. 光学无创血糖检测中的主要问题及研究进展[J]. 中国科学(G辑: 物理学∙力学∙天文学), 2007(S1):124-131.
[3] 王慧泉. 动态光谱法血液成分无创检测若干关键技术研究[D]: [博士学位论文]. 天津: 天津大学, 2014.
[4] 王晓飞, 张欣怡, 徐馨荷. 考虑多种因素的近红外光谱血糖预测模型对比[J]. 激光与光电子学进展, 2019, 56(4): 209-213.
[5] 周志华. 机器学习[M]. 北京: 清华大学出版社, 2016: 121-145.
[6] 胡命嘉, 宫玉琳, 王锋. 基于PSO-SVM的手势识别方法研究[J]. 长春理工大学学报(自然科学版), 2019, 42(4): 102-107.
[7] 李东明, 贾书海. 基于多光谱应用BP人工神经网络预测血糖[J]. 激光与光电子学进展, 2017, 54(3): 244-249.
[8] 李庆波, 黄政伟. 净信号预处理结合径向基偏最小二乘回归在血糖无创检测中的应用[J]. 光谱学与光谱分析, 2014, 34(2): 494-497.
[9] 代娟, 季忠, 杜玉宝. 基于粒子群和人工神经网络的近红外光谱血糖建模方法研究[J]. 生物医学工程学杂志, 2017, 34(5): 713-720.
[10] 徐楠, 邓琛, 江潇潇, 等. 基于VIP处理的O-PLS算法的无创血糖基础研究[J]. 测控技术, 2019, 38(3): 108-111.
[11] 马爽, 蒲宝明. 基于支持向量机的无创血糖光谱算法[J]. 计算机系统应用, 2016, 25(8): 120-124.
[12] 张晓霞. 基于支持向量机的无创血糖检测电极影响研究[D]: [硕士学位论文]. 成都: 成都理工大学, 2017.