导航:首页 > 源码编译 > 用遗传算法训练mlp系数

用遗传算法训练mlp系数

发布时间:2022-09-24 11:59:22

㈠ bp神经网络如果加上遗传算法优化,和RBF神经网络,预测哪个比较好!或者这样哪个比较厉害!跪求大神

RBF比较浅,没记错的话只有三层,现在用的已经不多了。
而随着算力的提升,MLP已经成为主流,不论是计算机视觉还是自然语言处理都是基于MLP做的。

㈡ 在matlab中如何用遗传算法求二元目标规划

遗传算法俺不会,用多目标优化也可以求出最优解。
function zFgoalattain
% 多目标最优化
clear all; clc
% 给定目标,权重按目标比例确定,给出初值
goal = [-0.3 0.9]; % -0.2794 0.9313
weight = [0.1 0.1];
x0 = [0.6 0.6 0.6 0.6 0.6];
% 给出约束条件的系数
A=[-1 0 -1 0 0;0 -1 0 0 -1]
B=[-0.4; -0.4]
Aeq = [1 1 1 1 1]
Beq = [1]
lb = ones(1,5)*0.05
ub = ones(1,5)
% 求解
[x,fval,attainfactor,exitflag] = fgoalattain(@ObjFun,x0,goal,weight,A,B,Aeq,Beq,lb,ub)
% ------------------------------------------------------------------
function f = ObjFun(x)
f1 = -(0.371*x(1)+0.274*x(2)+0.581*x(3)+0.164*x(4)+0.327*x(5));
f2 = 1.1828*x(1)+0.8415*x(2)+0.9324*x(3)+0.8474*x(4)+0.894*x(5);
f=[f1;f2];

运行结果:
x =

0.0500 0.5000 0.3500 0.0500 0.0500

fval =

-0.3834
0.8933

attainfactor =

-0.0670

exitflag =

4

㈢ 目标方程和约束条件有微分方程,应该怎么用遗传算法拟合

用遗传算法ga函数是可以拟合带有目标方程和约束条件且含有微分方程的系数,其拟合原则是误差最小估计原则。
解决问题的方法:1、建立自定义目标函数;2、建立自定义约束函数;3、建立自定义微分方程函数;4、误差最小控制函数;5、利用遗传算法ga函数求解拟合系数,利用ode45函数求解微分方程;6、建立嵌套函数计算

㈣ 遗传算法

遗传算法是从代表问题可能潜在解集的一个种群开始的,而一个种群则由经过基因编码的一定数目的个体组成。每个个体实际上是染色体带有特征的实体。染色体作为遗传物质的主要载体,即多个基因的集合,其内部表现(即基因型)是某种基因的组合,它决定了个体形状的外部表现,如黑头发的特征是由染色体中控制这一特征的某种基因组合决定的。因此,在一开始需要实现从表现型到基因型的映射即编码工作。由于仿照基因编码的工作很复杂,我们往往进行简化,如二进制编码。初始种群产生之后,按照适者生存和优胜劣汰的原理,逐代(generation)演化产生出越来越好的近似解。在每一代,根据问题域中个体的适应度(fitness)大小挑选(selection)个体,并借助于自然遗传学的遗传算子(genetic operators)进行组合交叉(crossover)和变异(mutation),产生出代表新的解集的种群。这个过程将导致种群自然进化一样的后生代种群比前代更加适应环境,末代种群中的最优个体经过编码(decoding),可以作为问题近似最优解。

5.4.1 非线性优化与模型编码

假定有一组未知参量

xi(i=1,2,…,M)

构成模型向量m,它的非线性目标函数为Φ(m)。根据先验知识,对每个未知量都有上下界αi及bi,即αi≤x≤bi,同时可用间隔di把它离散化,使

di=(bii)/N (5.4.1)

于是,所有允许的模型m将被限制在集

xii+jdi(j=0,1,…,N) (5.4.2)

之内。

