基于正余弦机制改进飞蛾扑火算法的肺癌预测方法与流程

文档序号:32484470发布日期:2022-12-10 00:33阅读:206来源:国知局
基于正余弦机制改进飞蛾扑火算法的肺癌预测方法与流程

1.本发明涉及肺癌生存预测的技术领域,尤其涉及一种基于正余弦机制改进飞蛾扑火算法的优化肺癌预测方法。


背景技术:

2.近年来,随着大数据技术在医疗行业的出现,医疗领域的数字化水平不断提高,肺癌的各项数据也更加全面,肺癌数据本身包含了各种隐藏的信息和规律,而数据的意义在于需要借助合适的工具才能更直观地将深层次的信息得到表达。随着大数据技术的飞速发展,在计算机辅助下的数据挖掘与建模已成为当前肺癌诊疗技术的热点,全球越来越多的国家重视大数据技术和医学数据技术的结合与应用。
3.近年来,火热的机器学习技术能够很好地对肺癌的病理数据进行深层次的探索和研究。肺癌病理复杂,需要综合考虑患者的性别、年龄、吸烟、黄手指、焦虑、同龄压力、慢性病、疲劳、过敏反应、喘息、喝酒、咳嗽、气促、吞咽困难、胸疼、是否得病等多项指标,并且癌细胞复杂多变,在实际的临床中采用的手术方式和治疗药物选择性较多,仅根据单纯的临床诊断经验,难以选出最优的治疗方案。相比传统的基于数据应用统计学的方法,基于机器学习的肺癌生存预测方法具有更高的自适应性,不仅能排除不必要数据的干扰,寻找单项指标数据和多项指标数据对肺癌的影响,找到和肺癌病理显著度最高的指标,用以分析和学习,从而构建有效的预后指标和标志物模型,建立合理生存预测系统和方法,还能在有限条件下,结合医生的常规诊断经验,给出合理、有效的治疗意见,辅助医生采取适当的治疗方式以提高治疗的精准度和有效性。
4.生物计算是通过生物技术实现信息处理的一个新的研究领域,它具有算法性、分散性等优点。它适用于生物系统的构建和仿真,受到很多生物医学界的广泛关注。目前,生物计算作为生物技术、计算机科学和临床医学的交叉研究领域,致力于高性能计算模型和算法的开发,是探索癌症诊断和治疗研究的重要工具。
5.以肺癌预测为目的,提出基于生物学计算的理论和方法,建立能够反映肺癌多过程、异质性等特征的模型,挖掘各种亚型的新肺癌生物标志物,最后建立个性化、系统化的肺癌预测模型。以肺癌预后为目的,基于统计学分析和生物学计算方法建立预后优质营养指标模型,评价和提高肺癌患者术后生存率。


技术实现要素:

