支持向量机在血糖浓度预测方面的应用
脱建勇,周剑*
作者简介:脱建勇,(1978-),男,博士后,主要研究方向,智能控制. E-mail: tuojy@mail.buct.edu.cn
(北京化工大学信息科学与技术学院,北京 100029)
5 摘要:支持向量机(SVM)作为一种新的通用学习算法,具有全局最优、结果简单,推广能
力强等优点,能够较好的解决小样本的学习问题。本文介绍了支持向量机的基本思想、特点
和研究发展现状,并以支持向量机为非线性函数逼近工具,利用临床检测数据,使用MATLAB
编程来实现血糖浓度预测,以用于糖尿病的治疗。最后,根据实验结果分析了血糖浓度模型
参数和数据样本等因素对支持向量机工作性能的影响,并通过编写寻优算法对模型参数实现
10 了优化。
关键词:支持向量机;糖尿病;预测;参数优化
0 引言
30 糖尿病是一种对人类危害性比较大的疾病,它主要是由于人体内胰岛素分泌不足引起
的。由于人体内胰岛素分泌不足,所以必然导致人在摄取食物后体内高血糖的出现。人体在
长期的高血糖影响下,会出现体内胰岛β 细胞功能衰竭等现象,严重时可导致死亡。人们通
常利用注射胰岛素或者口服降糖药的方法来增加体内的胰岛素即胰岛素强化治疗,但是胰岛
素强化治疗也存在问题:长期的血糖控制不稳不但会加重糖尿病患者的症状,还可能导致各
35 种严重的并发症,危及患者的生命健康。因此在降低血糖水平的同时预防低血糖等血糖异常
情况的发生就变得非常重要。如果能预测出病人血糖浓度的变化并提前采取相应措施,那么
这就将大大减小由血糖控制不稳而引发的血糖异常及其并发症对糖尿病患者带来的危害。
血糖预测算法被认为是解决上述问题的一条重要途径,越来越受人们的重视,近年来国
内外的很多学者对血糖的预测研究做出了重要的贡献,见文献[1-4]。
40 当前对于血糖预测算法的研究表明,血糖浓度是可以被预测的。通过对血糖预测算法的
不断改进,对于低血糖等血糖异常事件的预测也将越来越精确,糖尿病患者的生命安全也将
越来越有保障。
本文的主要目的是研究支持向量机在血糖浓度预测方面的应用,通过使用6 例病人的血
糖监测数据[5],利用MATLAB 的SVM 工具箱编程实现了对血糖浓度的预测。同时,编写
45 寻优算法进行了参数优化,并依据实验结果对模型参数、数据样本与预测精度之间的联系进
行了详细分析。
1 绪论
1.1 1 型糖尿病与胰岛素强化治疗
1 型糖尿病是糖尿病的一种,它的发病主要是由于细胞免疫介导所引起的。伴随着1 型
50 糖尿病通常会出现糖尿病酮症酸中毒和低血糖,酮症酸中毒是由于人体的胰岛素分泌不足引
起的,它是一类比较急性的疾病,严重的情况很有可能造成患者昏迷。低血糖主要是由于胰
岛素用量过多或注射胰岛素后未能按时进餐引起的,严重时可发生低血糖昏迷甚至惊厥,抢
救不及时可引起死亡,伴随着1 型糖尿病的低血糖反复发作可产生脑功能障碍或发生癫痫。
胰岛素强化治疗是一种利用胰岛素降低患者的血糖,使患者血糖值尽量接近正常水平的
55 方法,所以无论是注射胰岛素或者口服降糖的药物都属于胰岛素强化治疗。经过十余年的临
床应用与发展,胰岛素强化治疗已经被广泛的运用于1 型无严重并发症及常规治疗未能取得
良好控制的病友、计划妊娠和已妊娠的糖尿病妇女、2 型糖尿病消瘦者等患者身上,并取得
了良好的治疗效果,得到了大众的普遍认可[6] 。但胰岛素强化治疗也是有瑕疵的,因为在
胰岛素的强化治疗过程中存在着一定的风险,,即如果未能有效地控制胰岛素的注射量,胰
60 岛素注射过多或者注射胰岛素后未能按时进餐都可能导致低血糖的出现。
1.2 支持向量机的研究背景及现状
支持向量机(Support Vector Machines 简称SVM)是在统计学习理论基础上发展起来
的,借助最优化方法解决机器学习问题的新工具。它最初于20 世纪90 年代由Vapnik[7] 提
出,近年来在其理论研究和算法实现方面都取得了突破性进展,初步表现出很多优于现有方
65 法的性能。该方法根据有限的样本信息在模型的复杂性与学习能力之间寻求最佳折中,以获
得最好的推广能力。
目前支持向量机在系统辨识与建模中的研究主要集中在理论研究和应用研究两个方面:
理论研究方面:针对支持向量机现存的各种问题提出多种解决方案,如:核函数的选择、参
数的选择、快速训练算法的研究等。
70 应用研究方面:除仿真和对比实验之外,只有有限的实验研究报道,大体包括模式识别
和回归建模两类。
在模式识别领域,贝尔实验室对美国邮政手写数字库的实验最突出的应用研究,其识别
错误率要明显优于决策树方法和神经网络方法,为各领域的研究提供了良好的范本;MIT
进行的人脸检测试验也取得了较好的效果[8];其他应用还有文本分类、图像分类、生物序列
75 分析和生物数据挖掘[9]、遥感图像分析[10]等。
在回归建模领域,已成功运用到时间序列预测[11]、非线性建模与预测、离散的线性与
非线性系统辨识、函数逼近、数据压缩[12-14]等方面。
1.3 支持向量机回归原理
支持向量回归最终就是寻求一个目标函数,使得其损失函数的数学期望最小,这样才能
80 得到最准确的回归曲线以反映训练集的数据走向趋势。该回归算法主要解决非线形回归预测
问题,对训练集采用线性、非线性核函数进行回归。
回归问题可形式化为:给定某训练集合,其元素有未知的分布p(x,y) ,观测得到:
{( ) ( ) ( )} 1 1 2 2 , , , ,..., ,i i X = x y x y x y , n ,
i i x ∈R y ∈R (1)
和一个函数族:
85 F={f|f:Rn→R}
基本回归问题就是找一个函数f∈F,使如下的期望风险函数最小化:
R[f]=∫c(y−f (x),x)dP(x,y) (2)
其中,c 是损失函数,它表示y 和f (x) 的偏差,因为分布概率p(x,y) 未知,我们不
能直接对R[f]进行估值,而是要通过计算如下的经验风险: ( ( ) )
并由emp gen R +R 来确定R[f]的上限。其中gen 90 R 为所谓的泛化错误上界,它是f (x) 复杂度
的一种度量。根据Vapnik 的理论,它依赖于用来进行回归的函数族F 。
在输入数据维数较大的情况下,为了保证有好的逼近效果,支持向量机回归可使用以下
风险函数:
2
ridge emp R =R +kω (3)
95 对于线性函数集:
F={f|f(x)=(ω,x) +b,ω∈Rn}
引入下述结构风险函数:
[ ] [ ] 1 2
reg emp 2 R f =C⋅R ε f + ω
(4)
其中
2 ω 表示函数f (x) 的复杂度,C 为常数,作用是在模型复杂度与经验风险之间取
100 一个折衷,同时,设计了一个ε − insensitive 的损失函数。
统计学习理论的核心思想是结构风险最小化,则根据式(4)函数回归问题可以转化为
如下优化问题:
这里C 是待确定的常数, , * i i 105 ξ ξ 是松弛变量,同时要先设定ε 的值。
根据KKT 条件可得到线性拟合方程:
f (x)=ω Tx+b (8)
对于非线性回归,保持以上的策略不变,首先用一个非线性映射Φ 把数据从原空间Rn
映射到一个高维特征空间Ω ,再在高维特征空间Ω 中建立一个线性回归函数,即:
110 f (x)=ω Tφ (⋅)+b (9)
核函数( , ) i i k x y 对应映射到特征空间的数据内积,即:
( , ) i i k x y = ( ) ( ) i j ϕ x ⋅ϕ x (10)
因此,所求非线性函数可以表示如下:
这里系数*, i i a a ∈R通过解二次规划问题确定,对于* 0 i i a −a ≠ 的点( , ) i i 115 x y 称为支持向
量,b 由KKT 条件求出。
2 基于支持向量机的血糖浓度预测
2.1 血糖预测的编程实现及优化
论文使用的血糖数据是对病人连续检测得到的,检测周期是5 分钟。这些原始的血糖数
120 据存在血糖采样值丢失、不准确等问题,所以在使用前要经过筛选及预处理。
2.1.1 支持向量机参数的选择及优化
利用支持向量机进行回归时,首先要选定核函数及相关参数。论文先使用的是高斯核函
数,如下所示(其可调参数为p1,同时,还要确定惩罚因子C 和松弛变量e):
125 实验发现若任意选取模型参数进行预测,预测精度会很低,例如:进行步长为1 步的预
测,其平均相对误差能达到0.1808。因此,论文编写了寻优算法对参数进行了优化。
实验1 采用了171 个连续数据作为样本,每组样本3 个输入,1 个输出,预测步长为1。
优化得到的模型参数及性能指标如表1 所示,预测结果及误差分布如图1、2 所示:
130 表1 实验1 优化后的得到参数及性能指标
平均相对误差
ERROR
均方误差err 惩罚因子C 核函数宽度p1 松弛变量e
0.041072 4.6584 228000 2050 0.0015
0.04175 4.6339 763500 5050 0.0015
图1 实验1 中SVM 预测结果 图2 实验1 中预测误差分布图
由实验结果看出,采用的参数优化算法使预测效果有了明显改善。该算法以三个参数建
135 立一个三维坐标系,每个参数取若干值,将这些值进行组合,以得到的参数组作为模型参数
进行回归,最后选出预测误差最小的参数组合,即为最优参数。
通过实验看出:使用的模型参数不同预测效果会有很大差异。
(1)参数p1 过小时,预测误差会很大,且误差会随着参数C 的增大逐渐变大;若p1
超过一定范围,预测误差会随着p1 的增大而增大。
140 (2)惩罚因子C 较小时,误差会随C 的增大而减小;随着 C 增大,参数C 与误差的
这种关系逐渐减弱;当C 超过一定范围后,误差会随着参数C 的增大而增大。
(3)松弛变量e 影响支持向量的个数,决定训练时间的长短。e 取值过小时,支持向
量的数目变化不大,但模型的求解时间将增加。
2.2 仿真及实验结果验证
145 2.2.1 模型参数及样本数据分析
实验2、3 采用与实验1 相同的数据,实验2 中每组样本12 个输入,1 个输出,实验3
每组样本3 个输入,1 个输出。模型参数均经过优化,都进行了1、2、3、6 步的预测,步
长为1、2、3 的预测结果见图3、4,性能指标如表2 所示:
150 图3 实验2 中不同步长SVM 预测结果 图4 实验3 中不同步长SVM 预测结果
表2 实验2、3 中不同步长SVM预测的性能指标
学术论文网Tag:代写论文 代写代发论文 论文发表 职称论文发表
|