matlab神经网络示例
神经网络
神经网络可用于预测数据,通过已知的输入/输出【输出为要预测的数据类型】,分别把输入/输出转换为矩阵P,T
运用BP 三层通用模型,适当选择激励函数和隐层神经元的激励函数。遇到数据的值,范围相差太大,比如两个数量级以上,那就要归一化。
例如:
BP 神经网络通常采用 Sigmoid 可微函数和线性函数作为网络的激励函数。
本实例选择 S 型正切函数 tansig 作为隐层神经元的激励函数。而由于网络的输出
归一到[ -1, 1]范围内, 因此预测模型选取 S 型对数函数 logsig 作为输出层神经元
的激励函数。
程序示例:
1 | P=[3.2 3.2 3 3.2 3.2 3.4 3.2 3 3.2 3.2 3.2 3.9 3.1 3.2; |
注意
旧版本归一化函数为
[p1,minp,maxp,t1,mint,maxt ]=premnmx(P,T);
新版本为
[Y,PS] = mapminmax(X)
用旧版的也行如果用新版最后一句c=postmnmx(b,mint,maxt); 会报错。
不使用模糊工具箱可去掉最后一句。Y是归一化得到的数据,PS是一种描述数据的结构。它们的计算方式是y = (ymax-ymin)*(x-xmin)/(xmax-xmin) + ymin;
默认归一化到-1到1,也可以自己设置,如:若想将规范范围划为(0,1),可编写Y=mapminmax(A,0,1);
net1.trainParam.epochs设置的数值为最大训练次数,若达到目标误差net1.trainParam.goal则会停止训练。
归一化默认是对行归一,如果每行元素只有一个的话,那就是他本身了,比如这里的a数据a=[3.0;9.3;3.3;2.05;100;2.8;11.2;50]; 用;隔开就是一个列矩阵,若用,隔开就是行矩阵,这里用列矩阵是因为每行代表的元素含义不同。
图片示例
方法二:使用模糊工具箱也是可以的
见大鸟云人工智能目录下
没技术含量不过是用软件罢了

Be happy .
This is luck card,wish you a nice day .