通常目标泛函(如经济学中的成本函数)表示观测函数与某种期望模型的失拟,因此非线性优化问题即为在上述限制的模型中求使Φ(m)极小的模型。对少数要求拟合最佳的问题,求目标函数的极大与失拟函数求极小是一致的。对于地球物理问题,通常要进行杀重离散化。首先,地球模型一般用连续函数表示,反演时要离散化为参数集才能用于计算。有时,也将未知函数展开成已知基函数的集,用其系数作为离散化的参数集xi,第二次离散化的需要是因为每一个未知参数在其变化范围内再次被离散化,以使离散模型空间最终包含着有限个非线性优化可选择的模型,其个数为

地球物理数据处理教程

其中M为未知参数xi的个数。由此式可见,K决定于每个参数离散化的间隔di及其变化范围(αi,bi),在大多数情况下它们只能靠先验知识来选择。

一般而言,优化问题非线性化的程度越高,逐次线性化的方法越不稳定,而对蒙特卡洛法却没有影响,因为此法从有限模型空间中随机地挑选新模型并计算其目标函数 Φ(m)。遗传算法与此不同的是同时计算一组模型(开始时是随机地选择的),然后把它进行二进制编码,并通过繁殖、杂交和变异产生一组新模型进一步有限的模型空间搜索。编码的方法可有多种,下面举最简单的例说明之,对于有符号的地球物理参数反演时的编码方式一般要更复杂些。

假设地球为有三个水平层的层次模型,含层底界面深度hj(j=1,2,3)及层速度vj(j=1,2,3)这两组参数。如某个模型的参数值为(十进制):

h1=6,h2=18,h3=28,单位为10m

v1=6,v2=18,v3=28,单位为 hm/s

按正常的二进制编码法它们可分别用以下字符串表示为:

地球物理数据处理教程

为了减少字节,这种编码方式改变了惯用的单位制,只是按精度要求(深度为10m,波速为hm/s)来规定参数的码值,同时也意味着模型空间离散化间距di都规格化为一个单位(即10m,或hm/s)。当然,在此编码的基础上,还可以写出多种新的编码字符串。例如,三参数值的对应字节顺序重排,就可组成以下新的二进制码串:

地球物理数据处理教程

模型参数的二进制编码是一种数学上的抽象,通过编码把具体的非线性问题和生物演化过程联系了起来,因为这时形成的编码字符串就相当于一组遗传基因的密码。不仅是二进制编码,十进制编码也可直接用于遗传算法。根据生物系统传代过程的规律,这些基因信息将在繁殖中传到下一带,而下一代将按照“适者生存”的原则决定种属的发展和消亡,而优化准则或目标函数就起到了决定“适者生存”的作用,即保留失拟较小的新模型,而放弃失拟大的模型。在传带过程中用编码表示的基因部分地交合和变异,即字符串中的一些子串被保留,有的改变,以使传代的过程向优化的目标演化。总的来说,遗传算法可分为三步:繁殖、杂交和变异。其具体实现过程见图5.8。

图5.8 遗传算法实现过程

5.4.2 遗传算法在地震反演中的应用

以地震走时反演为例,根据最小二乘准则使合成记录与实测数据的拟合差取极小,目标函数可取为

地球物理数据处理教程

式中:Ti,0为观测资料中提取出的地震走时;Ti,s为合成地震或射线追踪算出的地震走时;ΔT为所有合成地震走时的平均值;NA为合成地震数据的个数,它可以少于实测Ti,0的个数,因为在射线追踪时有阴影区存在,不一定能算出合成数据Tj,0。利用射线追踪计算走时的方法很多,参见上一章。对于少数几个波速为常数的水平层,走时反演的参数编码方法可参照上一节介绍的分别对深度和速度编码方法,二进制码的字符串位数1不会太大。要注意的是由深度定出的字符串符合数值由浅到深增大的规律,这一约束条件不应在杂交和传代过程中破坏。这种不等式的约束(h1<h2<h3…)在遗传算法中是容易实现的。

对于波场反演,较方便的做法是将地球介质作等间距的划分。例如,将水平层状介质细分为100个等厚度的水平层。在上地壳可假定波速小于6400 m/s(相当于解空间的硬约束),而波速空间距为100m/s,则可将波速用100m/s为单位,每层用6位二进制字符串表示波速,地层模型总共用600位二进制字符串表示(l=600)。初始模型可随机地选取24~192个,然后通过繁殖杂交与变异。杂交概率在0.5~1.0之间,变异概率小于0.01。目标函数(即失拟方程)在频率域可表示为

