9.3.3 特征级融合实现
以上述介绍的抗体相似度、抗体浓度等定义以及精英选择策略、自适应策略为基础,下面给出基于改进遗传免疫算法的图像特征级融合的具体步骤:
1.确定编码方式和参数
基于免疫遗传的特征融合目的是从原始特征向量中选出d个特征的最优组合,组成融合特征。这里采用二进制编码,选中的特征取为1,否则为0,则抗体编码长度为原始特征向量个数。根据实际需求确定种群规模、选择率、变异率和终止进化代数。
2.生成初始抗体群
对于初次应答,随机产生N个初始抗体,而对于再次应答,则借助免疫机制的记忆功能,部分初始抗体由记忆细胞获取,剩余的抗体随机地产生。
3.计算抗体的亲和度、浓度和激励度
抗体的亲和度表征免疫细胞与抗原的结合强度,定义为
aff(xi)=100psum-10d/L(9-6)式中,psum是抗体xi十折交叉验证训练模型的识别率,d为选中的特征个数,L为原始特征向量的特征个数。
十折交叉验证是指将每类目标的训练样本分为十份,轮流将其中九份作为训练数据,一份作为测试数据,进行试验。一般需循环十次,直到所有十份数据全部被选择一遍为止,十次验证的正确率平均值即为psum。
抗体的浓度表征了抗体种群多样性的好坏,过高的抗体浓度意味着种群中存在大量相似的个体,寻优搜索会集中于可行解区间的一个区域,不利于全局优化。因此应抑制种群中浓度过高的个体,以保证个体的多样性。抗体xi的浓度定义为
式中,,
,xi为种群中的第i个抗体,aff(xi,xj)为抗体xi与抗体xj的亲和度,xik为抗体xi的第k位。
抗体的激励度是对抗体质量的最终评价结果,与抗体浓度和抗体亲和度密不可分,通常浓度低而亲和度大的抗体具有较高的激励度。抗体xi的激励度可以利用抗体亲和度和抗体浓度进行简单的数学运算得到,如:
sim(xi)=aff(xi)-10den(xi)(9-8)
计算所有抗体的激励度,把抗体按激励度从小到大的顺序排列,将适应度最大的抗体保留为精英抗体,然后将其复制和保存。
4.抗体记忆库初始
设定记忆库的大小为十个,从初始化种群中选择抗体激励度最好的两个个体进行存储。
5.选择、交叉和变异操作
本章采用正比选择策略对抗体执行选择操作,以PC为概率交叉抗体,对于经过交叉操作后的抗体,以PM为概率随机对种群进行变异,形成新一代种群。根据式(9-4)和式(9-5),自适应改变PC、PM。
6.群体更新
把抗体按激励度从小到大的顺序排列,用记忆抗体代替遗传操作后产生的新种群中前几个个体。如果这一代抗体群中没有与精英抗体激励度相同的抗体,则将保存的精英抗体复制一个到该抗体群中,并将该抗体群中激励度最小的抗体删除;如果这一代抗体群中激励度最大的抗体其激励度的值大于精英抗体的激励度的值,则将这个激励度最大的抗体复制一个,并以它作为新的精英抗体替代保存的精英抗体。
7.更新抗体记忆库
如果抗体记忆库未满,选择最好的两个新个体更新补充记忆库;如果抗体记忆库已满,则选择最好的两个新个体替换记忆库中最差的两个个体。
8.终止检验
若达到终止进化代数,则结束整个算法的运行,输出融合特征;否则,返回步骤3。
改进免疫遗传算法的图像特征级融合流程图如图9-5所示。
图9-5 改进的免疫遗传算法流程图