资源描述:
《神经网络初学答疑汇总》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、写得很不错的博文,取自:晴天小猪的博文,汇总出来与大家一起分享。神经网络(BP)系列(1)关于样本的归一和反归一 这个系列主要针对使用matlab 神经网络工具箱,对一些初学者容易理解错误的地方进行解析。我的解析也可能有理解不对的地方,希望大家批评指正.这个系列主要针对使用matlab神经网络工具箱,对一些初学者容易理解错误的地方进行解析。1. 神经网络一列为一个样本,所以对于matlab而言,要求输入和输出的列数必须一样的经常有人问起的问题:Errorusing==>network/trainTarget
2、sareincorrectlysizedfornetwork.Matrixmusthave1rows.解决:要求PT的列数一样,如果不一样P=p’t=t’转置一下2. 归一澄清一个对归一的错误理解1样本矩阵为9行4列。9组样本,4个变量。现在归一化:x=[68.7 66.6 5610 19.2;89.9 90.8 4500 11.8;120.8 120.6 6800 20.6;169 40.4 6160 40.6;180.8 69.8 7330
3、33.4;190.3 130.2 7320 31.6;109.8 151.1 5754 86.1;33.2 61.4 8255 22.6;111.7 126.6 7040 13.6;]写法一:fori=1:9x1(i,:)=(x(i,:)-min(x(i,:)))/(max(x(i,:))-min(x(i,:)))end结果:0.0089 0.0085 1.0000 00.0174 0.0176 1.0000 00.0148 0.0
4、148 1.0000 00.0210 0 1.0000 0.00000.0202 0.0050 1.0000 00.0218 0.0135 1.0000 00.0042 0.0115 1.0000 00.0013 0.0047 1.0000 00.0140 0.0161 1.0000 0写法二:x=x'fori=1:4x1(i,:)=(x(i,:)-min(x(i,:)))/(max(x(i,:))-min(x(i,:)))
5、end结果:Columns1through80.2260 0.3609 0.5576 0.8644 0.9395 1.0000 0.4876 00.2367 0.4553 0.7245 0 0.2656 0.8112 1.0000 0.18970.2956 0 0.6125 0.4421 0.7537 0.7510 0.3340 1.00000.0996 0 0.1184 0.3876 0.290
6、7 0.2665 1.0000 0.1454Column90.49970.77870.67640.0242注意:写法 2为正确的归一化对归一的错误理解2将数据集分为训练集和测试集,对训练集和测试集分别做归一处理所以就会有人问如果我的测试集只有一个数据如何归一呀最大最小值从那里找呀正确的理解是:训练集和测试集的归一标准是一样的建议:如果训练集和测试集是一起归一的可以自己编程实现归一如果是训练集和测试集是分开的,最好是使用matlab自带的premnmx、postmnmx、tramnmx 函数如果是
7、自己编程的话,请注意训练集和测试集的归一标准需要一样premnmx、postmnmx、tramnmx函数的使用例子如下:ExampleHereisthecodetonormalizeagivendatasetsothattheinputsandtargetswillfallintherange[-1,1],usingPREMNMX,andthecodetotrainanetworkwiththenormalizeddata.p=[-10-7.5-5-2.502.557.510];t=[07.07-10-7.
8、0707.07107.070];[pn,minp,maxp,tn,mint,maxt]=premnmx(p,t);net=newff(minmax(pn),[51],{'tansig''purelin'},'trainlm');net=train(net,pn,tn);Ifwethenreceivenewinputstoapplytothetrainednetwork,wewilluseTRAMNMXtotran