地球物理数据处理教程

式中:P0(ωk,vj)为实测地震道的频谱;ωk为角频率;vj为第j层的波速;Ps(ωk,vj)为相应的合成地震道;A(ωk)为地震仪及检波器的频率滤波器,例如,可取

A(ω)=sinC4(ω/ωN) (5.4.6)

式中ωN为Nyquist频率,即ωN=π/Δt,Δt为时间采样率。参数C为振幅拟合因子,它起到合成与观测记录之间幅度上匹配的作用。C的计算常用地震道的包络函数的平均比值。例如,设E[]为波动信号的包络函数,可令

地球物理数据处理教程

式中:tmax为包络极大值的对应时间;J为总层数。包络函数可通过复数道的模拟取得。

用遗传算法作波速反演时失拟最小的模型将一直保存到迭代停止。什么时候停止传代还没有理论上可计算的好办法,一般要显示解空间的搜索范围及局部密度,以此来判断是否可以停止传代。值得指出的是,由(5.4.4)和(5.4.5)式给出的目标函数对于有误差的数据是有问题的,反演的目标不是追求对有误差数据的完美拟合,而是要求出准确而且分辨率最高的解估计。

遗传算法在执行中可能出现两类问题。其一称为“早熟”问题,即在传代之初就随机地选中了比较好的模型,它在传代中起主导作用,而使其后的计算因散不开而白白浪费。通常,增加Q值可以改善这种情况。另一类问题正相反,即传相当多代后仍然找不到一个特别好的解估计,即可能有几百个算出的目标函数值都大同小异。这时,最好修改目标函数的比例因子(即(5.4.5)式的分母),以使繁殖概率Ps的变化范围加大。

对于高维地震模型的反演,由于参数太多,相应的模型字符串太长,目前用遗传算法作反演的计算成本还嫌太高。实际上,为了加快计算,不仅要改进反演技巧和传代的控制技术,而且还要大幅度提高正演计算的速度,避免对遗传算法大量的计算花费在正演合成上。

㈤ 关于遗传算法与多元线性回归

不是吧,数值优化是遗传算法的基本用途啊。

遗传算法与神经网络的结合不就是非线性多元回归吗?

神经网络本身就是用非线性方程去逼近要解决的问题,神经元的权系数就是需要进行逼近的参数。

训练用的样本不就是回归用的样本点吗?

㈥ 遗传算法 参数拟合

我来说说我的思路吧
这种拟合问题的目的是求出拟合函数的参数,如多项式函数的系数
那么可以把拟合函数值与Y的绝对差值当做目标函数和适应度函数,相对应所求的拟合函数的参数作为遗传算法中的基因编码,每组参数对应一个拟合函数相当于一个染色体个体
遗传算法采用基本遗传算法即可
单点交叉,高斯变异
初步设想,望请指正

㈦ 水动力弥散方程遗传反演方法

10.3.1 数学模型

无论是实验室或野外的弥散试验,最常用的数学模型是一维流场中点源连续注入问题的水质模型[66]。假设:

1)渗流区域为半无限沙槽,且地下水流动和示踪剂弥散可以简化为一维均匀稳定流和一维弥散;

2)流体是不可压缩的均质流体,温度不变,渗流区域的介质为均质且各向同性;

3)当t=0时,渗流区域中不存在示踪剂;

4)从t=0时刻开始在渗流区域上端连续注入含示踪剂浓度为C0的流体;

5)除注入点,渗流区域不存在其他源和汇。

依据上述假定,取地下水流动方向为x轴的正向,取示踪剂注入点为坐标原点。任意点x处在时刻t时的示踪剂浓度C(x,t)满足如下数学模型。

含水层参数识别方法

方程中D为弥散系数,v为地下水流速。

10.3.2 模型的解析解

数学模型[66](10-17)可用Laplace变换求解,其解为:

含水层参数识别方法

若令 CR=,则

含水层参数识别方法

