作业帮 > 综合 > 作业

神经网络的硬限幅函数是什么?举个例子

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/01 02:39:15
神经网络的硬限幅函数是什么?举个例子
基于MATLAB的神经网络编程
(1)编程理论
作为比较成熟的算法,软件Matlab中有神经网络工具箱,所以可以借助Matlab神经网络工具箱的强大功能,在此基础上进行二次开发,从繁琐的编程工作中解脱出来,大大提高工作效率.
Matlab的神经网络工具箱是在Matlab环境下所开发出来的许多工具箱之一,它以人工神经网络理论为基础,用Matlab语言构造出典型神经网络的激活函数(如S型、线性等激活函数),使使用者对所选定网络的输出计算编程对激活函数的调用;另外,根据各种修改网络权值的规律,加上网络的训练过程,用Matlab编写出各种网络训练的子程序.这样,使用者可以根据自己的应用要求,直接调用(或加进自己编写的)神经网络子函数,而不必要从事繁琐的编程.
基于Matlab的BP神经网络编程过程如下:
(1)对样本集进行归一化
确定输入样本和输出样本,并对它们进行归一化,将输入和输出样本变换到(0.1,0.9)区间,由于Matlab的归一化函数premnmx把数据变换到(-1,1)之间,所以使用自编premnmx2归一化函数.
(2)创建BP神经网络
在样本集确定之后,即可进行网络的结构设计,在Matlab中一般使用newff创建函数,它不但创建了网络对象,还自动初始化网络的权重和阈值.如果需要重新初始化网络权重和阈值,可以使用Init函数.
关键语句如下:
net=newff(输入样本的取值范围,[网络各层的神经元数目],{网络各层神经元的激活函数},‘训练函数',‘学习函数’,‘性能函数’)
一般选用三层BP网络,输入层、输出层的神经元个数根据具体情况确定,而隐层神经元个数目前多采用经验的方法确定.
(3)设置网络的训练参数
net.trainParam.epochs―最大收敛次数;
net.trainParam.goal―收敛误差;
net.trainParam.show―显示间隔;
以上在一般的神经网络训练中都有使用,本文使用Levenberg-Marquart优化算法进行训练,还需设置的参数有:
net.trainParam.mu―Levenberg-Marquart优化算法中的
net.trainParam.mu_dec― 的缩减因子;