6.针对现有的肺癌生存预测方法复杂度高,精度低的技术问题,本发明提出一种正余弦机制改进飞蛾扑火算法的肺癌预测方法,用tent混沌映射和正余弦机制对mfo(飞蛾扑火)算法进行改进,利用改进mfo算法得出最优权值和阈值,使用所得的最优权值和阈值替代bp神经网络模型中相应数据,将改进的mfo算法和bp神经网络结合对肺癌数据进行训练,具有较好的可行性,寻优精度明显提升。
7.为了达到上述目的,本发明的技术方案是这样实现的:一种基于正余弦机制改进
飞蛾扑火算法的肺癌预测方法,其步骤如下:
8.步骤一:使用归一化方法对采集的肺癌数据进行处理,并将经过处理后的数据分为训练样本数据和测试样本数据;
9.步骤二:搭建bp神经网络,初始化bp神经网络的权重和阈值的参数,将步骤一中的训练样本数据代入bp神经网络进行训练,计算bp神经网络的全局误差;
10.步骤三:使用tent混沌映射初始化mfo算法的飞蛾的种群,将全局误差作为mfo算法的适应度函数,利用正余弦机制更新飞蛾的位置,根据适应度函数计算飞蛾个体的适应度值,适应度值从大到小排序得出最优的飞蛾个体;
11.步骤四:利用最优的飞蛾个体作为bp神经网络的最优权值和阈值构建预测模型,利用训练样本数据对预测模型进行训练,得到肺癌预测模型;
12.步骤五:将测试样本数据代入到训练好的肺癌预测模型,预测肺癌的得病率。
13.所述肺癌数据的每组数据中包含15种影响因素,包括性别、年龄、吸烟、黄手指、焦虑、同龄压力、慢性病、疲劳、过敏反应、喘息、喝酒、咳嗽、气促、吞咽困难、胸疼,输出是是否得病;
14.所述肺癌数据包含309组,训练样本数据为240个,测试样本数据为69个;
15.所述bp神经网络的结构为15-10-1的结构,即输入层、隐蔽层和输出层分别为15、10和1个神经元。
16.所述归一化方法为:利用“mapminmax”函数对包含m种影响因素信息的样本数据进行归一化处理,其公式如下:
[0017][0018]
其中,x
m,min
为第m类影响因素的最小值,x
m,max
为m类影响因素数据的最大值,xm为第m类影响因素的取值,且m的最大值m=15,ym为第m类影响因素归一化后的值。
[0019]
所述全局误差其中,m、q分别为bp神经网络的输入层、输出层中节点数,k为输入样本,do(k)为期望的输出函数、yo(k)为实际输出的函数。
[0020]
所述飞蛾相对于火焰的位置:dm=s(dm,fn);
[0021]
其中,dm代表第m只飞蛾的位置,fn代表第n个火焰的特征值,s()表示螺旋线函数;采用螺旋飞行法进行检测,通过对数螺旋线计算飞蛾未来飞行的主要更新机制,螺旋线函数为:s(dm,fn)=mm×ebl
×
cos(2πt)+fn;
[0022]
其中,mm表示第m只飞蛾与第n个火焰之间的距离,b是常数,假设l是一个在[-r,1]范围的随机数,r在迭代过程中是呈线性递减的变异因子,从-1到-2;
[0023]
所述距离mm=|f
n-dm|。
[0024]
利用随机函数自适应地减少火焰的数量
[0025][0026]
其中,t表示当前的迭代次数,n表示最大的火焰数量,n=185,t
max
是最大的迭代次数;round函数返回一个数值。
[0027]
使用混沌映射初始化mfo算法的飞蛾的种群的方法为:
[0028]
在区间[0,1]中通过映射关系生成混沌序列,并将混沌序列转化为个体搜索空间;
[0029]
所述tent混沌映射的数学表达式为:
[0030][0031]
式中,是混沌参数,分别表示更新前和更新后的位置;
[0032]
选取s个微小差异的初始值,则可得到s个混沌序列再将s个混沌序列通过tent混沌公式映射到相应的个体搜索空间变量:
[0033]
其中,[lbn,ubn]为个体搜索空间变量的搜索范围。
[0034]
所述正弦余弦机制作为局部优化算子嵌入到mfo算法中,在更新迭代后期对全部飞蛾个体采用正弦余弦操作,指导飞蛾个体更新火焰位置,更新公式如下:
[0035][0036]
式中,表示n维个体m的空间飞蛾位置,表示火焰的位置,r1=a-t*a/t
max
,t表示当前迭代次数,t
max
表示最大迭代次数,其指导第i个个体的下一代位置区域或移动方向,a为常数,r2属于区间[0,2π]之间的一个随机数;代表更新前的位置,r3和r4均是(0,1)之间的随机值;
[0037]
用经过正余弦机制更新过的飞蛾进行与当前迭代次数下的火焰适应值进行对比更新最优值;更新后的飞蛾经过适应度排序选出最佳飞蛾,将火焰群与每次迭代得到的最佳飞蛾进行比较,对比更新最优值如果每次迭代得到的最佳飞蛾比火焰群具有更大的适应值,则替换火焰群。
[0038]
选取sigmoid作为核函数,建立预测模型,将最优权值和最优全局误差带入到bp神经网络中得到预测模型:
[0039][0040]
其中,rh为预测模型;xm为bp神经网络的输入层;ω
ij
和ν
jl
分别为bp神经网络的输入层和隐蔽层、隐蔽层和输出层之间的连接权值;aj和b
l
分别为bp神经网络的输入层和隐蔽层、隐蔽层和输出层之间的阈值;tanh为bp神经网络中隐蔽层的激励函数,tanh函数的定义域和值域分别为(-∞,+∞)和(-1,+1)。
[0041]
所述肺癌预测模型的训练方法为:
[0042]
(1)将bp神经网络的输入层、隐蔽层、输出层中各个节点数分别设为m、c、q;给出误差函数给出计算精度值和最大学习次数t
max
;其中,do(k)为期望的输出函数、yo(k)为实际输出的函数;
[0043]
(2)随机选取第k个输入样本和对应的预期输出:
[0044]
pi(k)=(pi1(k),pi2(k),

,pim(k));
[0045]do
(k)=(d1(k),d2(k),

,dq(k));
[0046]
pi(k)为输入样本;
[0047]
重复以下步骤至误差达到要求:
[0048]
(3)计算隐蔽层中各个神经元的输入和输出的值:
[0049][0050]
hoh(k)=f(hih(k))h=1,2,