其中:erfc(x)=1-erf(x)=exp(-z2)d z,exp(x)=ex

10.3.3 反演方法简介

地下水水质模型[66]最常用的反演方法为正态分布函数法和配线法,配线法和泰斯模型的方法有相似处,这里我们主要介绍正态分布函数法。

在式(10-19)中,当x很大时,右端第二项与第一项相比非常小,可以忽略。Φ.Μ.鲍契维尔已证明,当D/(vx)≤ 0.005时,忽略第二项后误差≤4%。因此,当x很大时,即离示踪剂注入点很远时,浓度的分布可近似表示为:

含水层参数识别方法

由于

含水层参数识别方法

其中,F(x)为一正态分布函数,期望值为μ=vt,均方差为。当 x 很大时,1-CR服从于正态分布。已知标准正态分布函数Φ有如下性质:

Φ(1)=0.8413

Φ(-1)=0.1587

我们把浓度为0.8413的x坐标与浓度为0.1578的x坐标差定义为过渡带的宽度,则对于均方差为σ的正态分布函数来说,过渡带宽度e与均方差σ之间有如下关系

含水层参数识别方法

由于1-0.8413=0.1587,1-0.1587=0.8413。1-F(x)和F(x)所代表的过渡带的宽度是相等的,利用这个性质从CR-x关系图上可以很容易地计算出过渡带的宽度为:

含水层参数识别方法

其中x0.1587代表CR=0.1587时所对应的x坐标,x0.8413代表CR=0.8413时所对应的x坐标。由方程(10-22)和σ=可以很方便地计算出弥散系数D 的值:

含水层参数识别方法

如果弥散试验给出的是CR-t关系曲线图,上式可作适当的修改。

由(10-20)式可得:

含水层参数识别方法

当CR=0.5时,如果弥散试验给出的是CR-x关系曲线图有:

含水层参数识别方法

当CR=0.5时,如果弥散试验给出的是CR-t关系曲线图有:

含水层参数识别方法

用式(10-26)和式(10-27)可以很方便地计算地下水的流速。

其他的反演方法如配线法,Gauss-Newton法均可解水质反演问题。但是用正态分布函数法和配线法因为要查对坐标值,容易造成不同的人查出不同的坐标,引起人为误差。Gauss-Newton法因为要给定参数的初值,如果参数初值给的不合适,解不收敛。尤其对于地下水水质问题,对地下水流速特别敏感,而计算开始时并不知道速度的分布范围,极易造成解的发散情况。Gauss-Newton法因为要进行导数的操作,求导的过程很容易引起误差,使结果带有较大的误差。Gauss-Newton最大的优点是初值给的合适时,计算速度特别快。

10.3.4 遗传反演方法

遗传反演方法的特点是只要正演问题可以计算,反演问题就能进行计算。它是将生物遗传的特点引入到参数反演的过程中,通过一系列的正演计算达到反演的目的。

首先构造目标误差函数。

设区域有m个观测值,则构造误差函数为

含水层参数识别方法

其中:为实测值,Ci (p1,p2,…,pn)为计算值。和Ci 具有相同的时间和空间坐标,p1,p2,…,pn 为参数,为书写方便记 P=[p1,p2,…,pn]。

模型选定之后,通过改变参数使误差函数达到最小值。那么本问题就转化为约束条件下的优化问题。

含水层参数识别方法

在地下水弥散参数计算中,有解析解的简单模型应用很广。将优化问题(6-29)和这些模型结合起来,方程(10-29)转化为:

含水层参数识别方法

其中:E()为目标误差函数,v为地下水流速,D为弥散系数,[va,vb]为v的取值区间,[Da ,Db ]为 D 的取值区间,为时空某点的地下水中某种溶质的浓度(或相对浓度)观测值,Ci (v,D)为时空某点的地下水中某种溶质浓度(或相对浓度)的计算值,可用解析解计算。

和地下水渗流的计算一样,我们也用如下8种不同的遗传算法进行反演计算试验。

a.简单遗传算法(SGA);

b.优体克隆遗传算法(The Best Chromosome Clone GA=BCC-GA);

