人工智能-免疫算法

这是一类智能的算法,没有什么固定的模式,就是一个算法思想,可以给我们一些有价值的指导,当我们想要做一些相关工作的时候,可以扩宽我们的视野,打开我们的脑洞,借鉴其中的原理。我不想多说里面的什么数学和公式,只要你懂里面的思想会迁移到实际的应用中就很不错,更好的则是在其基础上形成自己的思维,需要用的话,就像什么神经网络一样,最好使用现成的框架。

其实在这个之前,我建议观看这篇博客的大家先看看遗传算法,在那里我说的理解的总结的比较细,这里就比较笼统的,因为感觉二者比较类似。

简介

在百度词条上的介绍是这样的

我发现不知道怎么就跟遗传算法又重合了?了解之下发现,二者确实是有很大程度的相似的,在遗传算法中我们依靠适应度来评判交叉和变异之后的样本,以此来设定该样本的可遗传性。

在免疫算法中,我们的过程也大概是如此,对于一个带解决的问题(抗原识别),我们抽取已知的解(初始抗体群),而后根据该解的得分情况(亲和度评价),得到每个解样本的价值,也就是可以继续进一步改造的可能性,类似于遗传中的适应度。而后选择样本进行变换操作(免疫处理),借此得到得分更高的解样本,在一次一次的变换过程中逐渐接近最后解。

免疫算法的流程

  (1)抗原识别,即理解待优化的问题,对问题进行可行性分析,提取先验知识,构造出合适的亲和度函数,并制定各种约束条件。

   (2)初始抗体群,通过编码把问题的可行解表示成解空间中的抗体,在解的空间内随机产生一个初始种群。

   (3)对种群中的每一个可行解进行亲和度评价。

   (4)判断是否满足算法终止条件;如果满足条件则终止算法寻优过程,输出计算结果;否则继续寻优运算。

   (5)计算抗体浓度和激励度。

   (6)进行免疫处理,包括免疫选择、克隆、变异和克隆抑制。

        免疫选择:根据种群中抗体的亲和度和浓度计算结果选择优质抗体,使其活化;

        克隆:对活化的抗体进行克隆复制,得到若干副本;

        变异:对克隆得到的副本进行变异操作,使其发生亲和度突变;

        克隆抑制:对变异结果进行再选择,抑制亲和度低的抗体,保留亲和度高的变异结果。

  (7)种群刷新,以随机生成的新抗体替代种群中激励度较低的抗体,形成新一代抗体,转步骤(3)。

我相信看过上一篇遗传算法的人应该很容易理解这个的原理,实际上的差别并不是很大,

有几个关键点需要明确一下:

多样性和亲和力

为了表明全体中的抗体的多样性,引入信息熵的概念,利用熵计算不同基因序列的差异性从而得到一个衡量系统个体的多样性的值;亲和力则是评价样本跟最优解之间的相似度,这在免疫系统中是用来衡量抗原和抗体之间的匹配程度的,也就是一个打分评价的函数。

促进和抑制抗体的产生

计算每个抗体的亲和力,抑制期望值低于阈值的抗体;抗原对其具有的亲和力越高(也就是越接近最优解),该抗体的克隆数目越高,遗传的可能性也就越高(其变异率也越低?,这句话还值得仔细思考,一个样本越接近最优解,它是应该更需要变异还是更不需要)

抗体的产生

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

有关的概念 便于理解算法

抗原:在生命科学中,是指能够刺激和诱导机体的免疫系统使其产生免疫应答,并能与相应的免疫应答产物在体内或体外发生特异性反应的物质。在我们的算法中,是指所有可能错误的基因,即非最佳个体的基因。

抗体:在生命科学中,是指免疫系统受抗原刺激后,免疫细胞转化为浆细胞并产生能与抗原发生特异性结合的免疫球蛋白,该免疫球蛋白即为抗体。在本文中是指根据疫苗修正某个个体的基因所得到的新个体。其中,根据疫苗修正某个个体基因的过程即为接种疫苗,其目的是消除抗原在新个体产生时所带来的负面影响。

免疫疫苗:根据进化环境或待求问题,所得到的对最佳个体基因的估计。

免疫算子:同生命科学中的免疫理论类似,免疫算子也分两种类型:全免疫和目标免疫,二者分别对应于生命科学中的非特异性免疫和特异性免疫。其中,全免疫是指群体中每个个体在变异操作后,对其每一环节都进行一次免疫操作的免疫类型;目标免疫则指个体在进行变异操作后,经过一定判断,个体仅在作用点处发生免疫反应的一种类型。前者主要应用于个体进化的初始阶段,而在进化过程中基本上不发生作用,否则将很有可能产生通常意义上所说的“同化现象”;后者一般而言将伴随群体进化的全部过程,也是免疫操作的一个常用算子。

免疫调节:在免疫反应过程中,大量的抗体的产生降低了抗原对免疫细胞的刺激,从而抑制抗体的分化和增殖,同时产生的抗体之间也存在着相互刺激和抑制的关系,这种抗原与抗体、抗体与抗体之间的相互制约关系使抗体免疫反应维持一定的强度,保证机体的免疫平衡。

免疫记忆:指免疫系统将能与抗原发生反应的抗体作为记忆细胞保存记忆下来,当同类抗原再次侵入时,相应的记忆细胞被激活而产生大量的抗体,缩短免疫反应时间。

抗原识别:通过表达在抗原表面的表位和抗体分子表面的对位的化学基进行相互匹配选择完成识别,这种匹配过程也是一个不断对抗原学习的过程,最终能选择产生最适当的抗体与抗原结合而排除抗原。

https://www.cnblogs.com/Hand-Head/articles/5159172.html 四种常见的免疫网络

 https://baike.baidu.com/item/%E5%85%8D%E7%96%AB%E7%AE%97%E6%B3%95/11066860?fr=aladdin

https://blog.csdn.net/zuochao_2013/article/details/71698418

https://blog.csdn.net/together_cz/article/details/72637671

猜你喜欢

转载自blog.csdn.net/iamsongyu/article/details/87071159