【智能优化算法】人工免疫算法 (Immune Algorithm, IA), 1986

article/2025/9/24 12:39:04

前言

  1. 最早的免疫系统起源于1973-1976年间Jerne的三篇关于免疫网络的文章
  2. 1986年Farmer在此基础上提出了基于网络的二进制的免疫系统
  3. 模拟生物免疫系统的抗原识别、细胞分化、记忆和自我调节功能的一类算法

遗传算法的思想简单讲就是父代之间通过交叉互换以及变异产生子代,不断更新适应度更高的子代,从而达到优化的效果。

而免疫算法本质上其实也是更新亲和度(这里对应上面的适应度)的过程,抽取一个抗原(问题),取一个抗体(解)去解决,并计算其亲和度,而后选择样本进行变换操作(免疫处理),借此得到得分更高的解样本,在一次一次的变换过程中逐渐接近最后解。

截止到 2023 年,算法引用趋势

1. 免疫算法的生物原理

  • 抗原: 被免疫系统看做异体,引起免疫反应的分子
  • 抗体: 免疫系统用来鉴别和移植外援物质的一种蛋白质复合体.每种抗体只识别特定的目标抗原
  • 淋巴细胞: 免疫系统中起主要作用的微小白细胞,包括B细胞和抗体,T细胞和细胞因子以及自然杀伤细胞
  • B细胞: 全称是B淋巴细胞,在骨髓分化成熟,免疫系统的本质部分
  • T细胞: 全称是T淋巴细胞,在胸腺分化成熟,按功能可以分为细胞毒T细胞(cytotoxic T cell), 辅助T细胞(helper T cell), 调节/抑制T细胞(regulatory/suppressor T cell)和记忆T细胞(memory T cell)
  • 亲和力: 抗体和抗原,抗体和抗体之间的相似程度
  • 记忆细胞: 指亲和力大于指定阈值的抗体

2. 免疫系统模型

  1. 把重心放在B细胞表层的抗体和抗原之间的机制上
  2. 抗体和抗原的亲和程度由它的抗体决定簇和抗原的决定基的匹配程度决定假设每个抗原和每个抗体型分别只有一个抗原决定簇(实际它们都有许多不同类型的抗原决定基)
  3. 通过这些决定基之间的匹配程度控制不同类型抗体的复制和减少,以达到优化系统的目的.

3. 免疫算法基本流程

3.1 基本组件

3.2 算法流程

3.3 免疫算法的七个要素

识别抗体,生成初始化的抗体,计算亲和度,记忆细胞分化,抗体促进和抑制,产生新的抗体,结束条件。

1. 识别抗体

把目标函数和约束作为抗体。

2. 生成初始化的抗体

随机生成独特型串维数为 M 的 N 个抗体。

3. 计算亲和度

这个步骤可以说是免疫算法的重点,同时也是最难点。

(1) 抗体 v v v 和抗原的亲和度为 a x v ax_v axv

a x v = 1 1 + o p t v ax_v = \frac{1}{1 + opt_v} axv=1+optv1

其中 o p t v opt_v optv 表示抗体 v v v 和抗原的结合强度,对最优化问题,可以用抗体 v v v 的独特型的解和已知的最优解的相似程度表示,例如对函数 f = x 1 2 + x 2 2 + x 3 3 , x i ∈ [ − 10 , 10 ] , i = 1 , 2 , 3 , . . . f = x_1^2 + x_2^2 + x_3^3, x_i \in [-10, 10], i = 1, 2, 3, ... f=x12+x22+x33,xi[10,10],i=1,2,3,... 求最优解,已知的最优解是 0 0 0,那么抗体 v v v o p t v opt_v optv 就是其所代表的解在函数下的适应值。若是一个最大化问题,则 o p t v = ∣ f v − f m a x f m a x ∣ opt_v = |\frac{f_v - f_{max}}{f_{max}}| optv=fmaxfvfmax. 其中 f m a x f_{max} fmax 是最优解的适应值, f v f_v fv 是抗体 v v v 的适应值。

(2)抗体 v v v 和抗体 w w w 的亲和度为:

a y v , w = 1 1 + E ( 2 ) ay_{v, w} = \frac{1}{1 + E(2)} ayv,w=1+E(2)1

其中 E ( 2 ) E(2) E(2) v v v w w w 的平均信息熵。通过这些平均信息熵,算法实现了多样化。下面简单介绍一下信息熵。基因的信息熵如图 7.9 所示

免疫系统有 N N N 个抗体,有 M M M 个基因(或独特型串的长度为 M M M), 第 j j j 个基因的信息熵为 E j ( N ) : E_j(N): Ej(N):
E j ( N ) = ∑ i = 1 N − p i j l o g K p i j E_j(N) = \sum_{i=1}^N -p_{ij} log_K p_{ij} Ej(N)=i=1NpijlogKpij

其中 K K K 表示独特型串的字母表的长度,若为二进制数就是 2, p i j p_{ij} pij 表示选择第 i i i 个抗体的第 j j j 位等位基因的概率,很明显 ∑ i = 1 N p i j = 1 \sum_{i=1}^N p_{ij} = 1 i=1Npij=1, 所以代表多样性的平均信息熵 E ( N ) E(N) E(N) 为:
E ( N ) = 1 M ∑ j = 1 M E j ( N ) E(N) = \frac{1}{M} \sum_{j=1}^M E_j(N) E(N)=M1j=1MEj(N)

(4)记忆细胞分化

同人的免疫系统基本一致。

与抗原有最大亲和度的抗体加入了记忆细胞。由于记忆细胞数目有限,因此新生成的抗体将会代替记忆细胞中和它有最大亲和力者。

(5)抗体促进和抑制

最开始我介绍免疫算法其实就有提到这个。

