智能优化算法之免疫算法(IA)

article/2025/9/24 13:38:51

这里写目录标题

  • 1. 免疫算法思想起源
  • 2. 算法原理
  • 3. 免疫算法算子
    • 3.1 算法算子
      • 3.1.1 亲和度评价算子
      • 3.1.2 抗体浓度评价算子:
      • 3.1.3 激励度计算算子
      • 3.1.4 免疫选择算子
      • 3.1.5 克隆算子
      • 3.1.6 变异算子
      • 3.1.7 实数编码变异算子
      • 3.1.8 离散编码变异算子
      • 3.1.9 克隆抑制算子
      • 3.1.10 种群刷新算子
    • 3.2 亲和度计算方法
      • 3.2.1 基于欧氏实数距离的抗体间亲和度计算方法
      • 3.2.2 基于海明距离的抗体-抗体亲和度计算方法
  • 4. 免疫算法种类和流程
    • 4.1 免疫算法种类
      • 4.1.1 克隆选择算法
      • 4.1.2免疫遗传算法
      • 4.1.3 反向选择算法
      • 4.1.4 疫苗免疫算法
    • 4.2 免疫算法的算法流程
  • 5. 关键参数说明与算法特点
    • 5.1 关键参数说明
    • 5.2 算法特点
  • 参考

1. 免疫算法思想起源

免疫算法是模仿生物免疫机制,结合基因的进化机理,人工构造出的一种新型智能优化算法。

  • 它具有一般免疫系统的特征,采用群体搜索策略,通过迭代计算,最终以较大的概率得到问题的最优解。
  • 相比较于其他算法,免疫算法利用自身产生多样性和维持机制的特点,保证了种群的多样性,克服了一般寻优过程(特别是多峰值的寻优过程)中不可避免的“早熟”问题,可以求得全局最优解。
  • 免疫算法具有自适应性、随机性、并行性、全局收敛性、种群多样性等优点。

2. 算法原理

在这里插入图片描述
根据上述的对应关系,模拟生物免疫应答的过程形成了用于优化计算的免疫算法。算法主要包含以下几大模块:

  • 抗原识别与初始抗体产生。根据待优化问题的特点设计合适的抗体编码规则,并在此编码规则下利用问题的先验知识产生初始抗体种群。
  • 抗体评价。对抗体的质量进行评价,评价准则主要为抗体亲和度个体浓度,评价得出的优质抗体将进行进化免疫操作,劣质抗体将会被更新。
  • 免疫操作。利用免疫选择、克隆、变异、克隆抑制、种群刷新等算子模拟生物免疫应答中的各种免疫操作,形成基于生物免疫系统克隆选择原理的进化规则和方法,实现对各种最优化问题的寻优搜索。

3. 免疫算法算子

3.1 算法算子

免疫算法的算子包括:亲和度评价算子、抗体浓度评价算子、激励度计算算子、免疫选择算子、克隆算子、变异算子、克隆抑制算子和种群刷新算子等。由于算法的编码方式可能为实数编码、离散编码等,不同编码方式下的算法算子也会有所不同。

3.1.1 亲和度评价算子

  • 亲和度评价表征算子免疫细胞与抗原的结合强度。
  • 亲和度评价算子通常是一个函数 a f f ( x ) : S ∈ R aff(x): S∈R aff(x)SR
  • 其中 S S S 为问题的可行解区间, R R R 为实数域。函数的输入为一个抗体个体(可行解),输出即为亲和度评价结果。

3.1.2 抗体浓度评价算子:

抗体浓度评价表征算子抗体种群的多样性好坏。抗体浓度过高意味着种群中非常类似的个体大量存在,不利于全局优化。

  • 抗体浓度通常定义为:

    在这里插入图片描述

  • 式中: N N N 为种群规模; S ( a b i , a b j ) S(ab_i,ab_j) S(abi,abj) 表示抗体间的相似度,可表示为:

在这里插入图片描述
其中 a b i ab_i abi 为种群中的第 i i i 个抗体, a f f ( a b i , a b j ) aff(ab_i,ab_j) aff(abi,abj)为抗体 i i i 与抗体 j j j 的亲和度, δ s \delta_s δs 为相似度阈值。

