数学推导!免疫算法收敛性分析,你绝对不能错过!!

文章来源于个人公众号:算法仓库,因为CSDN不支持latex,可能有些字母,公式识别不出来,

仔细阅读,可以访问原文链接:【数学推导】免疫算法收敛性分析,你绝对不能错过!!

1.免疫算法介绍

生物免疫算法(AIA)的应用研究涉及很多领域,考虑到一个工程问题总能构造为一个函数优化问题,因此函数优化计算是免疫算法应用的一个重要方向。生物免疫系统能够随时更新处理不同抗原的抗体,其多样性抗体产生和进化机理可用于求解函数优化问题。

由于函数优化问题的普遍性和重要性,几十年来得到了广泛和深入的研究。

直到现在,仍有许多学者在对函数最优化问题(包括多目标优化问题)作更深入的工作,最优化问题也一直是人们感兴趣的一个问题。

正是因为这些持续的研究工作,才不断出现了新的理论和方法,以满足科学与技术发展的需要,特别是将生物智能算法不断的推动前进,使算法本身更加具有稳定性、鲁棒性以及收敛性和全局搜索能力,同时也具有快速性等特点,为工程所用。

人工免疫系统正引起人们的极大重视,基于免疫系统原理开发的各类算法,遗传算法、差分进化算法、蜂群算法、鱼群算法等,在工程实际问题中,应用越来越广泛,也取得越来越多的成果。

生物种群的多样性是影响生物进化的重要因素之一,遗传算法作为进化计算的代表,通过染色体基因的选择、交叉、变异,获得较强的全局优化功能。

但是GA具有模式收敛性质,难以有效维持模式的多样性,在寻优过程中,容易出现“早熟”现象——局部最优,这也是一般生物智能算法的共同弊端,因而影响到GA的寻化结果,特别是当未知数的维数过高时,遗传算法求解带来的误差很大,只有不断的增大其迭代次数,一般是1e+5次迭代,方能求得全局最优解。

生物免疫系统在遇到未知抗原入侵时,能够迅速搜索到与之匹配的抗体,消除抗原,保持机体健康,这也意味着生物免疫系统具备强大的优化处理机制。

值得注意的是,免疫系统在实现快速优化的同时,主要是通过浓度控制等措施,能够有效保持多种抗体长时期并存。因此,将免疫算法应用到函数优化领域,能够很好的体现其优势,实现其他算法不能解决的问题。

随着广大学者的不断深入研究,对于人工免疫系统的研究,尤其是免疫算法(AIA)的研究,己逐渐成为人工智能研究领域的一个重要研究方向。

人工智能领域的突出发展与贡献是多层次、多学科和多领域相结合下的产物,对当今越来越庞大的函数问题提供了有力技术保障,对信息科学和计算机科学的发展具有重要意义,同时也为工程实践人员提供了许多富有成效的技术和方法。因此,将人工免疫系统的原理应用在优化领域有重要的实际应用价值。

人工免疫算法(AIA)的研究始于20世纪90年代后期,目前算法还不算很成熟,因此有很多待改进的地方。AIA算法来源于生物免疫系统抵抗抗原机制,通过模拟免疫系统的学习、记忆等功能来进行寻优计算、模式识别和分类等。

2.人工免疫算法基本原理

AIA算法中的抗原类比于待寻优的目标函数,抗体则为相应的寻优满意解。把抗体和抗原的亲和力视为可行解与目标函数的匹配程度:用抗体之间的亲和力保证可行解的多样性,通过计算抗体期望生存率来促进较优抗体的遗传和变异,用记忆细胞单元保存择优后的可行解来抑制相似可行解的继续产生并加速搜索到全局最优解,同时,当相似问题再次出现时,能较快产生适应该问题的较优解甚至最优解。

以下是标准人工免疫算法的几个重要概念和关键步骤。

在标准人工免疫算法中,抗体的多样性是采用信息熵来描述的,故又称为基于信息熵的人工免疫算法。抗体基因的信息熵如图所示。

如图-1所示,假设免疫系统由基因长度为M的N个抗体构成,符号集大小为S(对二进制编码,S=2)。

2.1多样度

多样度:为有效维持和扩大免疫系统淋巴细胞种群进化个体的多样性,必须要制定一个有效度量标准来度量和评价个体之间的差异。显然,差异度量标准的有效性和精细程度影响免疫粒子群算法中个体多样性的水平。在此,衡量个体之间差异性用平均信息熵H(N)进行表述,即式1:

为第j个基因的信息熵,将其定义为:

式(20.2) 中 指第 个符号出现在基因座 上的概率, 即:

在基因座上出现第个符号的总个数

2.2 相似度

相似度:相似度 表示两抗体(i与j)间的相似程度,也称亲和力。

式(3)中H(2)为抗体i和j的平均信息熵,可通过(1)式令N=2计算得到。将两个抗体之间相似度的概念扩展至整个群体,即可得到群体总相似度A(N),将其定义为:

A(N)越大,群体多样度越低,A(N)越小,群体多样性越高。由于不论群体规模 为多少, 均落在 与 之间,故采用A(N)表征群体多样度。

2.3 抗体浓度

抗体浓度:指相似抗体占总群体的比重,即:

