遗传算法

遗传算法及其matlab实现

痴心易碎 提交于 2019-11-26 17:00:37
遗传算法,模拟达尔文的自然选择和遗传学的机理的生物进化的计算模型。其实,遗传算法用到生物学的知识不多,一些中学的生物知识就足以应付。 其实,接触遗传算法是有一种熟悉的感觉。因为假期涉猎了机器学习,其中接触的第一个相关的算法就是梯度下降算法。(有关这个算法,以后再记录),这个算法的作用就是通过求偏导,使梯度不断下降,最终达到了一个局部的最优解。但是问题来了,在很多工业生产实践中,通常是不可微,不连续的,此时这些算法如梯度下降、牛顿法就有些力不从心了。进而一些智能算法就出现了,其中就有遗传算法,这些算法能够经过多次的迭代、概率的变化从而逐渐逼近 全局最优解 。 遗传算法依循“适者生存,优胜劣汰”的原则,通过模拟生物在自然选择中的进化过程,依靠选择,交叉,变异等机制对染色体 进行组合,实现染色体的不断更新,其中每条染色体对应一个解,每次迭代筛选群体中满足适应度的后代。 一、我们要进行编码,编码通常有两种。 1,实数编码:直观,无需解码,但是容易收敛,从而过早陷入局部最优解。简单理解来说,就是两个解之间的尺度太大了。 2,二进制编码:稳定性高,种群多样性大,不直观。 而我们在问题求解时倾向于用二进制编码的。二进制编码更有利于遗传算法的理解。 举一例子,如果x的定义范围是[0,4],则我们常规的编码成二进制是[0000,0100],那么解的可取范围就是,0000,0001,0010,0011

【论文阅读—遗传算法】Multi-Thresholding Image Segmentation Using Genetic Algorithm

房东的猫 提交于 2019-11-26 06:46:35
论文题目:Multi-Thresholding Image Segmentation Using Genetic Algorithm(遗传算法多阈值图像分割) 一、综述 作者使用遗传算法对多对象和背景的图像进行分割。 二、研究内容与方法 (1)介绍 图像分割的准确率受预处理结果影响较大。 作者结合多阈值分割和遗传算法,通过寻找阈值,将阈值问题转换成优化问题。最大化目标与背景之间的方差,最小化目标自身的背景像素间的方差。 (2)图像阈值 由于灰度图像处理简单,因此一般将彩色图像转换为灰度图像进行预处理。最常用的灰度级为256(0-255)。 图像阈值是一种用在灰度图上的分割方法。该方法旨在寻找一个合适的阈值,将背景和目标对象分隔开来,像素值低于阈值为背景,否则为目标对象。 基于阈值的算法通常被分为单极阈值和多级阈值。通常若图像中包含n个对象和背景,则定义n 个阈值。 如何寻找适合分割的阈值:将彩色图像转换成灰度图,绘制图像的一维直方图,直观显示具有相同灰度级的像素个数。二分类只有一个阈值,尝试所有0—L-1的数,找到划分最好的那个值作为阈值;多分类需要找到多个阈值,那么如何寻找拥有好的性能的多组阈值是接下来要做的。 (3)遗传算法 遗传算法是一种模仿基因的元启发式算法,当不存在一个确定的方法或着确定的方法计算复杂时可以用该算法做最优近似。 遗传算法具有N个种群,则初始值为N个随机解

【源码】基于遗传算法的VST混响插件

只谈情不闲聊 提交于 2019-11-26 02:01:59
在MATLAB中编写的VST 2音频效果插件,使用遗传算法生成描述人工房间混响的随机脉冲响应,并使用脉冲响应对信号实时应用卷积混响。 A VST 2 audio effect plugin written in MATLAB that uses a genetic algorithm to generate a random impulse response describing the reverberation of an artificial room, and uses the impulse response to apply convolution reverb to a signal in real-time. 还提供了一个MATLAB脚本(main.m),接受WAV音频文件作为输入。 A MATLAB script version (main.m) is also available, which accepts a WAV audio file as input instead. 通过卷积将输入与脉冲响应结合起来,将混响效果应用于预录制的音频。 The input is combined with the impulse response via convolution, applying the reverb effect to the pre-recorded