基于果蝇优化算法的糖尿病视网膜病变分级深度学习方法[发明专利]
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(19)中华人民共和国国家知识产权局
(12)发明专利申请
(10)申请公布号 (43)申请公布日 (21)申请号 202011103209.2
(22)申请日 2020.10.15
(71)申请人 桂林电子科技大学
地址 541004 广西壮族自治区桂林市七星
区金鸡路1号
(72)发明人 王茂发 高光大 单维锋 龚启舟
韩定良
(74)专利代理机构 桂林市华杰专利商标事务所
有限责任公司 45112
代理人 陆梦云
(51)Int.Cl.
G06T 7/00(2017.01)
G06N 3/08(2006.01)
G06N 3/04(2006.01)
G06N 3/00(2006.01)
G06K 9/62(2006.01)G06F 30/27(2020.01)G06Q 10/04(2012.01)
(54)发明名称基于果蝇优化算法的糖尿病视网膜病变分级深度学习方法(57)摘要本发明公开了一种基于果蝇优化算法的糖尿病视网膜病变分级深度学习方法,该方法首次实现了多子群搜索过程中的动态子群湮灭和逃逸机制,同时将多子群、列维搜索与高斯边界校正机制有机融合,从而提高寻找全局最优解的能力,降低陷入局部最优解的风险。
在模型所使用的糖尿病性视网膜病变图像数据集上,通过对糖尿病性视网膜病数据集进行10轮交叉验证,MALBFOA ‑DL与基准模型之间在召回率数据上的比较,显而易见的,几乎在每个回合中,MALBFOA ‑DL模型与同级别的基准模型(使用VGG ‑16)相比较,
都获得了更好的结果。
权利要求书5页 说明书13页 附图4页CN 112184697 A 2021.01.05
C N 112184697
A
1.一种基于果蝇优化算法的糖尿病视网膜病变分级深度学习方法,其特征是:包括:
(1)基于列维飞行的空间搜索机制
在dim维搜索空间中采用列维步长的阶梯分布,表示为如下公式(1):
式中,dim是搜索空间的维度,而β代表用于调节稳定性的重要列维指数,s表示步长,u 与v则服从标准正态分布,分布如公式(2)所示:
式中σu和σv可由公式(3)计算得出:
式中,Γ表示伽马函数;
(2)基于高斯分布的越界矫正机制
通过观察果蝇在觅食过程中的行为,果蝇种群中某些果蝇会飞出较远的距离,在算法中部分参数会越过由搜索空间的上界ub和下界lb确定的边界,则将果蝇个体的位置坐标X 矫正回正确的范围,通过以下公式(4)实现对超出范围的果蝇进行越界矫正:
其中lb和ub分别是搜索空间的上界和下界,可以是多个维度;当果蝇越过边界时,立即矫正返回边界,或移动至边界以内范围越界矫正过程公式表达如公式(5)所示:
d t~N(0,1,dim) (5)
式中,d表示返回距离,t代表是越过边界的果蝇数量;
(3)基于多子群协同的增强机制
1)改进样本划分方法:通过将种群分为M个有相同数量的果蝇个体子群,其中,第m个子群的第i个对象的坐标X m,i的初始化过程如公式(6):
式中:X axis,m为在搜索空间中随机获得的第m个子群的初始坐标,X0为由等式(7)获得的搜索空间的中心;R0为根据等式(8)的初始搜索半径,表示点积(逐项乘法) X0=(lb(:)+ub(:))/2 (7)
R0=(ub(:)-lb(:))/2 (8)
2)改进判别变量计算过程:使用基于列维飞行算法随机获得不同子群中搜索的坐标点作为判断变量的方法,如公式(9):
式中:R为根据等式在每个迭代中的搜索半径,其计算过程如公式(10);Radio_levy为等式所描述的列维随机过程的比例因子,其计算过程如公式(11):
R=R0*((nit-it)/nit)^pa (10)
其中nit表示总迭代次数,it则体现当前已执行的迭代次数,Pa为搜索空间的迭代比例
因子:
3)改进子群协同机制:在子群间采用由公式(12)所定义的一种改进的子群协作机制,用作多子群机制的补充,以便搜索到每轮算法进行迭代后的最优解:
将坐标X new代入适应度函数以计算通信气味值Fit Communitcate,如果Fit Communitcate小于获得的全局适应度SmellBest,则使用Fit Communitcate更新全局适应度,并将PosBest值赋给X new 完成最佳位置更新:
(4)基于子群湮灭的算法运算优化机制
1)初始化子群湮灭参数:设置用于子群湮灭的迭代比例stopTimes;设定对M个子群在每个湮灭迭代过程的湮灭比例killRatio;以固定比例reliveRatio随机选择被湮灭的一部分子群,然后将其复活为正常子群并继续进行迭代;利用上述参数,根据湮灭机制得到的总迭代参数nit可以由公式(14)所表示:
2)评估湮灭效率:将所有子群按照适应性降序,更新速率的升序,子群以湮灭时间的降序顺序进行排序,将其中具有更高等级的子群添加到湮灭组中(kills);湮灭评估将在经过nit'次的迭代(nit'=nit*10%)后执行;
3)实施湮灭:经过nit'次的迭代(nit'=nit*10%)后,将进行子群的湮灭操作,属于湮灭阵列中的子群将停止进行进一步的优化,并且更新其湮灭参数,降低评估函数迭代次数,以获得更佳的优化方向;
4)湮灭逃逸:在步骤3)中进行子群湮灭操作的同时,根据等式以固定比例(reliveRatio)随机选择一部分被湮灭的子群将其复活并重新参与迭代优化,其选择方式如公式(15):
式中:relive为再次复活并参加迭代的子群,Θ表示求两者的差集;
(5)将步骤(1)-(4)集成到现有的FOA中,根据MALBFOA算法进行运算优化;
(6)在MALBFOA算法中,对时间复杂度进行分析,估计nit的迭代次数以及执行子组湮灭机制,其中:
O(Initialization)=O(M×popsize×dim)×oneRandTime,O(Levyflight mechanism)=O(nit×M×popsize×dim)×oneLevyTime,O(Estimating fruit fly fitness)=O(M×popsize+nit×M×popsize×(1-killRatio))×oneFitnessTime;
式中:oneRandTime表示执行一次rand函数的时间;oneFitnessTimeo表示一次执行评
估的时间(计算适应度值);oneLevyTime表示执行一次莱维操作所需的时间;
因此,可以得出:
O(MABLFOA)=O(M×popsize×dim)×oneRandTime+O(nit×M×popsize×dim)×oneLevyTime+O(M×popsize+nit×M×popsize×(1-killRatio))×oneFitnessTime;
(7)MALBFOA-DL算法
使用MALBFOA模型优化深度卷积神经网络CNN中的三个关键超参数,以生成新的深度学习框架MALBFOA-DL:
在基于果蝇优化算法的糖尿病眼底病变分级深度学习模型中,以预训练的inception v3作为基础,迁移训练最后2-4层连接层与分类器,得到一个能够更好的完成对糖尿病性视网膜病变图像数据集进行分类的模型;
1)对数据集进行处理,检查眼睛的分布和严重程度,根据以下量表:0-无DR,1-轻度,2-中度,3-严重,4-增生性DR,临床医生对每个图像中存在的糖尿病性视网膜病进行了区分,对每幅图像按照其是左眼或者右眼以及属于上述量表中哪个级别进行分类;糖尿病性视网膜病变严重程度的分布非常不均匀且极化,其中:第1级,第2级,第3级,第4级和第5级的样本数分别为25810、2443、5292、873和708;
2)使用基于果蝇优化算法的糖尿病眼底病变分级深度学习模型,以可训练模式对最后2-4层完成对Inceptionv3模型的迁移学习,从原始图像中提取深度特征;在模型的训练中,以9︰1的比例将数据随机分为训练集和测试集,分为10轮,平衡训练集中的分布,根据疾病的严重程度将每组训练集分为五类,然后在不同类别中执行替换方法抽样;每个疾病类别的样本量为1000。
2.根据权利要求1所述的深度学习方法,其特征是:步骤(1)所述用于调节稳定性的重要列维指数为1.5。
3.根据权利要求1所述的深度学习方法,其特征是:步骤(2)所述果蝇返回边界过程的移动距离大致服从dim维的高斯分布,高斯分布的概率密度表示由公式(16)所示:
式中,Dist i值随机分布,在FOA算法中模型目标的气味浓度判断数值(S i),定义见公式(17)被限制在了一个较小的范围,根据原有模型定义,Si取值范围大于0:
S i=1/Dist i (17)
步骤(2)所述校正过程由公式(18)表示:
4.根据权利要求1所述的深度学习方法,其特征是:步骤(5)所述MALBFOA算法如下所示:
对象:最小目标气味浓度
输入:适应度函数f(x),最大评估数(MaxFEs),总体大小(popSize),维度(dim),搜索范围(lb,ub),
输出:最佳气味浓度SmellBest和最佳位置BestPos.
(1)初始化参数:popsize,MaxFE,M,子群湮灭率(killRatio),搜索空间的原始位置
(R0),搜索空间的原始半径(R1),搜索空间的迭代缩放因子(Pa);
(2)初始化M个子群的初始位置X axis,m(1≤m≤M)
For m=1 to M
For i=1 to popsize
通过公式(1)初始化第m个子群的第i个位置X m,i;
将X m,i代入适应度函数以计算Smell;
End For
[bestSmell,bestIndex]=min(Smell);
X axis,m=X(bestIndex);
groupBestSmell m=bestSmell;
groupBestPos m=X(bestIndex);
End For
[SmellBest,BestPos]=min(groupBestSmell);
(3)根据方程式(14)评估湮灭机制,计算迭代次数nit,并初始化最佳嗅觉阵列IterationSmell of nit的迭代次数;
(4)按照公式(11)描述的莱维随机过程计算比例因子(Radio_levy);
(5)迭代优化:
while(iteration it<nit)
·根据上文所述,用M个子群的湮灭率(killRatio)实施子群湮灭,获得湮灭阵列kill;
·根据公式(10)动态更新每次迭代的半径(R);
R=R0×((nit-it)/nit)pa
For m 1to M
If m在湮灭阵列kills
继续;
End if
For i 1to popsize
按照公式(9)所述列维机制更新X m,i;
按照公式(18)所述纠正越界对象;
计算Smellvalue,确定适应度函数中当前对象数量
End For
·[bestSmell,bestIndex]=min(Smell);
X axis,m=X(bestIndex);
groupBestSmell m=bestSmell;
groupBestPos m=X(bestIndex);
更新第m个子群的湮灭参数(准确率,存活率,更新次数);
End For
·[SmellBest,BestPos]=min(groupBestSmell);
·按照公式(12)描述获得子群间交流情况;
将替代坐标X new代入适应度函数以计算交流气味值Fit communitcate.
If Fit communitcate<SmellBest SmellBest=Fit communitcate;BestPos=X new;
End
iteration=iteration+1;IterationSmell m=SmellBest;End While
(6)返回min(IterationSmell)。
基于果蝇优化算法的糖尿病视网膜病变分级深度学习方法
技术领域
[0001]本发明涉及人工智能领域,具体的说是一种多种机制加强的果蝇非平衡问题优化算法,更具体的说是一种基于果蝇优化算法的糖尿病视网膜病变分级深度学习方法。
背景技术
[0002]原始的果蝇优化算法(下称FOA)是一种受到果蝇使用视觉和嗅觉觅食的觅食行为的启发,进而推演出的全局寻优优化算法。
算法模型仿照真实世界中果蝇群体在觅食中,果蝇个体各自对事物进行搜索,并通过团体的合作与信息交流,来达成整个群体以较为高效的方式完成向食物进行迭代式趋近搜索的情况。
在实际应用中,原始算法及其相关改进算法具有结构简单,控制参数少,易于理解的优点。
但是,原始FOA及各种改进算法在多模问题、非对称问题和复杂问题上的收敛速度和解的质量仍然不是很理想,存在寻找最优解中过程中突变概率较低的问题,模型搜索空间也因此受到限制,并导致原始FOA算法及改进算法会出现困于局部最优解而无法找到全局最优解,或者找到多个最优解的情况。
[0003]同时因为糖尿病视网膜病变眼底数据量大(>50G),类别数据量又高度不平衡,造成在采用已有的各种深度学习方法进行优化时,超参数的选择异常困难,很难取到最优。
发明内容
[0004]为了克服上述现有技术的缺点,本发明提供了一种基于多种进制(列维机制、边界反弹机制、多子群协同机制、子群湮灭机制)加强的果蝇算法(MALBFOA),该方法能有效提高FOA算法的收敛速度,提高解寻优过程中方向和步长上的突变概率,避免除局部最优解,提高并改进解的质量;使用上述改进后果蝇优化算法优化的深度学习方法迁移学习方法(MALBFOA-DL),在糖尿病眼底病变图片数据集的病变等级分级上也取得了较好的效果。
[0005]实现本发明目的的技术方案是:
[0006]一种基于果蝇优化算法的糖尿病视网膜病变分级深度学习方法,包括:[0007] 1.基于列维飞行的空间搜索机制
[0008]在dim维搜索空间中采用列维步长的阶梯分布,表示为如下公式(1):
[0009]
[0010]式中,dim是搜索空间的维度,而β代表用于调节稳定性的重要列维指数,s表示步长,u与v则服从标准正态分布,分布如公式(2)所示:
[0011]
[0012]式中σu和σv可由公式(3)计算得出:
[0013]
[0014]式中,Γ表示伽马函数;
[0015] 2.基于高斯分布的越界矫正机制
[0016]观察果蝇的觅食行为,在觅食过程中,果蝇种群中某些果蝇会飞出较远的距离,在算法中部分参数会越过由搜索空间的上界(ub)和下界(lb)确定的边界,则将果蝇个体(即模型优化对象)的位置坐标(X)矫正回正确的范围,通过以下公式(4)实现对超出范围的果蝇进行越界矫正:
[0017]
[0018]其中lb和ub分别是搜索空间的上界和下界,可以是多个维度;当果蝇越过边界时,立即矫正返回边界,或移动至边界以内范围越界矫正过程公式表达如公式(5)所示:[0019]d t~N(0,1,dim) (5)
[0020]式中,d表示返回距离,t代表是越过边界的果蝇数量;
[0021] 3.基于多子群协同的增强机制
[0022](1)改进样本划分方法:通过将种群分为M个有相同数量的果蝇个体子群,其中,第m个子群的第i个对象的坐标(X m,i)的初始化过程如公式(6):
[0023]
[0024]式中:X axis,m为在搜索空间中随机获得的第m个子群的初始坐标,X0为由等式(7)获得的搜索空间的中心;R0为根据等式(8)的初始搜索半径,表示点积(逐项乘法)
[0025]X0=(lb(:)+ub(:))/2 (7)
[0026]R0=(ub(:)-lb(:))/2 (8)
[0027](2)改进判别变量计算过程:使用基于列维飞行算法随机获得不同子群中搜索的坐标点作为判断变量的方法,如公式(9):
[0028]
[0029]式中:R为根据等式在每个迭代中的搜索半径,其计算过程如公式(10);Radio_ levy为等式所描述的列维随机过程的比例因子,其计算过程如公式(11):
[0030]R=R0*((nit-it)/nit)^pa (10)
[0031]其中nit表示总迭代次数,it则体现当前已执行的迭代次数,Pa为搜索空间的迭代比例因子:
[0032]
[0033](3)改进子群协同机制:在子群间采用由公式(12)所定义的一种改进的子群协作机制,用作多子群机制的补充,以便搜索到每轮算法进行迭代后的最优解。
[0034]
[0035]将坐标X new代入适应度函数以计算通信气味值Fit Communitcate,如果Fit Communitcate小于获得的全局适应度SmellBest,则使用Fit Communitcate更新全局适应度,并将PosBest值赋给X new完成最佳位置更新:
[0036]
[0037] 4.基于子群湮灭的算法运算优化机制
[0038](1)初始化子群湮灭参数:设置用于子群湮灭的迭代比例stopTimes;设定对M个子群在每个湮灭迭代过程的湮灭比例killRatio;以固定比例reliveRatio随机选择被湮灭的一部分子群,然后将其复活为正常子群并继续进行迭代;利用上述参数,根据湮灭机制得到的总迭代参数nit可以由公式(14)所表示:
[0039]
[0040](2)评估湮灭效率:将所有子群按照适应性降序,更新速率的升序,子群以湮灭时间的降序顺序进行排序,将其中具有更高等级的子群添加到湮灭组中(kills);湮灭评估将在经过nit'次的迭代(nit'=nit*10%)后执行;
[0041](3)实施湮灭:经过nit'次的迭代(nit'=nit*10%)后,将进行子群的湮灭操作,属于湮灭阵列中的子群将停止进行进一步的优化,并且更新其湮灭参数,降低评估函数迭代次数,以获得更佳的优化方向;
[0042](4)湮灭逃逸:在步骤(3)中进行子群湮灭操作的同时,根据等式以固定比例(reliveRatio)随机选择一部分被湮灭的子群将其复活并重新参与迭代优化,其选择方式如公式(15):
[0043]
[0044]Θ
[0045]式中:relive为再次复活并参加迭代的子群,表示求两者的差集;
[0046] 5.将步骤1-4集成到现有的FOA中,根据MALBFOA算法进行运算优化;
[0047] 6.在MALBFOA算法中,对时间复杂度进行分析,估计nit的迭代次数以及执行子组湮灭机制,其中:
[0048]O(Initialization)=O(M×popsize×dim)×oneRandTime,O(Levy flight mechanism)=O(nit×M×popsize×dim)×oneLevyTime,O(Estimating fruit fly fitness)=O(M×popsize+nit×M×popsize×(1-killRatio))×oneFitnessTime;[0049]式中:oneRandTime表示执行一次rand函数的时间;oneFitnessTimeo表示一次执行评估的时间(计算适应度值);oneLevyTime表示执行一次莱维操作所需的时间;[0050]因此,可以得出:
[0051]O(MABLFOA)=O(M×popsize×dim)×oneRandTime+O(nit×M×popsize×dim)×oneLevyTime+O(M×popsize+nit×M×popsize×(1-killRatio))×oneFitnessTime。
[0052]7.MALBFOA-DL算法
[0053]使用MALBFOA模型优化深度卷积神经网络(CNN)中的三个关键超参数,以生成新的深度学习框架(MALBFOA-DL):
[0054]在基于果蝇优化算法的糖尿病眼底病变分级深度学习模型中,以预训练的inception v3作为基础,迁移训练最后2-4层连接层与分类器,得到一个能够更好的完成对糖尿病性视网膜病变图像数据集进行分类的模型;
[0055](1)对数据集进行处理,检查眼睛的分布和严重程度,根据以下量表:0-无DR,1-轻度,2-中度,3-严重,4-增生性DR,临床医生对每个图像中存在的糖尿病性视网膜病进行了
区分,对每幅图像按照其是左眼或者右眼以及属于上述量表中哪个级别进行分类;糖尿病性视网膜病变严重程度的分布非常不均匀且极化,其中:第1级,第2级,第3级,第4级和第5级的样本数分别为25810、2443、5292、873和708;
[0056](2)使用基于果蝇优化算法的糖尿病眼底病变分级深度学习模型,以可训练模式对最后2-4层完成对Inceptionv3模型的迁移学习,从原始图像中提取深度特征;在模型的训练中,以9︰1的比例将数据随机分为训练集和测试集,分为10轮,平衡训练集中的分布,根据疾病的严重程度将每组训练集分为五类,然后在不同类别中执行替换方法抽样;每个疾病类别的样本量为1000(包括重复采样)。
[0057]进一步的:
[0058]步骤1所述用于调节稳定性的重要列维指数为1.5。
[0059]步骤2所述果蝇返回边界过程的移动距离大致服从dim维的高斯分布,高斯分布的概率密度表示由公式(16)所示:
[0060]
[0061]式中,Dist i值随机分布,在FOA算法中模型目标的气味浓度判断数值(S i),定义见公式(17)被限制在了一个较小的范围,根据原有模型定义,Si取值范围大于0:
[0062]S i=1/Dist i (17)
[0063]步骤2所述校正过程由公式(18)表示:
[0064]
[0065]步骤5所述MALBFOA算法如下所示:
[0066]对象:最小目标气味浓度
[0067]输入:适应度函数f(x),最大评估数(MaxFEs),总体大小(popSize),维度(dim),搜索范围(lb,ub),
[0068]输出:最佳气味浓度SmellBest和最佳位置BestPos.
[0069](1)初始化参数:popsize,MaxFE,M,子群湮灭率(killRatio),搜索空间的原始位置(R0),搜索空间的原始半径(R1),搜索空间的迭代缩放因子(Pa);
[0070](2)初始化M个子群的初始位置X axis,m(1≤m≤M)
[0071]For m=1to M
[0072]For i=1to popsize
[0073]通过公式(1)初始化第m个子群的第i个位置X m,i;
[0074]将X m,i代入适应度函数以计算Smell;
[0075]End For
[0076][bestSmell,bestIndex]=min(Smell);
[0077]X axis,m=X(bestIndex);
[0078]groupBestSmell m=bestSmell;
[0079]groupBestPos m=X(bestIndex);
[0080]End For
[0081][SmellBest,BestPos]=min(groupBestSmell);
[0082](3)根据方程式(14)评估湮灭机制,计算迭代次数nit,并初始化最佳嗅觉阵列IterationSmell of nit的迭代次数;
[0083](4)按照公式(11)描述的莱维随机过程计算比例因子(Radio_levy);
[0084](5)迭代优化:
[0085]while(iterationit<nit)
[0086]·根据上文所述,用M个子群的湮灭率(killRatio)实施子群湮灭,获得湮灭阵列kill;
[0087]·根据公式(10)动态更新每次迭代的半径(R);
[0088]R=R0×((nit-it)/nit)pa
[0089]For m=1to M
[0090]If m在湮灭阵列kills
[0091]继续;
[0092]End if
[0093]For i=1to popsize
[0094]按照公式(9)所述列维机制更新X m,i;
[0095]按照公式(18)所述纠正越界对象;
[0096]计算Smellvalue,确定适应度函数中当前对象数量
[0097]End For
[0098]·[bestSmell,bestIndex]=min(Smell);
[0099]X axis,m=X(bestIndex);
[0100]groupBestSmell m=bestSmell;
[0101]groupBestPos m=X(bestIndex);
[0102]更新第m个子群的湮灭参数(准确率,存活率,更新次数);
[0103]End For
[0104]·[SmellBest,BestPos]=min(groupBestSmell);
[0105]·按照公式(12)描述获得子群间交流情况;
[0106]将替代坐标X new代入适应度函数以计算交流气味值Fit communitcate.
[0107]
[0108]
[0109](6)返回min(IterationSmell)。
[0110]本发明的有益效果是:在算法中首次实现了多子群搜索过程中的动态子群湮灭和逃逸机制,同时将多子群、列维搜索与高斯边界校正机制有机融合,从而提高寻找全局最优
解的能力,降低陷入局部最优解的风险。
具体来说,每个子群依据列维飞行机制和高斯跨界校正机制,各自独立搜索解空间,提高了解空间的质量,并优化了解空间的搜索效率,解决了原有模型易陷入局部最优的问题;在此基础上,采用子群湮灭机制对模型优化过程进行剪枝,动态确定哪个子群继续参与迭代(优化方向),哪些子群将被湮灭,从而节省更多的评估时间与计算能力,并将其用于收敛性更强、更优化的方向上,从而提高算法的收敛速度,进而达到提高算法效率的目的;边界高斯校正机制能够进一步节约搜索算法在边界上的算力浪费问题,并将解的搜索方向向着边界内以高斯分布的形式进行优化。
在模型所使用的糖尿病性视网膜病变图像数据集上,通过对糖尿病性视网膜病数据集进行10轮交叉验证,MALBFOA-DL与基准模型之间在召回率数据上的比较,显而易见的,几乎在每个回合中,MALBFOA-DL模型与同级别的基准模型(使用VGG-16)相比较,都获得了更好的结果。
附图说明
[0111]图1为本发明实施例MALBFOA算法的流程图;
[0112]图2为本发明实施例使用拟议的MALBOFA模型对深度学习(DL)分类模型进行参数优化的示意图;
[0113]图3为本发明实施例MALBFOA-DL模型的流程图;
[0114]图4为本发明实施例MALBFOA-DL模型的总体框架的体系结构图;
[0115]图5为本发明实施例通过对糖尿病性视网膜病数据集进行10轮交叉验证,MALBFOA-DL与基准模型之间在召回率数据上的比较图。
具体实施方式
[0116]下面结合附图和实施例对本发明作进一步的阐述,但不是对本发明内容的限定。
[0117]实施例:
[0118]一种基于果蝇优化算法的糖尿病视网膜病变分级深度学习方法,包括如下步骤:[0119]1、基于列维飞行的空间搜索机制
[0120]列维飞行机制通常用于改进元启发式算法,本质上是随机的非高斯遍历,其遍历特征为:大多数遍历步幅分布于一个较小的范围,而少数情况下则会出现一个幅度较大的调整。
其具体步幅分布类似于报道中醉酒者回家途中寻路情况。
一般来说喝醉酒的人走路会呈现站立不稳、步幅蹒跚,但大多数情况依然能够回到家中,极少迷路,在这个过程中他们的行动路线大略遵循列维机制,仅少数例外。
从上述实例看来在目标对象处于不规则运动式模型下,列维飞行机制具有良好的优化特性。
[0121]本方法所采用列维步长的阶梯分布(在dim维搜索空间中)可以表示为如下公式:
[0122]
[0123]其中,dim是搜索空间的维度,而β代表用于调节稳定性的重要列维指数(同常来说是1.5),s表示步长,u与v则服从标准正态分布,具体分布如下文公式(2)所示:
[0124]
[0125]其中σu和σv具体可由公式(3)计算得出。
公式(3)如下:
[0126]
[0127]在公式(3)中,Γ表示伽马函数。
[0128]2、基于高斯分布的越界矫正机制
[0129]通过观察果蝇的觅食行为,可以发现在觅食过程中,果蝇种群中某些果蝇可能飞出较远的距离,而具体到优化算法中则体现为部分参数可能会越过由搜索空间的上界(ub)和下界(lb)确定的边界。
在这种情况下,需要将果蝇个体(即模型优化对象)的位置坐标(X)校正回正确的范围。
通常,可以通过以下公式(4)实现对超出范围的果蝇进行校正:
[0130]
[0131]其中lb和ub分别是搜索空间的上界和下界,可以是多个维度(如dim维)。
在先前的对醉酒者的研究中发现,醉酒者在回家的过程中,一旦发现自己在一个陌生的地方,便会立即回头。
大多数情况下醉酒者会往回退一小段距离,然后重新寻找归途,但偶尔也会出现突然向回走一大段的情况。
受此启发,当果蝇越过边界时,它也应立即返回边界,甚至直接移动到边界以内少许的范围。
一般认为,这种返回过程的移动距离大致服从dim维的高斯分布,高斯分布表达如公式(5)所示:
[0132]d t~N(0,1,dim) (5)
[0133]式中:d表示返回距离,t代表是越过边界的果蝇个体。
[0134]在用上述移动距离校正的新校正过程可以由等式(6)表示。
[0135]
[0136]以现今所知,这是在FOA算法的改进中首次采用此方法来更正模型优化对象。
[0137]3、多子群增强机制
[0138]为解决FOA算法中存在可能会困于局部最优解而难以得到全局最优解的情况,在本专利方法中,提出了一种新的多子群增强机制,下文将会对其中涉及的三个改进点进行具体介绍:
[0139](1)改进的样本划分方法
[0140]本专利方法通过将种群分为M个有相同数量的果蝇个体的子群(通常为10个),以增强解的多样性并实现对整个指定区域的有效探索,从而避免陷入局部最优或早熟(过早收敛)的情况。
其中,第m个子群的第i个对象的坐标(Xm,i)的初始化过程如公式(7):
[0141]
[0142]其中Xaxis,m是在搜索空间中随机获得的第m个子群的初始坐标。
X0是由等式(8)获得的搜索空间的中心。
R0是根据等式(9)的初始搜索半径,表示点积(逐项乘法) [0143]X0=(lb(:)+ub(:))/2 (8)
[0144]R0=(ub(:)-lb(:))/2 (9)
[0145](2)改进的判别变量计算过程:
[0146]实际上,显而易见的,公式(10)中的Disti值在一个较大的范围内呈随机分布。
然。