c.优体克隆+子体优生(Younger Generation Chromosomes Prepotency)的遗传算法(BCC-YGCP-GA);

d.优体克隆+子体优生+多代调环(Multi-Generations Adjusting Environment=MAE)的遗传算法(BCC-YGCP-MGAE-GA);

e.多代调环的遗传算法(MGAE-GA);

f.优体克隆+多代调环的遗传算法(BCC-MGAE-GA);

g.子体优生的遗传算法(YGCP-GA);

h.子体优生+多代调环的遗传算法(YGCP-MGAE-GA)。

试验的终止原则,由于要进行对比,我们选定进化代数为1000时终止计算。

例1.在水平密封的圆筒砂柱中做连续注入示踪示踪剂的试验,在距注入孔0.65 m的观测孔中获得浓度比值资料见表10-14,试求出地下水流速和弥散系数[22]

此问题的解析解为:

含水层参数识别方法

表10-14 相对浓度实测资料表

表10-15 不同的遗传反演方法目标误差函数计算结果比较表

本例题主要是已知相对浓度CR和时间t之间的关系来求地下水流速v和弥散系数D。在用遗传算法反演参数时,在所有方案中均采用:地下水流速v的初始取值区间为(0,1000.0 m/h),弥散系数D的初始取值区间为(0,0.1),遗传代数Num-Gen=1000,种群数Pop-Size=50,交叉概率Pc=0.7,变异概率Pm=0.3,评价函数中的alph=0.05。所有与多代调环有关的计算方案,其代数选择均为10。前500代每隔10代对v和D设置一次取值区间,取值区间设为(0.75vbest,1.25vbest),v为变量可代表v或D,Vbest为这十代中最优的染色体,500代后开始进行区间压缩技术,其压缩方法见前章所述,压缩系数为0.4。其计算结果见图10-6和表10-15。

图10-6(1)遗传反演方法进化代数与目标函数计算结果图

图10-6(2)遗传反演方法进化代数与目标函数计算结果图

从计算结果可以看出,简单的遗传算法(1)、多代调环遗传算法(5)和优体克隆+多代调环遗传算法(6)在达到1000代时,并没有明显的收敛特征,目标函数仍处于波动状态,其地下水流速v和弥散系数D离真值相差较远。特别是第6种优体克隆+多代调环遗传算法因特殊的组合,一直没有改变目标误差函数,所有与多代调环有关的遗传算法其收敛速度均较慢,这主要是环境调整的不合适,使染色体失去了在全局生存的空间。如果调整环境的代数变为20,其收敛速度会有很大的改变。对于本问题第2种优体克隆遗传算法、第3种优体克隆+子体优生遗传算法和第7种子体优生遗传算法均快速收敛,达到40代时已基本收敛到全局最优解。

优体克隆+子体优生遗传算法达到目标函数最小时,其地下水流速v=33.677212 m/d,弥散系数D=0.053982 m2/d。其计算曲线与实测曲线拟合图见图10-7。用遗传算法反演的地下水流速和弥散系数计算结果见表10-16和表10-17。

图10-7 相对浓度计算曲线与实测曲线拟合图

表10-16 地下水流速v反演结果表

表10-17 弥散系数D反演结果表

㈧ 如何用遗传算法优化模糊控制器中的控制规则和隶属度函数

