一种基于优化极限学习机的预测模型的制作方法

文档序号:11143507阅读:469来源:国知局
一种基于优化极限学习机的预测模型的制造方法与工艺

本发明涉及预测模型领域,特别是涉及一种基于优化极限学习机的预测模型。



背景技术:

目前,经典的Framingham、SCORE、WHO等模型在10年发病风险预测中已取得较好的预测效果。主要建模思路包括:基于疾病流行过程和特征做出趋势性推理的推理预测法,依赖专家心血管疾病(CVD)知识水平和主观经验作出定性预测;基于疾病危险因素、发病情况等大型随访队列横断面数据的数理预测法,如时间序列预测模型、回归预测模型等对规律变化数据建立数学概率模型,定量挖掘致病因素间比例关系,对原始数据质量要求较高。上述模型的核心数理方法是基于概率型数学预测公式推导的Logistic回归和Cox比例风险回归。

在目前致病因素复杂化的条件下,上述回归分析策略无法解决多分类因素拟合问题。此外,概率型策略对自变量数据要求较高,在缺乏大型横断面研究资料下应用困难。



技术实现要素:

本发明的目的在于克服现有技术的不足,提供一种基于优化极限学习机的预测模型,能够解决多分类因素拟合问题,有效处理医疗信息中模糊、非线性数据。

一种基于优化极限学习机算法的心血管疾病(CVD)预测模型,其特征在于:建立基于单隐层前馈神经网络(SLFNs)的极限学习机(ELM)算法的心血管疾病(CVD)预测模型——ELPSO-ELM混合智能算法预测模型,该算法通过五阶段连续变异方式,分别为Gaussian变异、Cauchy变异、Pg各维opposition-based变异、Pg整体opposition-based变异、DE-based变异,建立增强领导粒子的粒子群算法(ELPSO),以粒子群(PSO)算法的优化策略,对单隐层前馈神经网络(SLFNs)隐层单元参数进行优化,设计了ELPSO-ELM混合智能算法预测模型。

为实现上述发明目的,本发明基于优化极限学习机算法的预测模型包括以下步骤:

S1:初始化增强领导粒子的粒子群算法(ELPSO)参数,包括:设定隐层节点数目L,种群规模粒子规模N,惯性权重ωmax和ωmin,加速因子c1、c2,最大迭代数tmax,设定粒子速度和位置取值区间,随机初始化D维空间内粒子的速度和位置,并以作为粒子的个体极值。

S2:根据极限学习机(ELM)的数学模型计算输出权值矩阵,其中,g(x)是激活函数,选择sigmoid函数,βi是第i个隐层单元的输出权重,βi=(βi1i2,…,βim)T;wi是第i个隐层单元的输入权重,wi=(wi1,wi2,…,wil)T;bi是第i个隐层单元的偏置,bi=(b1,b2,…,bk)T。反推得到输出矩阵Y',计算Y'与训练数据真实输出矩阵Y的均方根误差(RMSE),以均方根误差(RMSE)为粒子的适应度值fitness_P,较小的适应度值为更优粒子。

S3:更新粒子速度和位置,并控制取值范围。在增强领导粒子的粒子群算法(ELPSO)中,每次迭代过程中对领导粒子Pg通过五阶段连续变异进行选择,第一阶段Gaussian变异过程为:计算当前粒子的适应度值fitness_Pg和新粒子适应度值fitness_Pg1;if fitness_Pg1<fitness_Pg,则该粒子取代当前粒子成为种群领导粒子,否则,保留原领导粒子。按此阶段依次继续利用Cauchy变异、Pg各维opposition-based变异、Pg整体opposition-based变异、DE-based变异选择最优领导粒子。

S4:判断是否达到最大迭代次数,若达到,则输出全局最优粒子,若未达到,则更新惯性权重,更新后,返回到S2继续执行。

S5:最终增强领导粒子的粒子群算法(ELPSO)输出的最优粒子即为wi和bi最佳取值,利用极限学习机(ELM)算法建立预测模型,导入测试数据进行回归计算,得到真实数据集的预测结果。

