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