,m;
[0051][0052]
yoo(k)=f(yio(k))o=1,2,

,m;
[0053]
其中,w
ih
是输入层和隐蔽层之间连接的权值,w
ho
为是隐蔽层和输出层之间的连接权值,bh是隐蔽层中每个神经元的阈值,bo是输出层中每个神经元的阈值,f()是激活函数sigmoid函数;
[0054]
(4)计算误差函数l对输出层各神经元的偏导数,其是根据输出层期望输出和实际输出以及输出层输入等参数计算:
[0055][0056][0057][0058]
(5)计算误差函数对隐蔽层各神经元的偏导数,根据输出层的导数,连接权值w以及该层的输入值参数计算为:
[0059][0060][0061]
[0062][0063]
(6)利用第(4)步中的偏导数来修正连接权值w
ho
(k):
[0064][0065][0066]
(7)利用第(5)步中的偏导数来修正隐藏层连接权值:
[0067][0068][0069]
(8)计算全局误差
[0070][0071]
当此时δw
ho
<0;
[0072]
当此时δw
ho
>0;
[0073]
(9)当误差达到预设的精度或学习次数大于设定的最大次数这两种情况时,算法结束,将计算得到的全局误差值e用于mfo算法的适应度函数;否则,返回到步骤(3)进行下一次循环。
[0074]
本发明的有益效果:改进mfo算法的主要思想是正余弦机制,提高mfo算法对最优解的勘探能力和挖掘能力,提高算法的精度;在初始化阶段,对种群分布使用tent混沌映射,提高原始算法的全局探索能力。构建scmfo-bp模型,来预测肺癌患者的生存水平,以下是本发明的主要贡献:
[0075]
(1)通过标准mfo算法构建mfo-bp预测模型,初步预测肺癌的得病率。
[0076]
(2)通过scmfo算法筛选出最优的权值和阈值,提升模型的准确性。
[0077]
(3)利用最优权值和阈值构建scmfo-bp预测模型,使生成的模型能够准确预测肺癌的得病率。
附图说明
[0078]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0079]
图1为本发明的流程示意图。
[0080]
图2为本发明的仿真实验收敛曲线图。
[0081]
图3为本发明预测值与实际值的对比图。
具体实施方式
[0082]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0083]
如图1所示,一种基于正余弦机制改进飞蛾扑火算法的肺癌预测方法,其步骤如下:
[0084]
步骤一:使用归一化方法对采集的肺癌数据进行处理,并将经过处理后的数据分为训练样本数据和测试样本数据。
[0085]
原始数据集为309组数据,每组数据中包含15种影响因素,包括性别、年龄、吸烟、黄手指、焦虑、同龄压力、慢性病、疲劳、过敏反应、喘息、喝酒、咳嗽、气促、吞咽困难、胸疼、是否得病。选取的数据都是与肺癌得病率相关的影响因素,得病为yes,否则为no,为输出数据。
[0086]
使用的归一化方法为:
[0087]
利用“mapminmax”函数对m种影响因素信息的309个患者的数据。进行归一化处理,其公式如下:
[0088][0089]
其中,x
m,min
为第m类影响因素的最小值,x
m,max
为m类影响因素数据的最大值,xm为第m类影响因素的取值,且m的最大值m=15,ym为第m类影响因素归一化后的值。
[0090]
训练样本数据为240个,测试样本数据为69个。
[0091]
步骤二:搭建bp神经网络,初始化bp神经网络的权重和阈值的参数,将步骤一中的训练样本数据代入bp神经网络进行训练,计算bp神经网络的全局误差。
[0092]
基本思想就是将每一个实验数据作为飞蛾个体代入到bp神经网络当中,将bp神经网络预测的误差作为该个体的适应度值,通过学习循环得到最优解,即将最优的飞蛾个体
作为最优bp神经网络的初始权值。
[0093]
bp神经网络的结构为15-10-1的结构,15-10-1的结构是指输入层、隐蔽层和输出层分别为15、10和1个神经元的神经网络模型。使用公式其中input为输入层,output为输出层,a为[1,10]之间的常数,本发明取6则隐含层为10。
[0094]
将训练样本数据代入到bp神经网络中进行训练,将全局误差值用于scmfo算法的适应度函数。
[0095]
全局误差其中,bp神经网络的输入层、输出层中各个节点数分别设为m、q,分别为15、1。k为输入样本,do(k)为期望的输出函数、yo(k)为实际输出的函数。
[0096]
mfo算法的初始种群位置为初始化bp神经网络的权重和阈值的参数,每组训练样本数据对应一个全局误差,适应度函数不是一个确定的函数,是会随着全局误差的改变而改变的。
[0097]
步骤三:初始化飞蛾扑火优化算法(mfo算法)的飞蛾的种群,将全局误差作为mfo算法的适应度函数,利用tent混沌映射和正余弦机制更新飞蛾的位置,根据适应度函数计算飞蛾个体的适应度值,适应度值从大到小排序得出最优的飞蛾个体。
[0098]
使用混沌映射初始化飞蛾扑火优化算法(mfo算法)的飞蛾的种群,飞蛾的随机游走均基于式(6),用scmfo-bp肺癌影响因素的种类表示阈值和权重的个数,种群中的每个个体的值即为bp神经网络的所有权重和阈值,表现为对权重和阈值数据的计算。个体的适应度通过适应度函数计算所得,最优解由飞蛾优化算法找到具有最佳适应度值的相应个体。飞蛾个体被用来代表bp神经网络的初始权重和阈值,表现为将最优种群位置数据代入模型。每个个体的bp神经网络的预测全局误差值,被用作该个体的适应度值,确定scmfo-bp肺癌影响因素模型最优的阈值和权值。
[0099]
飞蛾扑火优化算法是一种自适应的全局搜索算法,在mfo算法中,飞蛾和火焰代表解决方案,火焰代表每次迭代的解空间,飞蛾在每次迭代中搜索解空间来寻找最优解。飞蛾代表最优解,每次迭代都能更新最优解。
[0100]
在mfo算法中,假定飞蛾在m维解有一个位置空间,用矩阵d表示:
[0101][0102]
其中,d
n,m
为输入的第n组第m个样本数据的特征值。将飞蛾的适应度值保存到矩阵od中,如下所示:
[0103]
[0104]
其中,odn表示第n组样本数据的适应度值。将mfo算法中火焰的矩阵和适应度值分别用矩阵f和of表示,即
[0105][0106][0107]
其中,f
n,m
、ofn分别表示火焰的特征值和适应度值。m表示飞蛾数量,n表示变量数量(维度),本发明中m表示影响因素的数量,n表示影响因素样本数据的数量。
[0108]
为了准确模拟飞蛾的行为,用以下公式更新每个飞蛾相对于火焰的位置:
[0109]dm+1
=s(dm,fn)
ꢀꢀꢀꢀꢀꢀ
(6)
[0110]
其中,dm代表第m只飞蛾的位置,fn代表第n个火焰的特征值(dm、fn取自公式2、公式4),s()表示螺旋线函数。利用随机函数取火焰数量flameno,采用螺旋飞行法进行检测,通过对数螺旋线计算飞蛾未来飞行的主要更新机制,螺旋线的定义如下:
[0111]
s(dm,fn)=mm×ebl
×
cos(2πt)+fnꢀꢀꢀꢀ
(7)
[0112]
其中,mm表示第m只飞蛾与第n个火焰之间的距离,b是常数,假设l是一个随机数在[-r,1],r在迭代过程中是呈线性递减的,从-1到-2,成为变异因子。距离mm由下式计算求得:
[0113]mm
=|f
n-dm|
ꢀꢀꢀꢀꢀꢀ
(8)
[0114]
在迭代过程中,可以用以下公式自适应地减少火焰的数量:
[0115][0116]
这里,t表示当前的迭代次数,n表示最大的火焰数量,根据权重和阈值的数量选取n=185,t
max
是最大的迭代次数。round函数返回一个数值,该数值是按照指定的小数位进行四舍五入运算的结果。火焰数量flameno是为了提升模型的质量而设置。混沌序列有许多特点,如随机性、反复性、规律性等。混沌序列用来初始种群具有多样性的优势,其基本思想是在区间[0,1]中通过映射关系生成混沌序列,并将混沌序列转化为个体搜索空间,产生混沌序列的模型很多,tent混沌映射的数学表达式为:
[0117][0118]
式中,是混沌参数,混沌参数μ越大,随机性越好,所以一般μ取4。分别表示更新前和更新后的位置。
[0119]
tent混沌映射对初始值的选取十分敏感,在公式(9)中选取s个微小差异的初始
值,则可得到s个混沌序列然后再将s个混沌序列作为tent混沌公式映射到相应的个体搜索空间变量
[0120][0121]
其中,[lbn,ubn]为的搜索范围。
[0122]
引入正弦余弦机制作为局部优化算子嵌入到飞蛾扑火群算法中,即在更新迭代后期对全部飞蛾个体采用正弦余弦操作,指导飞蛾个体更新火焰位置,更新公式如下:
[0123][0124]
式中,表示n维个体m的空间飞蛾位置,表示火焰的位置,r1=a-t*a/t
max
,t表示当前迭代次数,t
max
表示最大迭代次数,其指导第i个个体的下一代位置区域或移动方向,该区域位于解决方案和目标之间,a为常数,本发明取a=2;r2属于区间[0,2π]之间的一个随机数。代表更新前的位置,表示在n维时的最优值,通过计算适应度值排序得到。r3和r4均是(0,1)之间的随机值。
[0125]
将得到的适合度值按从大到小进行排序,选出最优的飞蛾个体;用scmfo算法优化bp神经网络,算法中每个种群是包含整个bp神经网络的所有权值和阈值。
[0126]
在迭代过程中适合度值通过适应度函数计算。
[0127]
1)用tent混沌映射对飞蛾种群进行初始化,在初始时使用公式(9)实现,对种群个体进行编码(将每个个体代入公式(9)),生成随机种群。
[0128]
2)设置最大迭代次数t
max
,用归一法对种群个体进行处理,将训练样本数据代入到bp神经网络中进行训练,并通过适应度函数计算出飞蛾个体的适应度。
[0129]
3)当种群最优个体达到最大迭代次数时,终止迭代,退出寻优过程,得到最优化解,否则执行步骤(4)。
[0130]
4)用经过正余弦机制更新过的飞蛾进行与当前迭代次数下的火焰适应值进行对比更新最优值。更新后的飞蛾经过适应度排序选出最佳飞蛾,将火焰群与每次迭代得到的最佳飞蛾进行比较,对比更新最优值如果每次迭代得到的最佳飞蛾比火焰群具有更大的适应值,则替换火焰群(对比替换实现),执行步骤(3)。
[0131]
步骤四:利用最优的飞蛾个体作为bp神经网络的最优权值和阈值构建预测模型,利用训练样本数据对预测模型进行训练,得到肺癌预测模型。
[0132]
利用改进飞蛾扑火算法优化bp神经网络权值和全局误差,选取sigmoid作为核函数,建立预测模型,使用sigmoid作为核函数效果最好。
[0133]
利用scmfo算法计算得到最优权值和最优全局误差,并将最优权值和最优全局误差带入到bp神经网络中得到已经确定的bp神经网络预测模型对肺癌生存预测模型进行构建,从而模型被提出:
[0134][0135]
其中,rh为肺癌生存的预测模型;xm为bp神经网络的输入层;ω
ij
和ν
jl
分别为bp神
经网络的输入层和隐蔽层、隐蔽层和输出层之间的连接权值;aj和b
l
分别为bp神经网络的输入层和隐蔽层、隐蔽层和输出层之间的阈值;tanh为bp神经网络中隐蔽层的激励函数,tanh函数的定义域和值域分别为(-∞,+∞)和(-1,+1)。
[0136]
变量定义:
[0137]
输入向量:pi=(pi1,pi2,pi3…
,pim)
ꢀꢀꢀꢀ
(13)
[0138]
隐蔽层输入向量:hi=(hi1,hi2,

,him)
ꢀꢀꢀꢀ
(14)
[0139]
隐蔽层输出向量:ho=(ho1,ho2,

,hom)
ꢀꢀꢀꢀ
(15)
[0140]
输出层输入向量:yi=(yi1,yi2,

,yim)
ꢀꢀꢀꢀ
(16)
[0141]
输出层输出向量:yo=(yo1,yo2,

,yom)
ꢀꢀꢀꢀꢀ
(17)
[0142]
期望输出向量:do=(d1,d2,

,dm)
ꢀꢀꢀꢀ
(18)
[0143]
样本数据:ki=(k
i,1
,k
i,2
,k
i,3
,

,k
i,309
)
ꢀꢀꢀꢀ
(19)
[0144]
pi为归一化后的数据,隐蔽层输入向量hi=与其相关的每个输入向量*输入层与隐蔽层的连接权值ω
ij
,隐蔽层输出向量ho作为输出层的输入向量yi,输出层输出向量yo=与其关联的输出层的输入向量*隐蔽层与输出层的连接权值ν
jl