通过计算抗体 v v v 的期望值,消除那些低期望值的抗体。

抗体 v v v 的期望值 e v e_v ev 的计算公式为亲和度除以抗体 v v v 的密度:
e v = a x v c v e_v = \frac{ax_v}{c_v} ev=cvaxv

其中抗体 v v v 的密度的计算方法如下:
c v = − q k N c_v = -\frac{q_k}{N} cv=Nqk

其中 q k q_k qk 表示和抗体 k k k 有较大亲和力的抗体。通过这个公式能有效地抑制抗体的过分相似,避免算法的未成熟收敛。

(6)产生新的抗体

这里就对应我最开始提到的遗传算法和免疫算法相似地方了。

基于不同抗体和抗原亲和力的高低,使用轮盘赌的方法 ,选择两个抗体。然后把这两个抗体按一定变异概率做变异,之后再做交叉,得到新的抗体。重复操作(6)知道产生所有N个新抗体。可以说免疫算法产生新的抗体的过程需要遗传算子的辅助。

(7)结束条件

如果求出的最优解满足一定的结束条件,则结束算法。

4. 算法特点

通过模仿免疫系统抗体与抗体之间的抑制和促进,让解向量相互之间产生对抗,有效的避免解向量过于相似所产生的过早收敛

5. 算法相关改进

主要分为两个大类

  1. 基本免疫算法与其他算法的融合
    • 最典型的是具有良好效果的免疫遗传算法
    • 免疫算法与蚁群算法、粒子群算法等多种进化算法都有混合算法
  2. 在初始免疫系统上重新建模,采取免疫系统的其他特征
    • 负选择算法
    • 克隆选择算法

References

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

[2] 浅谈人工免疫算法

[3] 免疫算法(Immune Algorithm)详解


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

相关文章

基于免疫优化算法的TSP算法

文章目录 一、理论基础二、案例背景1、问题描述2、解决思路及步骤(1). 算法流程(2). 算法实现过程 三、MATLAB程序实现1、程序源码2、结果分析 四、参考文献 一、理论基础 TSP(traveling salesman problem,旅行商问题)是典型的NP完全问题,即其最坏情况下的时间复杂…

2018-4-8免疫算法(Immune IA)

学习资料来源: 【图文】免疫算法_百度文库 https://wenku.baidu.com/view/39eb47ec551810a6f52486ee.html?sxts1523143415445 《智能优化算法以及matlab实现》包子阳,余继周 编著 自己觉的好资源,但是看不懂 三种人工免疫算法综述_图文…

免疫算法(二进制)算例(源码实现)

之前我们讲解了免疫算法以及离散的免疫算法。见链接: 万字长文了解免疫算法原理 及求解复杂约束问题(源码实现) 离散免疫算法求解旅行商问题(源码实现) 今天讲下二进制的免疫算法。 我爱学习,爱玉酱。 算例 假设一个数PD210&#…

免疫算法(Immune Algorithm)

概念 人工免疫算法(Immune Algorithm)是一种具有生成检测 (generate and test)的迭代过程的群智能搜索算法。从理论上分析,迭代过程中,在保留上一代最佳个体的前提下,遗传算法是全局收敛的。 对于遗传算法:在对算法的实施过程中…

人工免疫算法概述

一、免疫系统 什么是病毒? 病毒是一种简单的生活形式:包裹在保护壳中的一些基因。这些基因是制造新病毒的指令。 在细胞外,病毒无法繁殖。但是一旦病毒入侵了活细胞,它就会将该细胞变成病毒工厂。随着时间的流逝,成…

人工智能-免疫算法

这是一类智能的算法,没有什么固定的模式,就是一个算法思想,可以给我们一些有价值的指导,当我们想要做一些相关工作的时候,可以扩宽我们的视野,打开我们的脑洞,借鉴其中的原理。我不想多说里面的…

免疫算法Python实现

1.流程 免疫算法与遗传算法其实非常相似,但其独特的地方在于,免疫算法用激励度而非亲和度来衡量结果的好坏,而激励度又与抗体密度有关,这就使得密度大的抗体激励度反而小,让免疫算法有全局搜索的能力,不容易…

免疫算法详解

基本思想是将想要求解的各类优化问题的目标函数(约束条件)与抗原相对应,找到可以与抗原进行亲和反应的抗体,该抗体就是要求的最优解。 最核心要解决的就是 1.计算抗原和抗体的亲和度,亲和度越高,越可能是最…

人工免疫算法总结

人工免疫算法简介 免疫系统 免疫系统是哺乳动物抵御外来病毒侵害的防御系统,动物的生命过程中会遇到各种伤害可能,免疫系统为其正常的活动起着重要的作用。免疫系统的一大特点就是用有限的资源有效地应对了数量庞大且种类多变的病毒入侵。免疫算法基于…

免疫算法小结及算法实例(附Matlab代码)

文章目录 1、免疫算法流程2、关键参数说明3、MATLAB仿真实例3.1 免疫算法求一元函数的极值3.2 免疫算法求二元函数的极值3.3 免疫算法求解旅行商问题 4、免疫算法的特点 1、免疫算法流程 与遗传算法等其他智能优化算法类似,免疫算法的进化寻优过程也是通过算子来实…

免疫优化算法

免疫优化算法 免疫算法是模仿生物免疫机制,结合基因的进化机理,人工构造出的一种新型智能优化算法。 它具有一般免疫系统的特征,采用群体搜索策略,通过迭代计算,最终以较大的概率得到问题的最优解。 相比较于其他算法…

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

这里写目录标题 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.…

免疫算法(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) 欧氏距离是最容易直观理解的距离度量方法,我们小学、初中和高中接触到的两个点在空间中的距离一般都是指欧氏距离。 欧氏距离 二…