与抗体相似度大于的抗体数和

其中 指相似度常数,取值范围为 。

2.4 聚合适应度

聚合适应度:聚合适应度实际是对适应度进行修正:

fitness ' fitness

对于最大优化问题,一般 取负数。当进行选择操作时,抗体被选中的概率正比于聚合适应度。即当浓度一定时,适应度越大,被选择的概率越大;而当适应度一定时,抗体浓度越高,被选择的概率越小。

3.人工免疫算法的基本步骤:

标准人工免疫算法在算法设计中,由于采用了信息熵来描述抗体的多样性,故标准人工免疫算法也称作基于信息熵的人工免疫算法。AIA算法在算法设计中,仍然使用交叉和变异操作来对抗体解进行进化操作,并且采用信息熵的形式来保证抗体的多样性。

AIA算法基本步骤如下: (1)问题识别。根据给定的目标函数和约束条件作为算法的抗原。

(2)产生抗体群。初始抗体群通常是在解空间用随机的方法产生的,抗体群采用二进制编码来表示,实际应用中,常常直接采用十进制进行抗体计算更新。

(3)计算抗体适应值。即计算抗原和抗体的亲和度。

(4)生成免疫记忆细胞。将适应值较大的抗体作为记忆细胞加以保留。

(5)抗体的选择(促进和抑制)。计算当前抗体群中适应值相近的抗体浓度,浓度高的则减小该个体的选择概率——抑制;反之,则增加该个体的选择概率——促进,以此保持群体中个体的多样性。

(6)抗体的演变。进行交叉和变异操作,产生新抗体群。

(7)抗体群更新。用记忆细胞中适应值高的个体代替抗体群中适应值低的个体,形成下一代抗体群。

(8)终止。一旦算法满足终止条件则结束算法。否则转到(3)重复执行。

人工免疫算法基本流程如图2所示。

4.人工免疫算法的收敛性分析

定义1:设 是k时抗体群中的最优抗体, 是待求问题抗原,当且仅当 成立,称人工免疫算法是依概率1全局收敛的。

定义2:A是一个 X 的方阵, :

(1)若对所有的记为 ,称矩阵A为非负的;

(2)若矩阵A是非负的,且对所有的有 ,则称矩阵A是随机的;

(3)若矩阵A是非负的,且对A中的行和列经过置换能得到 形式 ( 是方阵),则称矩阵A是可约的。

定理 1: 设 是一个可约随机矩阵, , 其中 是正的 阶随机矩阵, , 则

定理2:人工免疫算法是以概率1全局收敛的。

证明: 在人工免疫算法的设计中, 算法中的交叉操作是以概率 对选择的两个抗体上的两个基因位进行交叉的。 变异操作是对抗体的每个基因以概率 相互独立的进行变异。则算法步骤(1 6) 的 步状态转移可用转移矩阵 来表示, 且 , 根据定义 (1) 和 (2), 状态转移矩阵 随机的。

通过置换将转移矩阵 的各个状态排列如下: 第一个状态为全局最优解; 第二个状态为全局次优解; ……第 个状态为全局最差解。

则算法步骤 (7) 对记忆细胞的更新操作, 可视为: 对任意状态 ,依照 和 对转移矩阵更新, 生产新的转移矩阵 :

其中, 是一阶正的随机矩阵, 根据定义, 状态转移矩阵 是可约的。

根据定理 1, 的第一状态的极限概率为 1, 即 。 由此知人工免疫算法是以概率 1 全局收敛的。

5.人工免疫算法与遗传算法的比较

遗传算法和人工免疫算法都属于进化算法,都采用了达尔文生物进化论的思想,都源于生物系统的启示而构造出来的一种随机启发式搜索算法,遗传算法和人工免疫算法在实现形式上有着相似之处,如都有交叉、变异操作,初始解都是在解空间随机搜索产生的。

但遗传算法和人工免疫算法也有不同之处,具体表现如下:

(l)搜索目的:遗传算法是以搜索问题的全局最优解为目标:而人工免疫算法不仅仅以搜索问题的全局最优解为目标,还搜索多峰值函数的多个极值。

(2)评价标准:由于搜索目的的不同,遗传算法是以解(染色体)对函数的适应值作为唯一的评价标准;而AIA算法综合解(抗体)对函数的适应度值(抗原)以及解(抗体)本身的浓度(为保持抗体群的多样性,只有那些适应值高且浓度较低的个体才是最优的)作为寻优评价标准。

(3)交叉与变异的作用:在GA中交叉操作一方面保留好的“基因”,另一方面给染色体群体带来变化的操作,是遗传算法中的主要操作,而变异操作由于其变化剧烈,只是作为算法中的辅助操作,保证算法平稳地朝着全局最优收敛;在AIA算法中,为维持群体的多样性从而实现多峰值收敛,操作以变异为主,交叉为辅。

(4)记忆细胞:在遗传算法中没有记忆库这一概念。记忆库是受免疫系统具有免疫记忆的特性设计的,在人工免疫算法循环结束时,将问题最后的解及问题的特征参数存储到记忆单元中,以便在下次遇到同类问题时可以借用这次的结论,从而加快问题解决的速度,提高问题解决的效率。

  • 23
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值