本发明基于单隐层前馈神经网络(SLFNs)的极限学习机(ELM)算法的心血管疾病(CVD)预测模型——ELPSO-ELM混合智能算法预测模型。该算法通过五阶段连续变异方式建立增强领导粒子的粒子群算法(ELPSO),以粒子群(PSO)算法的优化策略,对单隐层前馈神经网络(SLFNs)隐层单元参数进行优化,设计了ELPSO-ELM混合智能算法预测模型。放松了数据线性化约束,能纳入更多复杂危险因素,解决了传统模型纳入预测因子少、数据要求高的局限性。

附图说明

图1是单隐层前馈神经网络结构图;

图2是增强领导粒子的粒子群算法(ELPSO)流程图;

图3是ELPSO-ELM混合智能算法的整体流程图;

具体实施方式

下面结合附图对本发明的具体实施方式进行描述,以使本发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围作出更为清楚明确的界定。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。

为了更好地说明本发明的技术方案,首先对本发明基于前馈神经网络的机器学习算法——极限学习机(ELM)进行简单介绍。

极限学习机(Extreme learning machine,ELM)是基于单隐层前馈神经网络的机器学习算法。图1是单隐层前馈神经网络结构图。如图1所示,给定n组训练样本(xi,yi),xi=(xi1,xi2,…,xil)T、yi=(yi1,yi2,…,yim)T(i=1,2,…,n)分别为l维输入和m维输出,设定隐层单元(隐单元)个数为k,则单隐层前馈神经网络(SLFNs)模型为:

其中,g(x)是激活函数,可以为sigmoid函数、双曲正切函数、高斯函数等;βi是第i个隐层单元的输出权重,βi=(βi1i2,…,βim)T;wi是第i个隐层单元的输入权重,wi=(wi1,wi2,…,wil)T;bi是第i个隐层单元的偏置,bi=(b1,b2,…,bk)T

极限学习机能够使输出值与以零误差逼近真实值yi,即存在βi,wi和bi使得:

可表示为矩阵形式:

Hβ=Y

其中,H为隐层输出矩阵;Y为模型输出矩阵。

最小范式最小二乘解为:

H+为隐层输出矩阵H的Moore-Penrose广义逆。

极限学习机(ELM)的输入为预测因素,输出为发病概率pi,该算法包括以下步骤:

S1:对样本进行随机抽样,得到训练样本集(xi,yi);

S2:设定隐层单元个数k,随机初始化隐层单元参数:输入权重矩阵wi和阈值bi

S3:选择激活函数(常用sigmoid函数),计算隐层输出权重矩阵H;

S4:利用计算输出权值

S5:再利用Hβ=Y反推计算输出矩阵,即为模型计算得到的各实例对应的发病概率。

极限学习机(ELM)随机化过程中可能出现影响较小甚至无效单元的情况,需设置大量的隐单元才能达到理想正确率,而极限学习机(ELM)测试复杂度为O(Nlk2m),N(测试样本个数)、l(输入特征维数)、m(输出标签维数)均确定,为降低复杂度则要求误差允许范围内隐单元数k尽可能小。另外,样本可能存在复共线性问题,每次极限学习机(ELM)建模时所求解的Moore-Penrose广义逆H+会不同,导致求得的隐层输出权值不同,最终极限学习机(ELM)模型泛化能力和预测稳定性不足。

针对极限学习机(ELM)算法随机化隐单元参数导致的模型不稳定问题,采用基于群体演化的粒子群优化算法以缓解。

设D维搜索空间中有N个粒子,第i个粒子位置和飞行速度信息分别为Xi=(xi1,…,xid,…,xiD)和Vi=(vi1,…,vid,…,viD),赋予每个粒子记忆功能,能记忆粒子自身历史最优位置Pi=(pi1,…,pid,…,piD)和个体极值pbest,以及群体历史最优位置Pg=(pg1,…,pgd,…,pgD)和全局极值gbest,每次迭代过程中,粒子速度和位置分别通过以下两个方程更新:

vid(t+1)=ωvid(t)+c1r1(pid-xid)+c2r2(pgd-xid)

xid(t+1)=xid(t)+vid(t+1)

其中,ω为惯性权重,在(0,1)间取值,c1、c2为学习因子,r1、r2为(0,1)上相互独立随机数。

