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

12 篇文章 165 订阅
订阅专栏

本文参考了很多张军老师《计算智能》的第七章知识。

本文来源:https://blog.csdn.net/qq_44186838/article/details/109181453
免疫算法
1.1 算法简介
免疫算法(Immune Algorithm,IA):是指以在人工免疫系统的理论为基础,实现了类似于生物免疫系统的抗原识别、细胞分化、记忆和自我调节的功能的一类算法。

引用目前百度对其的定义:
在这里插入图片描述
有没有看到这里好奇了的小伙伴?为啥遗传算法和免疫算法扯上了关系?

但其实学完免疫算法你会发现,两者其实非常的相似。

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

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

1.1.1 思想来源
免疫算法最先起源于1973-1976年间Jernel的三篇关于免疫网络的文章,Jernel在文中提出了一组基于免疫独特型的微分方程,这就是最早的免疫系统。

免疫算法的主要会议:
International Conference on Artificial Immune Systems,ICARIS

1.1.2 免疫算法的生物模型
先来看一下人体免疫系统大致是怎么工作的:
在这里插入图片描述
具体我就不多讲了好吧,大家可能懂得比我还多,毕竟我高中毕业已经很久了害。

1.1.3 二进制模型
在这里插入图片描述
Farmer用二进制串表示那些描述了抗体决定簇和抗原决定基性质的氨基酸序列,然后假设每个抗原和每个康提醒分别只有一个抗原决定簇(实际都有很多)。通过这些决定基之间的匹配程度不同类型抗体的复制和减少,以达到优化系统的目的。

二进制模型模仿了免疫系统的工作原理,主要涉及识别和刺激两方面的内容。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
之所以直接上图是给想要完整搞懂公式的朋友看的。

那我这里简单讲下它的实现思想。

首先是识别:通过该环节得到两者之间的匹配度,为后面刺激新抗体的生成做准备。

刺激:生成更多亲和度高的抗体,抑制其他弱抗体的生成。

1.2 免疫算法的基本流程
先简单看下免疫系统和免疫算法的对比:
在这里插入图片描述
1.2.1 基本流程
在这里插入图片描述
免疫算法的七个要素

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

(1)识别抗体
把目标函数和约束作为抗体。

(2)生成初始化的抗体

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

(3)计算亲和度
这个步骤可以说是免疫算法的重点,同时也是最难点。

在这里插入图片描述
在这里插入图片描述
如果看到这遇到了问题,请放心,这些是正常情况,可以的话,大家阔以去参考一些实例问题,通过对实例的具体解决过程来读懂这些公式或许会更简单一些。

那这里我就稍微贴一下我觉得比较不错的推荐: https://www.bilibili.com/video/BV1pV411C7Sx?p=4
这里可能也需要大家有一定的matlab基础。

(4)记忆细胞分化

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

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

(5)抗体促进和抑制

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

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

抗体v的期望值 e v e_v ev的计算公式为:
在这里插入图片描述
其中抗体v的密度的计算方法如下:
在这里插入图片描述
其中 q k q_k qk表示和抗体k有较大亲和力的抗体。通过这个公式能有效地抑制抗体的过分相似,避免算法的未成熟收敛。

(6)产生新的抗体

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

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

(7)结束条件

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

1.2.2 更一般的基本免疫算法
1.2.2.1.求解多目标优化问题的免疫算法

先前我们提出的基本流程其实用于解决的知识单目标的优化问题,那如果是多目标呢?

思考一下,一个目标即一个问题,一个问题对应免疫算法其实就是一个抗原。

所以求解多目标优化问题,抗原将抗原从原先的一个扩展到L个,这个L的值即等于你一共目标的值。同时,抗原v和抗原 ω \omega ω的亲和度a x v x_v xv , _, , w _w w重新定义为:
在这里插入图片描述
其中op t v t_v tv , _, , w _w w表示抗体v和抗原 ω \omega ω的结合强度,即抗体v在目标函数 ω \omega ω中的解和此函数最优解的接近程度,至于算法的其他步骤,变化不大。

1.2.2.2.求解更一般问题的免疫算法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
1.3 常用免疫算法

1.3.1 负选择算法

算法基本思想:需要两个字符串组成的集合R和R,通过先求一个和S不匹配的R集合,然后用R集合判断S集合是否发生了变化。

算法分成两部分,第一步是初始化R,第二步监视保护数据S。

初始化监测器R

在这里插入图片描述
监视保护数据S
在这里插入图片描述
1.3.2 克隆选择算法
克隆选择原理图
在这里插入图片描述
克隆选择流程图
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
具体理解希望大家能结合代码实现具体应用问题来理解。

