1、人工神经网络的模型人工神经网络的模型:人工神经元的模型、常用的激活转移函数、MP模型神经元人工神经元的主要结构单元是信号的输入、综合处理和输出人工神经元之间通过互相联接形成网络,称为人工神经网络神经元之间相互联接的方式称为联接模式。相互之间的联接强度由联接权值体现。在人工神经网络中,改变信息处理及能力的过程,就是修改网络权值的过程.人工神经网络的构造大体上都采用如下的一些原则: 由一定数量的基本神经元分层联接; 每个神经元的输入、输出信号以及综合处理内容都比较简单; 网络的学习和知识存储体现在各神经元之间的联接强度上。神经网络解决问题的能力与功效除了与网络结构有关外,在很大程度上取决于网络激活
2、函数。人工神经网络是对人类神经系统的一种模拟。尽管人类神经系统规模宏大、结构复杂、功能神奇,但其最基本的处理单元却只有神经元。人工神经系统的功能实际上是通过大量神经元的广泛互连,以规模宏伟的并行运算来实现的。人工神经网络模型至少有几十种,其分类方法也有多种。例如,若按网络拓扑结构,可分为无反馈网络与有反馈网络;若按网络的学习方法,可分为有教师的学习网络和无教师的学习网络;若按网络的性能,可分为连续型网络与离散型网络,或分为确定性网络与随机型网络;若按突触连接的性质,可分为一阶线性关联网络与高阶非线性关联网络。人工神经网络的局限性:(1) 受到脑科学研究的限制:由于生理实验的困难性,因此目前人类
3、对思维和记忆机制的认识还很肤浅,还有很多问题需要解决;(2) 还没有完整成熟的理论体系;(3) 还带有浓厚的策略和经验色彩;(4) 与传统技术的接口不成熟。如果将大量功能简单的形式神经元通过一定的拓扑结构组织起来,构成群体并行分布式处理的计算结构,那么这种结构就是人工神经网络,在不引起混淆的情况下,统称为神经网络。 根据神经元之间连接的拓扑结构上的不同,可将神经网络结构分为两大类: 分层网络 相互连接型网络分层网络可以细分为三种互连形式: 简单的前向网络; 具有反馈的前向网络; 层内有相互连接的前向网络.神经网络的学习分为三种类型:有导师学习、强化学习无导师学习有导师学习:必须预先知道学习的期
4、望结果-教师信 息,并依此按照某一学习规则来修 正权值。强化学习:利用某一表示“奖惩”的全局信号,衡量与强化输入相关的局部决策如何。无导师学习:不需要教师信息或强化信号,只要给定输入信息,网络通过自组织调整,自学习并给出一定意义下的输出响应。神经网络结构变化的角度,学习技术还可分为三种: 权值修正、拓扑变化、权值与拓扑修正学习技术又还可分为:确定性学习、随机性学习人工神经网络人工神经网络是生物神经网络的某种模型(数学模型);是对生物神经网络的模仿 基本处理单元为人工神经元生物神经元(neuron)是基本的信息处理单元前馈(forward)神经网络各神经元接受来自前级的输入,并产生输出到下一级,
5、无反馈,可用一有向无环图表示。网络中的节点分两类:输入节点;计算节点(神经元节点)节点按层(layer)组织 : 第i层的输入只与第i1层的输出相连。 输入信号由输入层输入,由第一层节点输出,传向下层,前馈:信息由低层向高层单向流动. 可见层 输入层 (input layer) 输入节点所在层,无计算能力 输出层 (output layer) 节点为神经元 隐含层( hidden layer) 中间层,节点为神经元BP神经网络训练的两个阶段 (1)信号正向传递过程 输入信息从输入层经隐层逐层、正向传递,直至得到各计算单元的输出 (2)误差反向传播过程 输出层误差从输出层开始,逐层、反向传播,可
6、间接计算隐层各单元的误差,并用此误差修正前层的权值。BP网络的优点特别适合于求解内部机制复杂的问题 BP网络实质上实现了一个从输入到输出的映射功能,而数学理论已证明它具有实现任何复杂非线性映射的功能具有自学习能力 网络能通过学习带正确答案的实例集自动提取“合理的”求解规则网络具有一定的推广、概括能力.BP网络的问题,如:BP算法的学习速度较慢网络训练失败的可能性较大网络结构的选择尚无一种统一而完整的理论指导,一般只能由经验选定。网络的预测能力(泛化能力、推广能力)与训练能力(逼近能力、学习能力)的矛盾回归估计例:基于BP神经网络的公路运量(客运量、货运量)预测公路运量与该地区人数、机动车数量、
7、公路面积有关.已知某地区20年的公路运量有关数据,对于未来某两年,若明确该地区人数、机动车数量、公路面积,要求:预测该地区的公路运量。分析:(1)明确模型输入输出关系(2)建模: 原始数据读取;数据标准化处理;网络训练;(3)模型评价: 对原始数据仿真,明确预测误差(4)输出预测结果:对新数据预测结果牛顿法及其收敛性 牛顿法是一种线性化方法,其基本思想是将非线性方程 逐步归结为某种线性方程来求解.设已知方程 有近似根 (假定 ),将函数 在点 展开,有 于是方程 可近似地表示为这是个线性方程,记其根为 ,则 的计算公式为 交叉演化算法代码实现F0是变异率 Gm 最大迭代次数Gm = 10000
8、;F0 = 0.5;Np = 100;CR = 0。9; 交叉概率G= 1; 初始化代数D = 10; 所求问题的维数Gmin = zeros(1,Gm); 各代的最优值best_x = zeros(Gm,D); 各代的最优解value = zeros(1,Np);产生初始种群xmin = -5。12;xmax = 5。12;function y = f(v) Rastrigr 函数y = sum(v.2 - 10。*cos(2.*pi.v) + 10);X0 = (xmaxxmin)rand(Np,D) + xmin; 产生Np个D维向量XG = X0;XG_next_1= zeros(Np
9、,D); 初始化XG_next_2 = zeros(Np,D);XG_next = zeros(Np,D);while G = Gm 变异操作 for i = 1:Np 产生j,k,p三个不同的数 a = 1; b = Np; dx = randperm(ba+1) + a- 1; j = dx(1); k = dx(2); p = dx(3); 要保证与i不同 if j = i j = dx(4); else if k = i k = dx(4); else if p = i p = dx(4); end end end %变异算子 suanzi = exp(1Gm/(Gm + 1-G));
10、 F = F0*2.suanzi; %变异的个体来自三个随机父代 son = XG(p,:) + F(XG(j,:) XG(k,:)); for j = 1: D if son(1,j) xmin son(1,j) xmax 防止变异超出边界 XG_next_1(i,j) = son(1,j); else XG_next_1(i,j) = (xmax - xmin)*rand(1) + xmin; end end end %-交叉操作 for i = 1: Np randx = randperm(D);% 1,2,3,.。D的随机序列 for j = 1: D if rand CR & ran
11、dx(1) = j CR = 0.9 XG_next_2(i,j) = XG(i,j); else XG_next_2(i,j) = XG_next_1(i,j); end end end %选择操作 for i = 1:Np if f(XG_next_2(i,:) f(XG(i,:)) XG_next(i,:) = XG_next_2(i,:); else XG_next(i,:) = XG(i,:); end end 找出最小值 for i = 1:Np value(i) = f(XG_next(i,:)); end value_min,pos_min = min(value); %第G代中的目标函数的最小值 Gmin(G) = value_min; 保存最优的个体 best_x(G,:) = XG_next(pos_min,:); XG = XG_next; trace(G,1) = G; trace(G,2) = value_min; G = G + 1;end
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1