3.1.3 激励度计算算子

  • 抗体激励度是对抗体质量的最终评价结果,需要综合考虑抗体亲和度和抗体浓度,通常亲和度大、浓度低的抗体会得到较大的激励度。

  • 抗体激励度的计算通常可以利用抗体亲和度和抗体浓度的评价结果进行简单的数学运算得到,如:

    在这里插入图片描述
    式中: s i m ( a b i ) sim(ab_i) sim(abi)为抗体 a b i ab_i abi 的激励度; a 、 b a 、b ab 为计算参数,可以根据实际情况确定。

3.1.4 免疫选择算子

  • 免疫选择算子根据抗体的激励度确定选择哪些抗体进入克隆选择操作
  • 在抗体群中激励度高的抗体个体具有更好的质量,更有可能被选中进行克隆选择操作,在搜索空间中更有搜索价值。

3.1.5 克隆算子

克隆算子将免疫选择算子选中的抗体个体进行复制。克隆算子可以描述为:

在这里插入图片描述
式中: c l o n e ( a b i ) clone(ab_i) clone(abi) m i m_i mi 个与 a b i ab_i abi 相同的克隆构成的集合; m i m_i mi 为抗体克隆数目,可以事先确定,也可以动态自适应计算。

3.1.6 变异算子

  • 变异算子对克隆算子得到的抗体克隆结果进行变异操作,以产生亲和度突变,实现局部搜索。
  • 变异算子是免疫算法中产生有潜力的新抗体、实现区域搜索的重要算子,它对算法的性能有很大影响。
  • 变异算子也和算法的编码方式相关,实数编码的算法和离散编码的算法采用不同的变异算子。

3.1.7 实数编码变异算子

实数编码算法的变异策略是在变异源个体中加入一个小扰动,使其稍偏离原来的位置,落入源个体邻域中的另一个位置,实现变异源邻域的搜索。实数编码算法变异算子可以描述:

在这里插入图片描述

  • 式中: a b i , j , m ab_{i,j,m} abi,j,m 是抗体 a b i ab_i abi 的第 m m m 个克隆体的第 j j j 维; δ \delta δ为定义的邻域的范围,可以事先确定,也可以根据进化过程自适应调整; r a n d rand rand 是产生 ( 0 , 1 ) (0,1) (01) 范围内随机数的函数; p m p_m pm 为变异概率。

3.1.8 离散编码变异算子

离散编码算法以二进制编码为主,其变异策略是从变异源抗体串中随机选取几位元,改变位元的取值(取反),使其落在离散空间变异源的邻域。

3.1.9 克隆抑制算子

  • 克隆抑制算子用于对经过变异后的克隆体进行再选择,抑制亲和度低的抗体,保留亲和度高的抗体进入新的抗体种群。
  • 在克隆抑制的过程中,克隆算子操作的源抗体克隆体经变异算子作用后得到的临时抗体群共同组成一个集合,克隆抑制操作将保留此集合中亲和度最高的抗体,抑制其他抗体。
  • 由于克隆变异算子操作的源抗体是种群中的优质抗体,而克隆抑制算子操作的临时抗体集合中又包含了父代的源抗体,因此在免疫算法的算子操作中隐含了最优个体保留机制。

3.1.10 种群刷新算子

  • 种群刷新算子用于对种群中激励度较低的抗体进行刷新,
  • 从抗体种群中删除这些抗体并以随机生成的新抗体替代,
  • 有利于保持抗体的多样性,实现全局搜索,探索新的可行解空间区域

3.2 亲和度计算方法

3.2.1 基于欧氏实数距离的抗体间亲和度计算方法

  • 对于实数编码的算法,抗体间亲和度计算通常可以通过抗体向量之间的欧氏距离来计算:
    在这里插入图片描述
    式中: a b i , k ab_{i,k} abi,k a b j , k ab_{j,k} abj,k 分别为抗体 i i i 的第 k k k 维和抗体 j j j 的第 k k k 维, L L L 为抗体编码总维数。

3.2.2 基于海明距离的抗体-抗体亲和度计算方法

  • 对于离散编码的算法,衡量抗体-抗体方法亲和度最直接的方法就是利用抗体串的海明距离:
    在这里插入图片描述
    式中
    在这里插入图片描述
    a b i , k ab_{i,k} abi,k a b j , k ab_{j,k} abj,k 分别为抗体 i i i 的第 k k k 位和抗体 j j j 的第 k k k 位, L L L 为抗体编码长度。