粒子群算法(PSO)具有简单、易实现、能有效优化复杂问题求解等优点,由于算法存在随机性及其他不定因素的影响,可能出现过早收敛问题,即在复杂问题的优化中容易陷入局部最优,并且缺少跳出局部最优的机制,使搜索过程“停滞”,最终导致算法具有较强的开发能力但有较弱的探索能力。针对此问题,我们在宏观的层面上通过改进搜索过程和参数,并针对典型基准函数(如Rastrigrin函数、Griewa nk函数、Ackley函数等)进行仿真实验,测试全局搜索能力。

在鸟类群体的觅食过程中,个体并非独立的,而是通过之间的信息交互进行行动的,而且少数个体掌握了食物位置的相关信息,能有效地带领群体更快更准的找到食物。受此启发提出了一种新的粒子群改进算法,即增强领导粒子的粒子群算法(Enhanced leader PSO,ELPSO),从单个粒子运动状态的微观层面上开展研究,提高搜索性能。增强领导粒子的粒子群算法(ELPSO)从群体的开发性搜索和探索性搜索两个阶段入手,探索性搜索阶段首先找到群体的领导粒子,即全局最优的粒子Pg,在其带领下不断靠近全局最优值;在此基础上,通过种群所有粒子共同作用下进行彻底的开发性搜索。由于所有的粒子是在领导粒子Pg的带领下完成搜索的,故更高质量的Pg能使搜索过程更高效,增强领导粒子的粒子群算法(ELPSO)最主要的特点即为在每代中通过对Pg的五阶段连续变异提高其质量,分别为:

第一阶段:高斯变异(Gaussian mutation)

高斯变异公式:Pg1(d)=Pg(d)+(xmax(d)-xmin(d))·Gaussian(o,h),d=1,2,…,D。其中,xmax(d)和xmin(d)分别代表第d维决策向量的最高和最低边界;h为高斯分布的标准差。如果变异后的领导粒子Pg1比当前领导粒子Pg更优,则Pg1取代之成为新的领导粒子;否则,Pg保持不变。高斯分布的标准差h采取如式h(t+1)=h(t)-1/tmax线性递减的方式,以此保证初代中具有较强的探索能力,后期具有较强的开发能力。

第二阶段:柯西变异(Cauchy mutation)

柯西变异公式:Pg2(d)=Pg(d)+(xmax(d)-xmin(d))·Cauchy(o,s),d=1,2,…,D。其中s为柯西分布的比例参数,其值也是按照式h(t+1)=h(t)-1/tmax线性递减的;如果Pg2优于当前的Pg,则取代之,否则不变。

第三阶段:Pg各维的反对变异(opposition-based mutation)

本阶段对领导粒子Pg的所有不同的维度分别进行变异,变异公式:Pg3(d)=xmax(d)+xmin(d)-Pg(d),d=1,2,…,D。如果Pg3优于当前的Pg,则取代之,否则不变。

第四阶段:Pg整体的反对变异(opposition-based mutation)

本阶段对领导粒子Pg的整体进行变异,变异公式:Pg4=xmax+xmin-Pg。如果Pg4优于当前的Pg,则取代之,否则不变。

第五阶段:基于差分进化的变异(DE-based mutation)

差分进化变异公式:Pg5=Pg+F(xr-xs)。其中,r和s分别为群体中随机的两个不同的粒子;比例因子F为控制参数。如果Pg5优于当前的Pg,则取代之,否则不变。

通过每代中的五阶段连续变异,能够探索搜索空间中所有的区域以寻找最好的领导粒子,从而缓解过早收敛的问题。另外,当搜索粒子陷入局部最优时,ELPSO的五阶段连续变异策略可以成为跳出机制。

根据PSO算法流程和领导粒子变异过程,绘制的ELPSO算法流程如图2所示。

本发明根据以上原理说明和分析,提出了基于单隐层前馈神经网络(SLFNs)的粒子群优化算法——ELPSO-ELM混合智能算法。图3是ELPSO-ELM混合智能算法的整体流程图。如图3所示,本发明算法包括以下步骤:

S301:随机初始化粒子群中粒子位置和速度:

初始化增强领导粒子的粒子群算法(ELPSO)参数,包括:粒子群算法(PSO)规模N设置为40个,最大迭代次数tmax=30,惯性权重ωmax=0.9、ωmin=0.4,c1=c2=2,r1、r2为[0,1]上随机数;极限学习机(ELM)隐单元个数k设定为20。粒子群算法(PSO)维数计算为D=k*(n+1),其中n为每个粒子的维数。第i个粒子表示为包含了粒子的速度、位置信息,ωi、bi取值范围分别为[-1,1]、[0,1]。