1.3.3 免疫算法与智能计算
免疫遗传算法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
1.4 免疫算法的应用
识别与分类问题
优化问题
机器人学习与控制
数据挖掘等

免疫算法
ZCC的专栏
05-12 2万+
免疫算法是受生物免疫系统的启发而推出的一种新型的智能搜索算法,是一种确定性和随机性选择相结合并具有"勘探"与"开采"能力的启发式随机搜索算法。          算法主要的步骤:      (1)抗原识别与初始抗体产生。      (2)抗体评价      (3)免疫操作    免疫算法的特点:      (1)全局搜索能力      (2)多样性保持机制      (3)鲁棒性
免疫算法Immune Algorithm)详解
weixin_60737527的博客
04-17 1万+
关于免疫算法(IA),其功能与遗传算法、模拟退火等算法实现的功能是相同的,都是用来求最优解。例如求函数最值、旅行商问题等。从本质上说,免疫算法更像是遗传算法的一种延申。IA虽然其中借鉴了生物学(免疫学)的概念,但学习时需要注意,IA毕竟是一种算法,把算法中所有概念都与免疫学概念联系起来是容易难以理解算法的,甚至容易混淆。所以IA只是借鉴免疫学概念并受免疫过程的启发,最终其实还是需要回归到算法当中。 即便如此,兔兔在后面还是需要将算法与一些生物学概念联系,但是会辨别其中本质区别。而且学习时需要与遗传算法相结
免疫算法(IA)
最新发布
太可惹的博客
07-21 2403
是机体的一种生理反应,当病原体(即抗原)进入人体时,这些抗原将刺激免疫细胞(淋巴B细胞、T细胞)产生一种抵抗该病原生物的特殊蛋白质——抗体。抗体能将该病原生物消灭,并在将病原生物消灭之后,仍存留在人体内。
免疫算法Immune Algorithm
weixin_42320872的博客
11-11 3908
概念 人工免疫算法(Immune Algorithm)是一种具有生成+检测 (generate and test)的迭代过程的群智能搜索算法。从理论上分析,迭代过程中,在保留上一代最佳个体的前提下,遗传算法是全局收敛的。 对于遗传算法:在对算法的实施过程中不难发现两个主要遗传算子都是在一定发生概率的条件下,随机地、没有指导地迭代搜索,因此它们在为群体中的个体提供了进化机会的同时,也无可避免地产生了...
人工免疫算法(python)
11-30
人工免疫算法,用于计算函数的极值问题,收敛性极佳,迭代不到10次就可以找到最优解,而且与理论解完全吻合
免疫基本算法流程图
04-29
免疫基本算法流程图 用visio画的流程图 涵盖了免疫算法的基本步骤
免疫算法immune algorithm-matlab实现-源码程序
11-28
免疫算法immune algorithm-matlab实现-源码程序免疫算法immune algorithm-matlab实现-源码程序免疫算法immune algorithm-matlab实现-源码程序免疫算法immune algorithm-matlab实现-源码程序免疫算法immune algorithm...
MATLAB实现免疫算法Immune Algorithm【数学建模、科学计算算法】.zip
04-14
在这个名为"MATLAB实现免疫算法Immune Algorithm"的压缩包中,我们主要关注的是如何利用MATLAB来实现一种生物启发式优化算法——免疫算法免疫算法是基于生物免疫系统原理的一种计算方法,它模仿了人体免疫系统的...
免疫算法immune algorithm-matlab实现源码程序.7z
02-08
免疫算法immune algorithm_matlab实现源码程序.7z免疫算法immune algorithm_matlab实现源码程序.7z免疫算法immune algorithm_matlab实现源码程序.7z免疫算法immune algorithm_matlab实现源码程序.7z
rgmy.rar_immune algorithm_人工免疫_人工免疫算法_免疫_免疫算法
07-15
人工免疫算法是一种受到生物免疫系统启发的计算方法,主要用于解决复杂优化问题。它模拟了生物体免疫系统的功能,如抗体生成、克隆选择、多样性保持等机制,将这些原理转化为数学模型来解决计算机科学中的各种挑战。...
免疫优化算法
02-03
解决免疫优化算法的数学模型问题,构建最优方案的程序代码
人工免疫算法程序
10-23
人工免疫算法源程序,预测电容器故障的类型,来源于人体免疫系统的相似性
数学建模——免疫算法
09-06
数学建模的免疫算法,来自他人
人工免疫算法
07-02
用matlab编写的人工免疫算法 clc clear all close all tic; global n ww m=100;% m--抗体规模 n=22;% n--每个抗体二进制字符串长度 ww=1;%参数个数 mn=100;%从抗体集合里选择n个具有较高亲和度的最佳个体进行克隆操作 xmin=[0 0]; xmax=[9 9]; tnum=100;% tnum--迭代代数 pMutate=0.1;% pMutate--高频变异概率 cfactor=0.2;% cfactor--克隆(复制)因子 A=InitializeFun(m,n); %生成抗体集合A,抗体数目为m,每个抗体基因长度为n F='X+10*sin(X.*5)+7*cos(X.*4)'; %目标函数 %F='sin(10*X)' FM=[]; %存放各代最优值的集合 FMN=[]; %存放各代平均值的集合 t=0; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% while t<tnum t=t+1; X=DecodeFun(A(:,1:22),xmin,xmax); %将二进制数转换成十进制数 Fit=eval(F); %以X为自变量求函数值并存放到集合Fit中 if t==1 figure(1) fplot(F,[xmin(1),xmax(1)]); grid on hold on plot(X,Fit,'k*') title('抗体的初始位置分布图') xlabel('x') ylabel('f(x)') end if t==tnum figure(2) fplot(F,[xmin(1),xmax(1)]); grid on hold on plot(X,Fit,'r*') title('抗体的最终位置分布图') xlabel('x') ylabel('f(x)') end T=[]; %把零时存放抗体的集合清空 [FS,Affinity]=sort(Fit,'descend'); %把第t代的函数值Fit按从小到大的顺序排列并存放到FS中 XT=X(Affinity(end-mn+1:end)); %把第t代的函数值的坐标按从小到大的顺序排列并存放到XT中 FT=FS(end-mn+1:end); %从FS集合中取后mn个第t代的函数值按原顺序排列并存放到FT中 FM=[FM FT(end)]; %把第t代的最优函数值加到集合FM中 %克隆(复制)操作,选择mn个候选抗体进行克隆,克隆数与亲和度成正比,AAS是每个候选抗体克隆后在T中的开始坐标 [T,AAS]=ReproduceFun(mn,cfactor,m,Affinity,A,T); %高频变异操作,变异概率反比于抗体的亲和度 T=Hypermutation(T,n,pMutate,xmax,xmin); %把以前的抗体保存到临时克隆群体T里 AF1=fliplr(Affinity(end-mn+1:end)); %从大到小重新排列要克隆的mn个原始抗体 T(AAS,:)=A(AF1,:); %把以前的抗体保存到临时克隆群体T里%从临时抗体集合T中根据亲和度的值选择mn个(多峰函数的解决) X=DecodeFun(T(:,1:22),xmin,xmax); Fit=eval(F); AAS=[0 AAS]; FMN=[FMN mean(Fit)]; for i=1:mn [OUT(i),BBS(i)]=min(Fit(AAS(i)+1:AAS(i+1))); %克隆子群中的亲和度最大的抗体被选中 BBS(i)=BBS(i)+AAS(i); end AF2=fliplr(Affinity(end-mn+1:end)); %从大到小重新排列要克隆的mn个原始抗体 A(AF2,:)=T(BBS,:); %选择克隆变异后mn个子群中的最好个体保存到A里,其余丢失 end disp(sprintf('\n The optimal point is:')); disp(sprintf('\n x: %2
免疫算法immune algorithm-matlab实现-源码
10-05
免疫算法是一种受到生物免疫系统启发的优化算法,它在解决复杂优化问题时展现出独特的优势。在MATLAB环境中实现免疫算法,可以充分利用其强大的数学计算能力和丰富的图形界面功能,为科研和工程应用提供便利。 免疫...
【计算智能】读书笔记 第七章节 免疫算法 Part1
LeungSr的博客
10-13 880
【计算智能】读书笔记 第七章节 免疫算法 Part1 本文将介绍免疫算法,从算法的思想来源、数学模型、基本流程、改进版本、算法应用等各个方面为读者展示免疫算法的有关知识
人工免疫算法概述
lhn的博客
12-17 3299
一、免疫系统 什么是病毒? 病毒是一种简单的生活形式:包裹在保护壳中的一些基因。这些基因是制造新病毒的指令。 在细胞外,病毒无法繁殖。但是一旦病毒入侵了活细胞,它就会将该细胞变成病毒工厂。随着时间的流逝,成千上万的新病毒爆发并继续入侵其他细胞。 我们的身体如何抵抗疾病? 白细胞可抵抗细菌,免疫系统由许多不同种类的白细胞组成。白细胞共同保护我们免受致病细菌的侵害。 巨噬细胞识别细菌(识别):当细菌入侵我们的身体时,巨噬细胞会吞噬细菌并显示其表面形状或抗原,以供其他免疫细胞看到。 辅助性T细胞指导防御(指导防
免疫算法详解
热门推荐
yinyin132的博客
01-03 1万+
基本思想是将想要求解的各类优化问题的目标函数(约束条件)与抗原相对应,找到可以与抗原进行亲和反应的抗体,该抗体就是要求的最优解。 最核心要解决的就是 1.计算抗原和抗体的亲和度,亲和度越高,越可能是最优解, 2.计算抗体和抗体间的相似度,调查抗体群具有的多样性。 IA是必须要产生多样性抗体和抗原去抗衡。具体的流程图如下: 计算方式:信息熵 利用信息理论,用抗体的信息量去描述抗体的多样性,以及...
写文章

热门文章

  • 分享一个不错的数据分析实战案例【全程附图】EXCEL 74393
  • 一文搞懂什么是粒子群优化算法(Particle Swarm Optimization,PSO)【附应用举例】 66765
  • 轻松搞懂Word2vec / FastText+BiLSTM、TextCNN、CNN+BiLSTM、BiLSTM+Attention实现中英文情感分类 65454
  • 全文六万字《计算智能》智能优化算法 张军【Python】 61079
  • 一文带你用Python玩转K-Means算法 ;各种参数详细说明;如何评估无监督模型? 58223

分类专栏

  • 文本分类 5篇
  • 数据分析 61篇
  • 统计学习方法 3篇
  • 数据库 19篇
  • SQL刷题大全(Hive / MySQL) 16篇
  • 机器学习 16篇
  • 特征融合 1篇
  • 音频特征提取 1篇
  • 计算智能 12篇
  • 图神经网络 1篇
  • python刷题 1篇

最新评论

  • 轻松搞懂【TF-IDF、word2vec、svm、cnn、textcnn、bilstm、cnn+bilstm、bilstm+attention实现】英文长文本分类

    k也无风雨: 求代码和数据集,感谢,2551310275@qq.com

  • 一文搞懂什么是粒子群优化算法(Particle Swarm Optimization,PSO)【附应用举例】

    PJ96: 博主您好,想求个代码!谢谢!邮箱:1961182280@qq.com

  • 分享一个超详细的数据分析案例【Python】附ABTest详细介绍

    木木小饿: 老师您好,方便分享下数据集吗?我的邮箱2781495384@qq.com,如果你看到了的话,非常感谢

  • 分享一个不错的数据分析实战案例【全程附图】EXCEL

    woi1: 老师可以发一份数据源和代码吗?2116004425@qq.com 非常感谢!

  • 全文六万字《计算智能》智能优化算法 张军【Python】

    hjx__hjx: 大佬,求代码,邮箱:15773715440@163.com表情包表情包表情包

大家在看

  • 问:Java 中 `synchronized` 和 `ReentrantLock`到底有啥区别,知否?老铁~
  • 使用Python进行高性能计算和并行化处理毕业设计源码 598
  • 使用Python进行自然语言处理和情感分析计算机毕设 714
  • 群晖套娃:群晖+飞牛fnOS二合一,群晖nas安装飞牛fnOS系统实录(飞牛fnOS初体验,如何挂载网盘视频,轻松实现影视刮削)
  • 毕业设计选题参考|基于微信小程序实现养老院管理系统 1700

最新文章

  • 从数据角度分析年龄与NBA球员赛场表现的关系【数据分析项目分享】
  • 我和关注我的1w个粉丝“合影”啦–爬取上万个粉丝的数据并进行数据可视化分析,收获满满
  • Python中关于字典dict知识点的详细整理【定义、增删查改、遍历字典、字典函数】
2024年1篇
2022年10篇
2021年72篇
2020年18篇
2019年1篇

目录

目录

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

报告,今天也有好好学习

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值

玻璃钢生产厂家江苏艺术商场美陈生产企业仿铜玻璃钢雕塑安装甘南人物玻璃钢雕塑公司东山玻璃钢雕塑厂家玻璃钢园林雕塑厂家加工衢州创意玻璃钢雕塑常州白色玻璃钢花盆布朗兔玻璃钢雕塑卡通模型沈阳商场美陈装饰设计玻璃钢雕塑定制厂吉安玻璃钢雕塑凳子抽象玻璃钢雕塑出售潮州红色玻璃钢雕塑深圳商场玻璃钢雕塑定制四川常见商场美陈生产企业玻璃钢公园雕塑出售新乡铜玻璃钢人物雕塑玻璃钢卡通小鸟雕塑玻璃钢景观雕塑怎么选南宁玻璃钢雕塑游乐场美陈陕西多彩玻璃钢雕塑销售厂家芜湖玻璃钢雕塑优势济源学校玻璃钢仿铜雕塑厂家湖南卡通玻璃钢雕塑工厂厂家批发高架玻璃钢花盆skp商场美陈甘孜玻璃钢卡通雕塑厂家河南镂空玻璃钢雕塑定做温州广场玻璃钢雕塑甘肃玻璃钢雕塑企业香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化