智能算法的GUI设计

人工神经网络(artificial neural networks,ANN)是由大量的、简单的处理单元(神经元)广泛地互相连接而形成的复杂网络系统,它反应了人脑功能的许多基本特征,是一个高度复杂的非线性动力学系统。遗传算法(Genetic Algorithm)是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优的方法。

人工神经网络(ANN)是模仿生物神经网络功能的一种经验模型。生物神经元受到传入的刺激,其反应又从输出端传到相连的其他神经元,输入和输出之间的变换关系一般是非线型的。神经网络是由若干简单(通常是自适应的)元件及其层次组织,以大规模并行连接方式构造而成的网络,按照生物神经网络类似的方式处理输入信息。模仿生物神经网络而建立的人工神经网络,对输入信号有功能强大的反应和处理能力。
人工神经元:
生物神经元是一个多输入、单输出单元。常用的人工神经元模型可用下图所示:在这里插入图片描述
当神经元j有多个输入xi(i=1,2,…,n)和单个输出yi时,输入和输出的关系可表示为:
在这里插入图片描述
其中j为阈值,Wij为从神经元i到j的连接权重因子,f()为传递函数,又称激励函数。
BP(back propagation)神经网络是一种神经网络学习算法。它是由输入层、中间层、输出层组成的阶层型神经网络,中间层可扩展为多层。相邻层之间各神经元进行进行全连接,而每层各神经元之间无连接。当一对学习模式提供给网络后,各神经元获得网络的输入响应产生连接权值(weight),然后按减小希望输出与实际输出误差的方向,从输出层径各中间层逐层修正各连接权,回到输入层。此过程反复交替进行,直至网络的全局误差趋向给定的极小值,即完成学习过程。
在这里插入图片描述
1.BP(back propagation)网络创建函数
newff函数用于创建一个BP网络。其调用格式为
net=newff();
net=newff(PR,[S1 S2 … SN1],{TF1 TF2 …TFN1},BTF,BLF,PF);
net:为创建的新的BP神经网络,
PR:网络输入向量取值范围的矩阵,
[S1 S2…SN1]:表示网络隐含层和输出层神经元的个数,
{TF1 TF2 … TFN1}:表示网络隐含层和输出层的传输函数,默认为tansing,
BTF:表示网络的训练函数,默认为trainlm,
BLF:表示网络的权值学习函数,默认为learngdm,
PF:表示性能数,默认为mse.
newcf()函数用于创建级联前向BP网络;
newfftd()用于创建一个存在输入延迟的前向网络。
2.神经元上的传递函数
传递函数是BP网络的重要的组成部分。传递函数又称为激活函数,必须是连续可微的。BP网络经常采用S型的对数、正切函数或线型函数。
logsig传递函数为S型的对数函数,调用格式为:
A=logsig(N);
info=logsig(code);
其中,N是Q个S维的输入列向量,A为函数返回值,位于区间(0,1).
tansig函数为双曲正切S型传递函数,调用格式为:
A=tansig(N);
info=tansig(code);
其中,N是Q个S维的输入列向量,A为函数返回值,位于区间(-1,1).
purelin函数为线型传递函数,调用格式为:
A=purelin(N);
info=purelin(code);
其中,N是Q个S维的输入列向量,A为函数返回值,A=N.
3.BP网络学习函数
learngd函数为梯度下降权值/阈值学习函数,它通过神经元的输入和误差,以及权值和阈值的学习效率,来计算权值或阈值的变化率。调用格式为:
[dW,ls]=learngd(W,P,Z,N,A,T,E,gW,gA,D,LP,LS)
[db,ls]=learngd(b,ones(1,Q),Z,N,A,T,E,gW,gA,D,LP,LS)
info=learngd(code);
learngdm函数为梯度下降动量学习函数,它利用神经元的输入和误差、权值或阈值的学习速率和动量常数,来计算权值或阈值的变化率。
4.BP网络训练函数
train为神经网络训练函数,该函数用于调用其他训练函数,对网络进行训练。该函数的调用格式为:
[net,tr,Y,E,Pf,Af]=train(NET,P,T,Pi,Ai)
[net,tr,Y,E,Pf,Af]=train(NET,P,T,Pi,Ai,VV,TV)
traingd函数为梯度下降BP算法函数。traingdm函数为梯度下降动量BP算法函数。
示例:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
目前,在人工神经网络的实际应用中,绝大部分的神经网络模型都采用BP神经网络及其变换形式。它也是前向网络的核心部分,体现了人工神经网络的精华。BP网络主要应用于以下方面:
(1)函数逼近:用输入向量和相应的输出向量训练一个网络以逼近一个函数
(2)模式识别:用一个待定的输出向量将它与输入向量联系起来。
(3)分类:把输入向量所定义的合适方式进行分类
(4)数据压缩:减少输出向量维数以便传输或存储
参考:《MATLAB GUI程序设计》王广、邢林芳

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值