S302:利用训练样本计算初始化种群的每个个体的均方根误差RMSE,以其作为粒子群算法的适应度函数:

极限学习机(ELM)算法激活函数选择sigmoid函数,根据计算输出权值矩阵,其中,g(x)是激活函数,选择sigmoid函数,βi是第i个隐层单元的输出权重,βi=(βi1i2,…,βim)T;wi是第i个隐层单元的输入权重,wi=(wi1,wi2,…,wil)T;bi是第i个隐层单元的偏置,bi=(b1,b2,…,bk)T。反推得到输出矩阵Y',计算Y'与训练数据真实输出矩阵Y的均方根误差(RMSE),以RMSE为粒子的适应度值fitness_P,较小的适应度值为更优粒子。

S303:根据适应度函数计算粒子的适应度值,并令其为最优适应度值:

根据式vid(t+1)=ωvid(t)+c1r1(pid-xid)+c2r2(pgd-xid)、xid(t+1)=xid(t)+vid(t+1)更新粒子速度和位置,并控制取值范围。在增强领导粒子的粒子群算法(ELPSO)中,每次迭代过程中对领导粒子Pg通过五阶段连续变异进行选择,第一阶段Gaussian变异过程为:计算当前粒子的适应度值fitness_Pg;for d=1:D{Pg1=Pg(d)+(Xmax(d)-Xmin(d))·Gaussian(o,h)},计算新粒子适应度值fitness_Pg1;iffitness_Pg1<fitness_Pg,则该粒子取代当前粒子成为种群领导粒子,否则,保留原领导粒子。按此阶段依次继续利用Cauchy变异、Pg各维opposition-based变异、Pg整体opposition-based变异、DE-based变异选择最优领导粒子。

S304:判断是否达到最大设定迭代次数,若达到,则直接进入步骤S206,若未达到,则进入步骤S205。

S305:更新惯性权重和粒子的速度向量和位置向量。

S306:根据适应度函数计算新粒子的适应度值,若优于当前粒子,则设为全局极值点。

S307:再次判断是否达到最大设定迭代次数,若达到,则直接进入步骤S208,若未达到,则返回S205继续执行。

S308:最优适应度对应的粒子即为权重矩阵和隐含层偏差,利用极限学习机(ELM)算法计算输出权重矩阵。

最终增强领导粒子的粒子群算法(ELPSO)输出的最优粒子即为wi和bi最佳取值,再用极限学习机(ELM)算法建立预测模型,导入测试数据进行回归计算,得到真实数据集的预测结果。

实施例

为了说明本发明的技术效果,采用一个具体的应用实例对本发明进行实施验证。

实验选择UCI机器学习库的Statlog(Heart)数据集和Heart Disease Database以验证模型。Statlog(Heart)数据集包含270组实例,Heart Disease Database包含820组实例。

表1是两个数据集相同的特征属性。如表1所示,每个实例包含13属性和1个分类标签值。选择其中约70%实例为训练组,其余为测试组,以1.5为预测分界值用以对比训练结果。

表1

首先为降低计算复杂度,对原始数据集中13个属性进行单因素Logistic回归分析,结果如表2所示。

表2是Heart数据集单因素Logistic回归结果。P值代表了显著性水平,小于0.05为具有明显统计学意义。由分析结果,剔除Trestbps、Fbs两个属性,选择包含其他11个属性的数据作为模型输入。

表2

Logistic回归对于多分类问题解决方法是设置哑变量(记做Dv-Logistic),假设自变量有n个分类,则设置n-1个哑变量,将多分类转换成二分类。

实验流程

实验一:参考经典心血管疾病(CVD)预测模型建立方法,首先利用二元Logistic回归对训练组实例进行回归计算,求得各参数(α,β1,…,β11)值,根据方程式建立预测方程,然后代入测试数据的属性值,对比所得预测值与真实标签值即可得预测正确率。

实验二:对属性值为多分类的第3、7、13个属性设置哑变量,哑变量个数分别为3、2、2,属性11为有序三分类,可不设置哑变量,然后对本组数据利用实验一方法进行分析。