4. 免疫算法种类和流程

4.1 免疫算法种类

4.1.1 克隆选择算法

Castro提出了基于免疫系统的克隆选择理论的克隆选择算法,该算法是模拟免疫系统学习过程的进化算法

  • 免疫应答产生抗体是免疫系统的学习过程,抗原被一些与之匹配的B细胞识别,这些B细胞分裂,产生的子B细胞在母细胞的基础上发生变化,以寻求与抗原匹配更好的B细胞,
  • 与抗原匹配更好的子B细胞再分裂……如此循环往复,最找到与抗原完全匹配的B细胞,B细胞变成浆细胞产生抗体,这一过程就是克隆选择过程,

4.1.2免疫遗传算法

Chun 等人提出了一种免疫算法,实质上是改进的遗传算法

  • 根据体细胞和免疫网理论改进了遗传算法的选择操作,从而保持了群体的多样性,提高算法的全局寻优能力。
  • 通过在算法中加入免疫记忆功能,提高了算法的收敛速度。
  • 免疫遗传算法把抗原看作目标函数,将抗体看作问题的可行解,抗体与抗原的亲和度看作可行解的适应度。
  • 免疫遗传算法引入了抗体浓度的概念,并用信息熵来描述,表示群体中相似可行解的多少。
  • 免疫遗传算法根据抗体与抗原的亲和度和抗体的浓度进行选择操作,亲和度高且浓度小的抗体选择率大,这样就抑制了群体中浓度高的抗体,保持了群体的多样性。

4.1.3 反向选择算法

Forrest基于反向选择原理提出了反向选择算法,用于进行异常检测。算法主要包括两个步骤:

  • 首先,产生一个检测器集合,其中每一个检测器与被保护的数据不匹配;
  • 其次,不断地将集合中的每一个检测器与被保护数据相比较,如果检测器与被保护数据相匹配,则判定数据发生了变化。

4.1.4 疫苗免疫算法

焦李成等人基于免疫系统的理论提出了基于疫苗的免疫算法,该算法是在遗传算法中加入免疫算子,以提高算法的收敛速度并防止群体退化。
免疫算子包括疫苗接种免疫选择两个部分,前者为了提高亲和度,后者为了防止种群退化。理论分析表明这种免疫算法是收敛的。

疫苗免疫算法的基本步骤是:

  • 随机产生 N P NP NP 个个体构成初始父代群体;
  • 根据先验知识抽取疫苗;
  • 计算当前父代NP种群所有个体的亲和度,并进行停止条件的判断;
  • 对当前的父代群体进行变异操作,生成子代群体;
  • 对子代群体进行疫苗接种操作,得到新种群;
  • 对新群体进行免疫选择操作,得到新一代父本,并进入免疫循环。

4.2 免疫算法的算法流程

免疫算法运算流程如图4.1所示:

在这里插入图片描述

  • (1) 首先进行抗原识别,即理解待优化的问题,对问题进行可行性分析,提取先验知识,构造出合适的亲和度函数,并制定各种约束条件。
  • (2) 然后产生初始抗体群,通过编码把问题的可行解表示成解空间中的抗体,在解的空间内随机产生一个初始种群。
  • (3) 对种群中的每一个可行解进行亲和度评价。
  • (4) 判断是否满足算法终止条件:如果满足条件,则终止算法寻优过程,输出计算结果;否则,继续寻优运算。
  • (5) 计算抗体浓度和激励度。
  • (6) 进行免疫处理,包括免疫选择、克隆、变异和克隆抑制。

在这里插入图片描述

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

5. 关键参数说明与算法特点

5.1 关键参数说明

在这里插入图片描述

5.2 算法特点

  • 全局搜索能力。模仿免疫应答过程提出的免疫算法是一种具有全局搜索能力的优化算法
  • 多样性保持机制。对抗体进行浓度计算,并将浓度计算的结果作为评价抗体个体优劣的一个重要标准;它使浓度高的抗体被抑制,保证抗体种群具有很好的多样性,这也是保证算法全局收敛性能的一个重要方面。
  • 鲁棒性强。基于生物免疫机理的免疫算法不针对特定问题,而且不强调算法参数设置和初始解的质量,利用其启发式的智能搜索机制,即使起步于劣质解种群,最终也可以搜索到问题的全局最优解,对问题和初始解的依赖性不强,具有很强的适应性和鲁棒性。
  • 并行分布式搜索机制。免疫算法不需要集中控制,可以实现并行处理。尤其适合于多模态的优化问题。

