Matlab语言是MathWorks公司推出的一套高性能计算机编程语言,集数学计算、图形显示、语言设计于一体,其强大的扩展功能为用户提供了广阔的应用空问。
它附带有30多个工具箱,神经网络工具箱就是其中之一。
谷歌人工智能写作项目:神经网络伪原创
matlab 带有神经网络工具箱,可直接调用,建议找本书看看,或者MATLAB论坛找例子写作猫。
核心调用语句如下:%数据输入%选连样本输入输出数据归一化[inputn,inputps]=mapminmax(input_train);[outputn,outputps]=mapminmax(output_train);%% BP网络训练% %初始化网络结构net=newff(inputn,outputn,[8 8]);net.trainParam.epochs=100;=0.01;=0.01;%网络训练net=train(net,inputn,outputn);%% BP网络预测%预测数据归一化inputn_test=mapminmax('apply',input_test,inputps); %网络预测输出an=sim(net,inputn_test); %网络输出反归一化BPoutput=mapminmax('reverse',an,outputps);%% 结果分析。
所谓神经网络算法顾名思义是模拟生物神经网络而产生的一种算法,首先需要用一些已知的数据输入到神经网络中,使它知道什么样的数据属于哪一类(训练),然后将未知的数据输入进去,神经网络通过已知的数据对其进行判断来完成分类(分类)。
可以用来进行图像识别、分类;数据预测;曲线拟合等。推荐找本机器学习,人工智能方面的书看。
clear all;clcfor kk=0:89 pl=ones(16,16); m=strcat(int2str(kk),'.bmp'); x=imread('2.bmp'); bw=im2bw(x,0.5); [i,j]=find(bw==0); imin=min(i); imax=max(i); jmin=min(j); jmax=max(j); bw1=bw(imin:imax:jmin:jmax); rate=16/max(size(bw1)); bw1=imresize(bw1,rate); [i,j]=size(bw1); i1=round((16-i)/2); j1=round((16-j)/2); p1(i1+1:i1+i,j1+1:j1+j)=bw1; p1=-1.*p1+ones(16,16); for m=0:15 p(m*16+1:(m+1)*16,kk+1)=p1(1:16,m+1); end switch kk case{0,10,20,30,40,50,60,70,80,90} t(kk+1)=0; case{1,11,21,31,41,51,61,71,81,91} t(kk+1)=1; case{2,12,22,32,42,52,62,72,82,92} t(kk+1)=2; case{3,13,23,33,43,53,63,73,83,93} t(kk+1)=3; case{4,14,24,34,44,54,64,74,84,94} t(kk+1)=4; case{5,15,25,35,45,55,65,75,85,95} t(kk+1)=5; case{6,16,26,36,46,56,66,76,86,96} t(kk+1)=6; case{7,17,27,37,47,57,67,77,87,97} t(kk+1)=7; case{8,18,28,38,48,58,68,78,88,98} t(kk+1)=8; case{9,19,29,39,49,59,69,79,89,99} t(kk+1)=9; endend。
1单击Apps,在搜索框中输入neu,下方出现了所有神经网络工具箱。neural net fitting 是我们要使用的神经网络拟合工具箱。
2在下界面中点击next3单击load example data set,得到我们需要的测试数据。4单击import5单击next6单击next7数字“10”表示有10个隐含层。单击next。
8单击train,开始训练。9训练过程跳出的小窗口。10训练结果。其中MSE表示均方差,R 表示相关系数。单击next。11这里可以调整神经网络,也可以再次训练。单击next。
12在这里,可以保存结果。如果不需要,直接finish。