实验三:利用ELPSO-ELM算法步骤对原始数据进行实验分析,算法参数初始化如S201。因增强领导粒子的粒子群算法(ELPSO)每次寻找的最优参数有所不同,导致模型预测正确率有所波动,因此选择30次预测结果的均值作为最终正确率;ELPSO-ELM算法与ELM算法、PSO-ELM算法通过相同实验进行对比。

实验结果

对比Logistic、Dv-Logistic、ELM、PSO-ELM、ELPSO-ELM模型预测结果,统计真阳性(TP)、假阳性(FP)、真阴性(TN)、假阴性(FN)数值,计算灵敏度(正样本正确预测概率)、特异性(负样本正确预测概率)及正确率(总体正确预测概率)。

受试者工作特征曲线(receiver operating characteristic curve,ROC)常用来评定预测模型性能。以真阳性预测率(灵敏度)为纵轴、真阴性预测率(1-特异性)为横轴绘图,以AUC(ROC曲线下面积)大小表示ROC曲线所表达结果的好坏,AUC值在0.5~0.7范围之间时具有较低的准确性,AUC在0.7~0.9之间时具有一定的准确性,AUC在0.9以上时具有较高的准确性。

表3为各模型实验结果对比。

表3

对增强领导粒子的粒子群算法(ELPSO)参数进行分析。

惯性权重ω:增强领导粒子的粒子群算法(ELPSO)中ω一般取值在[0,1],稍大的ω利于扩大群体搜索范围,稍小的ω有利于最终收敛到最优位置,据此,选择了ω值随迭代次数线性变小的策略,以保证增强领导粒子的粒子群算法(ELPSO)具有最优的效果。

学习因子c1、c2:对公式vid(t+1)=ωvid(t)+c1r1(pid-xid)+c2r2(pgd-xid)分析知,c1过大则粒子较多在局部范围搜索,c2过大则粒子过早收敛,结合反复实验及文献查阅,最终选定最优学习因子取值均为2。

粒子群尺度:对于一般优化问题取值在[20,50]之间,若粒子数量设置过小,对实验结果偏差影响较大。经过大量实验,以及对增强领导粒子的粒子群算法(ELPSO)优化维度考虑,平衡模型稳定性、正确率和快速性,将粒子数量设置为40个。

极限学习机(ELM)算法参数及结果影响。

极限学习机(ELM)算法参数调整少,仅需人为设置隐单元个数。由于采取随机初始化隐单元参数,导致预测稳定性和正确率降低。按前述步骤初始化各参数值,并选择在各自最佳隐单元个数下做30次重复实验,对比极限学习机(ELM)算法和ELPSO-ELM算法。

结果得出,极限学习机(ELM)对两数据集预测结果波动较大,且正确率不高;ELPSO-ELM算法在保证预测模型稳定性同时较大地提高了正确率。

极限学习机(ELM)隐单元个数的设定会影响预测正确率及模型学习时间,影响结果见表4,由于单元数对结果影响类似,此处仅列Statlog(Heart)数据集为例说明。

表4为隐单元个数对模型性能的影响。

表4

综上结果表明,对多分类自变量设置哑变量大大提高了Logistic回归预测模型正确率,能解决传统心血管疾病(CVD)预测模型无法纳入多分类因素的问题;利用提出的ELPSO-ELM算法的回归预测,正确率高出Dv-Logistic方法,在避免设置哑变量出现人为误差和较大工作量同时,提高传统模型预测精度,AUC面积大于或接近0.9,具有较高的准确性;利用增强领导粒子的粒子群算法(ELPSO)优化极限学习机,相对于直接用极限学习机(ELM)方法或标准粒子群算法(PSO)优化方法,减少了隐层单元数目,提高了正确率,进一步证明所提方法的有效性。

粒子群优化的计算维度达到240维,提高了数据处理的复杂性,并且增强领导粒子的粒子群算法(ELPSO)五阶段连续变异策略需进行迭代搜索,在提高模型的稳定性和预测正确率的同时降低了极限学习机(ELM)的速度。

综上所述,ELPSO-ELM混合智能算法预测模型达到较高的正确率和稳定性,验证了该模型能避免传统模型纳入预测因子少、数据要求高的局限。

尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1