你说的应该是模糊控制的隶属度函数吧
(1)模糊统计法: 模糊统计法的基本思想是对论域U上的一个确定元素vo是否属于论域上的一个可变动的清晰集合A3作出清晰的判断.对于不同的试验者,清晰集合 A3可以有不同的边界,但它们都对应于同一个模糊集A.模糊统计法的计算步骤是:在每次统计中, vo是固定的,A3的值是可变的,作 n次试验,其模糊统计可按下式进行计算 v0对 A 的隶属频率 = v0∈A 的次数 / 试验总次数 n 随着 n的增大,隶属频率也会趋向稳定,这个稳定值就是 vo对A 的隶属度值.这种方法较直观地反映了模糊概念中的隶属程度,但其计算量相当大. (2)例证法: 例证法的主要思想是从已知有限个μA的值,来估计论域 U 上的模糊子集 A 的隶属函数.如论域 U代表全体人类,A 是“高个子的人”.显然 A 是一个模糊子集.为了确定μA,先确定一个高度值 h,然后选定几个语言真值(即一句话的真实程度)中的一个来回答某人是否算“高个子”.如语言真值可分为“真的”、“大致真的”、“似真似假”、“大致假的”和“假的”五种情况,并且分别用数字1、0.75、0.5、0.25、0来表示这些语言真值.对 n个不同高度h1、h2、…、hn都作同样的询问,即可以得到 A 的隶属度函数的离散表示. (3)专家经验法: 专家经验法是根据专家的实际经验给出模糊信息的处理算式或相应权系数值来确定隶属函数的一种方法.在许多情况下,经常是初步确定粗略的隶属函数,然后再通过“学习”和实践检验逐步修改和完善,而实际效果正是检验和调整隶属函数的依据. (4)二元对比排序法: 二元对比排序法是一种较实用的确定隶属度函数的方法.它通过对多个事物之间的两两对比来确定某种特征下的顺序,由此来决定这些事物对该特征的隶属函数的大体形状.二元对比排序法根据对比测度不同,可分为相对比较法、对比平均法、优先关系定序法和相似优先对比法等.
编辑本段举例

㈨ MATLAB遗传算法拟合

代码:

function y=myfung(x)

% TOT =[2.057 3.6094 4.9881 6.0189 6.8371 7.4881 8.0047 8.4151 8.7411 9.0000];

% t=[1:10];

% [r,s]=size(TOT);

% y=0;

% for i=1:s

% y=y+(TOT(i)-x(:,1)*(1 -exp(-x(:,2)*t(i))))^2 %最小估计原则

% end

%

x1=[-0.05 0.25 0.60 0 0.25 0.20 0.15 0.05 -0.15 0.15 0.20 0.10 0.40 0.45 0.35 0.30 0.50 0.50 0.40 -0.05 -0.05 -0.10 0.20 0.10 0.50 0.60 -0.05 0 0.05 0.55];

x2=[5.50 6.75 7.25 5.50 7.00 6.50 6.75 5.25 5.25 6.00 6.50 6.25 7.00 6.90 6.80 6.80 7.10 7.00 6.80 6.50 6.25 6.00 6.50 7.00 6.80 6.80 6.50 5.75 5.80 6.80];

y0=[7.38 8.51 9.52 7.50 9.33 8.28 8.75 7.87 7.10 8.00 7.89 8.15 9.10 8.86 8.90 8.87 9.26 9.00 8.75 7.95 7.65 7.27 8.00 8.50 8.75 9.21 8.27 7.67 7.93 9.26];

x3=x1.*x2;

TOT=y0;

[r,s]=size(TOT);

y=0;

for i=1:s

y2=x(:,1)+x(:,2).*x1(i)+x(:,3).*x2(i)+x(:,4).*x2(i)^2+x(:,5).*x3(i);

y=y+(TOT(i)-y2)^2 %最小估计原则

end

end

参数依次为

-1.151 5.652 -0.212 0.267 -1.165

每一次运算结果会有差异,因此起始值是随机的,所以优化过程也是不同的。

阅读全文

与用遗传算法训练mlp系数相关的资料

热点内容
lcd单片机投影仪用久了会发黄 浏览:749
王者荣耀游戏内进攻主宰命令 浏览:213
周立功单片机发展有限公司 浏览:610
iphone未成年怎么付款app 浏览:988
苹果app是英文怎么改 浏览:835
51单片机485通信 浏览:268
符咒全书pdf 浏览:565
海底捞app签到怎么弄不成了 浏览:862
安卓php服务器搭建 浏览:259
京东直营网挣用什么APP 浏览:825
杰克豆车机怎么安装app 浏览:32
app查余额怎么有两个金额 浏览:305
小程序仿今日头条源码 浏览:277
框架源码研读 浏览:447
仙侣奇缘3如何架设服务器 浏览:954
单片机RRC指令 浏览:889
默认加密文件密码 浏览:5
怎么用反诈中心app查询电话 浏览:710
linuxvi操作 浏览:298
什么是实木压缩板 浏览:642