浅谈人工免疫算法

来源:互联网 发布:网络理财排行榜 编辑:程序博客网 时间:2024/06/05 08:45

人工免疫算法简介

生物的免疫系统是一种自适应的、自组织的、分布式的系统,是一种能够抵挡外来病原体的具有复杂功能的防御系统,人工免疫系统是一种灵感来源于生物体免疫系统,用于解决计算机领域问题的新兴算法。免疫系统是哺乳动物抵御外来病毒侵害的防御系统,动物的生命过程中会遇到各种伤害可能,免疫系统为其正常的活动起着重要的作用。免疫系统的一大特点就是用有限的资源有效地应对了数量庞大且种类多变的病毒入侵。受此特性的启发,人们设计了一种具有对多峰值函数进行多峰值搜索和全局寻优的新型算法。这种算法称为免疫算法( Immune Algorithm—IA)

人工免疫算法

自体 指生物体自身的细胞

异体 指来自生物个体之外的细胞

抗原 指在病原体上表达的模式

抗体 指用于识别抗原的细胞

亲和力 指抗体和抗原之间的匹配程度

记忆细胞 指亲和力大于指定阈值的抗体

基本原理

人工免疫算法的多样性和亲和力

为了表明全体中的抗体的多样性,引入信息熵的概念,利用熵来计算抗体不同位置上的基因序列的差异性从而得到系统个体的多样性衡量标准;亲和力就类似于模型输出解跟最优解之间的相似度,这在免疫系统中是用来衡量抗原和抗体之间的匹配程度的。

免疫算法的基本步骤

在这里只是简单说一下人工免疫算法的基本流程,主要分为一下七个部分:

1抗原的识别阶段:输入目标函数和各种约束作为免疫算法的抗原

2.初始抗体的产生阶段:在解空间中用随机方法产生抗体

3.亲和力的计算:分别计算抗原和抗体 V 之间的亲和性及抗体 V 和抗体 W 之间的亲和性

4.记忆单元的更新:将与抗原亲和性高的抗体加入到记忆单元,并用新加入的抗体取代与其亲和性最高的原有抗体

5.促进和抑制抗体的产生:计算每个抗体的期望值,抑制期望值低于阈值的抗体;可以知道与抗原间具有的亲和力越高,该抗体的克隆数目越高,其变异率也越低

6.抗体的产生:通过交叉和变异产生进入下一代的抗体

7.终止记忆细胞的迭代:在达到指定阈值的时候终止记忆细胞的生成和选取;应用免疫算法求解实际问题时,常将抗原、抗体、抗原和抗体之间的亲和性分别对应于优化问题的目标函数、优化解、解与目标函数的匹配程度

免疫算法的特点

1.多样性,对抗体的克隆和变异有助于产生新的抗体

2.保证收敛,收敛速度快,即产生满足要求的最优解所用时间较短

人工免疫算法的改进策略

1.个体的表达:可尝试采用抗体的表现型和基因型分离的方法, 通过表现型的选择来进化基因型

2.适当鼓励与最优抗体接近的抗体

3.合理设计记忆库,如记忆库中包含的问题特征和参数,以便在遇到类似问题时也可利用同一记忆库

4.重视个体评价指标的设计,充分体现抑制浓度与鼓励优良的个体相结合的算法特点,以获取更好的多峰值寻优的性能

其他改进型的人工免疫算法

常用的基于人工免疫算法的改进型算法还有免疫规划、免疫遗传算法和否定选择算法等

克隆选择算法

在人工免疫算法模型中未知异体学习是人工免疫系统的关键部分,在这里简单介绍一下另一个比较经典的算法:克隆选择算法(CSA),这是一种模拟人体免疫系统学习过程的进化算法,也是一种比较常用的用于解决人工免疫系统中未知异体学习问题的方法。克隆选择算法首先确定候选抗体集合。其次,根据候选抗体与抗原间的亲和力,选取若干个最佳抗体。然后,对选取的抗体进行克隆、变异,其中,每个抗体被选作为克隆抗体的概率与该抗体和抗原间的亲和力成正比,与抗原间具有的亲和力越高,该抗体的克隆数目越高,其变异率越低。最后,计算新增抗体的亲和力,选取亲和力较高的抗体作为记忆细胞,淘汰余下的抗体。

参考

三种人工免疫算法
人工免疫算法