谷歌人工智能写作项目:小发猫
matlab带有神经网络工具箱,可直接调用,建议找本书看看,或者MATLAB论坛找例子常见的神经网络结构。
核心调用语句如下:%数据输入%选连样本输入输出数据归一化[inputn,inputps]=mapminmax(input_train);[outputn,outputps]=mapminmax(output_train);%%BP网络训练%%初始化网络结构net=newff(inputn,outputn,[88]);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);%%结果分析。
神经网络技术在模式识别与分类、识别滤波、自动控制、预测等方面已展示了其非凡的优越性。神经网络的结构由一个输入层、若干个中间隐含层和一个输出层组成。
神经网络分析法通过不断学习,能够从未知模式的大量的复杂数据中发现其规律。
神经网络方法克服了传统分析过程的复杂性及选择适当模型函数形式的困难,它是一种自然的非线性建模过程,毋需分清存在何种非线性关系,给建模与分析带来极大的方便。
给你一个实例,希望通过该例子对实现神经网络应用有一定的了解。
%x,y分别为输入和目标向量x=1:5;y=[639646642624652];%创建一个前馈网络net=newff(minmax(x),[20,1],{'tansig','purelin'});%仿真未经训练的网络net并画图y1=sim(net,x);plot(x,y1,':');%采用L-M优化算法net.trainFcn='trainlm';%设置训练算法net.trainParam.epochs=500;=10^(-6);%调用相应算法训练BP网络[net,tr,yy]=train(net,x,y);%对BP网络进行仿真y1=sim(net,x);%计算仿真误差E=y-y1;MSE=mse(E)holdon%绘制匹配结果曲线figure;plot(x,y1,'r*',x,y,'b--')执行结果。
net=train(net,p,t);把这句改成net=train(net,p',t');试试,matlab应该默认使用列向量。
或者直接使用matlab提供的图形界面取训练,在命令行输入nnstart。
自学的话,从基本学起,可以看看下面这本书,看完基本的神经网络都熟悉了。
人工神经网络(ArtificialNeuralNetwork,即ANN),是20世纪80年代以来人工智能领域兴起的研究热点。
它从信息处理角度对人脑神经元网络进行抽象,建立某种简单模型,按不同的连接方式组成不同的网络。在工程与学术界也常直接简称为神经网络或类神经网络。
神经网络是一种运算模型,由大量的节点(或称神经元)之间相互联接构成。每个节点代表一种特定的输出函数,称为激励函数(activationfunction)。
每两个节点间的连接都代表一个对于通过该连接信号的加权值,称之为权重,这相当于人工神经网络的记忆。网络的输出则依网络的连接方式,权重值和激励函数的不同而不同。
而网络自身通常都是对自然界某种算法或者函数的逼近,也可能是对一种逻辑策略的表达。
您好,我来为您解答:matlab有比较成熟的神经网络函数,可以直接进行调用即可!比vc还要简单些!
这个一般用javascript来写的我给你一段我们练习的时候的代码给你,输入多少页在input的text文本框内做一个丢失焦点事件οnblur="forward(this);"然后用Javascript做一个函数,获得this.value就可以得到用户输入的多少页了.当然你也可以做一些数据格式效验,安全检测这些的。
希望我的回答对你有帮助。
BP神经网络的传递函数一般采用sigmiod函数,学习算法一般采用最小梯度下降法;下面是具体的程序例子:例1采用动量梯度下降算法训练BP网络。
训练样本定义如下:输入矢量为p=[-1-231-115-3]目标矢量为t=[-1-111]解:本例的MATLAB程序如下:closeallclearechoonclc%NEWFF——生成一个新的前向神经网络%TRAIN——对BP神经网络进行训练%SIM——对BP神经网络进行仿真pause%敲任意键开始clc%定义训练样本%P为输入矢量P=[-1,-2,3,1;-1,1,5,-3];%T为目标矢量T=[-1,-1,1,1];pause;clc%创建一个新的前向神经网络net=newff(minmax(P),[3,1],{'tansig','purelin'},'traingdm')%当前输入层权值和阈值{1,1}inputbias=net.b{1}%当前网络层权值和阈值{2,1}layerbias=net.b{2}pauseclc%设置训练参数=50;=0.05;学习速率=0.9;动量系数net.trainParam.epochs=1000;=1e-3;pauseclc%调用TRAINGDM算法训练BP网络[net,tr]=train(net,P,T);pauseclc%对BP网络进行仿真A=sim(net,P)%计算仿真误差E=T-AMSE=mse(E)pauseclcechooff。