[0145]
(1)bp神经网络模型的参数设置。将bp神经网络的输入层、隐蔽层、输出层中各个节点数分别设为m、c、q,分别为15、10、1。给出误差函数l,给出计算精度值和最大学习次数t
max
,误差函数为:
[0146][0147]
其中,do(k)为期望的输出函数、yo(k)为实际输出的函数。
[0148]
(2)随机选取第k个输入样本和对应的预期输出。
[0149]
pi(k)=(pi1(k),pi2(k),

,pim(k))
ꢀꢀꢀꢀ
(21)
[0150]do
(k)=(d1(k),d2(k),

,dq(k))
ꢀꢀꢀꢀꢀꢀ
(22)
[0151]
pi(k)为输入样本,do(k)为期望的输出。
[0152]
重复以下步骤至误差达到要求:
[0153]
(3)计算隐蔽层中各个神经元的输入和输出的值:
[0154][0155]
hoh(k)=f(hih(k))h=1,2,

,m
ꢀꢀꢀꢀ
(24)
[0156][0157]
yoo(k)=f(yio(k))o=1,2,

,m
ꢀꢀꢀꢀꢀ
(26)
[0158]
其中,w
ih
是输入层和隐蔽层之间连接的权值,w
ho
为是隐蔽层和输出层之间的连接权值,bh是隐蔽层中每个神经元的阈值,bo是输出层中每个神经元的阈值,f()是激活函数sigmoid函数。
[0159]
(4)计算误差函数l对输出层各神经元的偏导数,其是根据输出层期望输出和实际输出以及输出层输入等参数计算:
[0160][0161][0162][0163]
(5)计算误差函数对隐蔽层各神经元的偏导数,根据后一层(这里即输出层)的导数,后一层连接权值w,以及该层的输入值等参数计算。
[0164][0165][0166][0167][0168]
(6)利用第(4)步中的偏导数来修正连接权值w
ho
(k)
[0169]
[0170][0171]
(7)利用第(5)步中的偏导数来修正隐藏层连接权值。
[0172][0173][0174]
(8)计算全局误差
[0175][0176]
当此时δw
ho
<0
ꢀꢀ
(39)
[0177]
当误差相对于权重的偏导数大于零,权值调整是负的,实际输出大于预期的输出,权重减少的调整方向,所以实际输出和预期的输出之间的差值将会减少。
[0178]
当此时δw
ho
>0
ꢀꢀ
(40)
[0179]
当误差相对于权重的偏导数小于0时,权重的调整为正值,实际输出小于期望输出,权重的调整方向为增加,这样实际输出和期望输出的差异就会减少。
[0180]
(9)通过误差所训练的神经网络是否符合要求。当误差达到预设的精度或学习次数大于设定的最大次数这两种情况时,算法结束,将公式(38)计算的得到的全局误差值e用于scmfo算法的适应度函数。否则,返回到步骤(3)进行下一次循环。
[0181]
步骤五:将测试样本数据代入到训练好的肺癌预测模型,预测肺癌的得病率。
[0182]
函数测试实验与结果分析
[0183]
(1)参数设置
[0184]
本发明选取飞蛾扑火优化算法(mfo)、正余弦飞蛾扑火优化算法(scmfo)、灰狼优化算法(gwo)、樽海鞘群算法(ssa)、蚁狮优化算法(alo),在30维与100维的可变维基准函数上f1~f10,对不同的优化算法进行比较,为了保证算法比较的公正性,将比较算法的填充次数和迭代次数设置为相同的值。种群设置为30,迭代次数设置为500。
[0185]
表1基准函数公式
[0186][0187]
(2)实验结果与分析
[0188]
使用可变维基准函数,在f1~f10中对飞蛾扑火优化算法(mfo)、正余弦飞蛾扑火优化算法(scmfo)、灰狼优化算法(gwo)、蚁狮优化算法(alo)、樽海鞘群算法(ssa)进行寻优对比。对比结果与收敛曲线如表2、图2所示,通过统一设置相同的维度,种群和选代次数,在保证算法对比的公平性的基础下,进行对比实验验证。
[0189]
图2给出了30维和100维上,七种算法在10个基准函数上的收敛曲线,横轴表示迭代次数,纵轴表示最优适应度,图2中mfo为虚线线条,scmfo为菱形标记线条,gwo为三角形标记线条,ssa优化算法为空心圆形标记线条,alo优化算法为圆形标记线条。对比5种算法的收敛曲线可知,在30维和100维的基准测试函数中,本发明所改进的正余弦飞蛾扑火优化算法都有着最好的收敛精度和收敛速度,直观的证明了正余弦飞蛾扑火优化算法具有一定的优越性。
[0190]
表2为5种算法在30维和100维下的测试结果,使用常用的friedman检验、wilcoxon检验和符号检验方法,分析表2对5种算法检验结果可知:friedman检验时,对5种算法在30维和100维不同维度的平均值的数值大小进行排序,30维时为scmfo《gwo《ssa《mfo《alo,100维时为scmfo《gwo《ssa《alo《mfo;wilcoxon检验时,scmfo与四种优化算法的渐进显著性均小于0.05,证明scmfo与上述四种不同算法之间存在差异性;符号检验结果,在30维时gwo算法在f5测试函数上平均最优值略优于scmfo,其他测试结果scmfo均由于对比的优化算法。对比实验结果证明,改进的飞蛾扑火优化算法与上述四种不同算法之间存在一定的差异
性。均值可以反映每个算法的寻优精度,标准差可以直观反映每个算法的鲁棒性和稳定性。因此通过实验数据可以证明,本文所提出的改进算法的平均值均优于gwo、ssa、alo和mfo,证明scmfo的寻优精度与稳定性均优与另外四种算法。
[0191]
本发明提出正余弦飞蛾扑火优化算法,针对传统飞蛾扑火算法的性能不足,在对飞蛾初始种群,适应度更新控制的改进基础上引进了正余弦机制,改进的算法能够避免局部最优问题,具有更好的收敛速度和精度,通过friedman检验、wilcoxon检验和符号检验对实验数据进行分析,对比灰狼优化算法(gwo)、飞蛾扑火优化算法(mfo)、蚁狮优化算法(alo)、樽海鞘群算法(ssa)4种不同算法,证明scmfo在10个不同基准函数下拥有最优的稳定性、收敛精度和收敛速度,实验结果表明,scmfo与原有的优化算法相比,具有明显的优化效果。具有较好的稳定性,提高了算法的收敛精度和收敛速度,体现了改进算法的有效性,scmfo与bp神经网络结合的效果如图3所示。
[0192]
表2五种算法对比
[0193][0194][0195]
本发明将肺癌数据代入到bp神经网络的输入层,然后初始化飞蛾的数量、维数、最大迭代次数等。将每个bp神经网络预测的误差值作为飞蛾个体的适应度值,然后确定适应度函数;通过对解得到的适应度值进行排序,选择出最优的个体;利用正余弦机制更新飞蛾的位置。scmfo用于优化训练集中每个个体所包含的整个bp神经网络的所有权值和阈值。当达到最初设定的最大迭代次数时,输出相应的最优权值;否则,返回继续循环,直到达到最大迭代次数;利用优化后得到的最优权值和阈值构建bp神经预测模型;通过已确定的bp神
经网络模型对肺癌数据进行分析和预测生存率。
[0196]
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1