参考

《智能优化算法及其matlab实例 (第二版)》


http://chatgpt.dhexx.cn/article/MnOrN6R6.shtml

相关文章

免疫算法(Immune Algorithm,IA)实例详解

免疫算法是将免疫概念及其理论应用于遗传算法,在保留原算法优良特性的前提下,利用抗体浓度评价算子和激励度计算算子来保持群体的多样性,克服了一般寻优过程中(特别是多峰值)不可避免的“早熟”问题。 1 算法概念 免…

一文搞懂什么是免疫算法Immune Algorithm【详细介绍】

本文参考了很多张军老师《计算智能》的第七章知识。 本文来源:https://blog.csdn.net/qq_44186838/article/details/109181453 免疫算法 1.1 算法简介 免疫算法(Immune Algorithm,IA):是指以在人工免疫系统的理论为基…

免疫算法(Immune Algorithm)详解

关于免疫算法(IA),其功能与遗传算法、模拟退火等算法实现的功能是相同的,都是用来求最优解。例如求函数最值、旅行商问题等。从本质上说,免疫算法更像是遗传算法的一种延申。IA虽然其中借鉴了生物学(免疫学…

免疫算法

免疫算法是受生物免疫系统的启发而推出的一种新型的智能搜索算法,是一种确定性和随机性选择相结合并具有"勘探"与"开采"能力的启发式随机搜索算法。 算法主要的步骤: (1)抗原识别与初始抗体产生。 (2)抗体评价 (3)免疫操作 免疫算法的特点: (1)…

闵可夫斯基距离—大白话篇幅[有错误的话请指教]

包括:曼哈顿距离,欧氏距离,切比雪夫距离; 举例子:两个点:A(1,9),B(5,8) 1,曼哈顿距离: 就是取和:|(1-5)||(9-8)|5;曼哈顿…

闵可夫斯基距离(LP距离)、曼哈顿距离、欧式距离、切比雪夫距离、马哈拉诺比斯距离、相关系数、夹角余弦

标题闵可夫斯基距离(LP距离)、曼哈顿距离、欧式距离、切比雪夫距离、马哈拉诺比斯距离、相关系数、夹角余弦 在聚类中,可以将样本集合看作是向量空间中的点的集合,以该空间的距离表示样本之间相似度。常用的距离有闵可夫斯基距离,闵可夫斯基…

【Python经典题目】闵可夫斯基距问题

题目 定义一个高维空间样本点集类HDPoints,须包含以下数据属性与方法属性: (a)数据属性self.points:类型为列表,由多个子列表构成,每个子列表表示高维空间中的一个数据点,且数据维度可以任意,…

欧氏距离、曼哈顿距离、切比雪夫距离、闵可夫斯基距离

转载自:https://baijiahao.baidu.com/s?id1577090844304882120&wfrspider&forpc 欧氏距离(Euclidean Distance) 欧氏距离是最容易直观理解的距离度量方法,我们小学、初中和高中接触到的两个点在空间中的距离一般都是指欧氏距离。 欧氏距离 二…

数值属性的相异性:闵可夫斯基距离

本文介绍数值属性刻画的对象之间的相异性度量,首先,应该把数据进行规范化,使之落入更小的值域,例[0,1],[0.0,1.0] 1:最流行的距离度量:欧几里得距离 2:曼哈顿距离 3&…

各种距离 欧式距离、曼哈顿距离、切比雪夫距离、闵可夫斯基距离、标准欧氏距离、马氏距离、余弦距离、汉明距离、杰拉德距离、相关距离、信息熵...

1. 欧氏距离(Euclidean Distance) 欧氏距离是最容易直观理解的距离度量方法,我们小学、初中和高中接触到的两个点在空间中的距离一般都是指欧氏距离。 二维平面上点a(x1,y1)与b(x2,y2)间的欧氏距离: 三维空间点a(x1,y1,z1)与b(x2,y2,z2)间的欧氏距离: n维空间点a(x1…

常用的相似度计算方法----欧式距离、曼哈顿距离、马氏距离、余弦、汉明距离、切比雪夫距离、闵可夫斯基距离、马氏距离

在深度学习以及图像搜索中,经常要对特征值进行比对,得到特征的相似度,常见的特征值比对方法有汉明距离、余弦距离、欧式距离、曼哈顿距离、切比雪夫距离、闵可夫斯基距离、马氏距离等,下面对各种比对方法分别进行介绍。 目录 1汉…

机器学习部分:距离的度量(欧氏距离,曼哈顿距离,夹角余弦距离,切比雪夫距离,汉明距离,闵可夫斯基距离,马氏距离)

目录 距离计算方法 1.欧式距离EuclideanDistance 2. 曼哈顿距离(ManhattanDistance) 3. 夹角余弦 4.切比雪夫距离(Chebyshevdistance) 5. 汉明距离(Hamming Distance) 6. 闵可夫斯基距离(Minkowski Distance) 7. 马氏距离(Mahalanobis Distance)…

【大数据】曼哈顿距离 欧几里得距离 与 闵可夫斯基距离Minkowski Manhattan Euclidean

这里写目录标题 闵可夫斯基距离曼哈顿距离欧几里得距离 e . g . e.g. e.g. 曼哈顿距离与欧几里得距离 三种距离计算算法 闵可夫斯基距离 闵可夫斯基距离(Minkowski Dis) ,是 曼哈顿距离(Manhattan Dis) 与 欧几里得距离(Euclidean Dis) 的一般形式。一般不常直接使…

样本相似性度量(欧几里得距离、曼哈顿距离、切比雪夫距离、闵可夫斯基距离、标准化欧氏距离)

样本相似性度量(欧几里得距离、曼哈顿距离、切比雪夫距离、闵可夫斯基距离、标准化欧氏距离) 在分类过程中,常常需要估算不同样本直接的 Similarity Measurement (相似性度量)。 此时常用的方法就是计算两个样本直接…

机器学习聚类算法中的闵可夫斯基距离

最近闲着没事了解一下聚类算法,闵可夫斯基距离真有趣,搞得我有点一头雾水,废话不多,上定义: 本文从公式上表述了欧几里得距离、曼哈顿距离、切比雪夫距离记忆闵可夫斯基距离之间的关系。 一般而言,定义一…

距离度量:欧式距离/曼哈顿距离/切比雪夫距离/闵可夫斯基距离/标准化欧氏距离/余弦距离/汉明距离/杰卡德距离/马氏距离

日萌社 人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新) 2 常见的距离公式 2.1 欧式距离(Euclidean Distance): 欧氏距离是最容易直观理解的距离度量方法,我们小学、初中和高中接…

欧式距离余弦相似度matlab,相似度计算——欧氏距离,曼哈顿距离,闵可夫斯基距离,汉明距离,夹角余弦...

在机器学习领域,被俗称为距离,却不满足三条距离公理的不仅仅有余弦距离(满足正定性和对称性,但是不满足三角不等式),还有KL距离( Kulback- Leibler Divergence),也叫作相对熵(不满足对称性和三角不等式),它常用于计算两个分布之间的差异 欧氏距离 欧氏距离: 切比雪夫距离…

闵可夫斯基距离

本文从公式上表述了欧几里得距离、曼哈顿距离、切比雪夫距离记忆闵可夫斯基距离之间的关系。 一般而言,定义一个距离函数 d(x,y), 需要满足下面几个准则: 1) d(x,x) 0 // 到自己的距离为0 2) d(x,y) > 0 // 距离非负 3) d(x,y) d(y,x) // 对称…

闵可夫斯基距离(MinkowskiDistance)

闵可夫斯基距离(MinkowskiDistance) 闵氏距离不是一种距离,而是一组距离的定义。 (1)闵氏距离的定义 两个n维变量a(x11,x12,…,x1n)与b(x21,x22,…,x2n)间的闵可夫斯基距离定义为: 其中p是一个变参数。 当p1时,就是曼哈顿距离 当p2时&#xf…

Linux操作系统概述

Linux操作系统概述 Linux发展历史Linux的发展要素Linux与UNIX的异同操作系统类型选择和内核版本的选择Linux的系统架构 Linux内核的主要模块Linux的文件结构 Linux发展历史 Linux操作系统于1991年诞生,目前已经成为主流的操作系统之 一 。其版本从开始的0.01版本到…