您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 人工智能神经网络、遗产算法matlab程序举例
1、ex41.mclearclc%newp--创建感知器神经网络%adapt--训练网络%sim--仿真clc%P为输入矢量P=[-0.5,-0.5,0.3,-0.1;-0.5,0.5,-0.5,1.0]%P为输入矢量T=[1,1,0,0]%绘出待分类的数据点图plotpv(P,T)pauseclc%创建感知器神经网络net=newp(minmax(P),1);net.IW{1,1}=[-1.2-0.5];net.b{1}=1;line=plotpc(net.IW{1,1},net.b{1});pauseclcechooffE=1;n=0;echoonclc%训练神经网络while(sse(E))[net,y,E]=adapt(net,P,T);n=n+1;perf(n)=sse(E)line=plotpc(net.IW{1},net.b{1},line);drawnow;endpauseclc%绘制误差变化曲线figureplot(perf);pauseclc%引入新的数据点p=[0.7;1.2];a=sim(net,p)plotpv(p,a);pauseclc%绘制新的分类结果holdon;plotpv(P,T);plotpc(net.IW{1},net.b{1})echooff2、4101.mclearclc%newp--创建感知器神经网络%adapt--训练网络%sim--仿真pauseclc%P为输入矢量P=[0.10.70.80.81.00.30.0-0.3-0.5-1.5;1.21.81.60.60.80.50.20.8-1.5-1.3];%P为输入矢量T=[1110011100;0000011111];%绘出待分类的数据点图plotpv(P,T)pauseclc%创建感知器神经网络net=newp(minmax(P),2);net.IW{1}net.b{1}line=plotpc(net.IW{1},net.b{1});pauseclcechooffE=1;n=0;echoonclc%训练神经网络while(sse(E))[net,y,E]=adapt(net,P,T);n=n+1;perf(n)=sse(E)line=plotpc(net.IW{1},net.b{1},line);drawnow;endpauseclc%绘制误差变化曲线figureplot(perf);pauseclc%引入新的数据点p=[0.7;1.2];a=sim(net,p)plotpv(p,a);pauseclc%绘制新的分类结果holdon;plotpv(P,T);plotpc(net.IW{1},net.b{1})echooff3、ex410closeallclearclfresetfigure(gcf);echoonclc%newlin--生成一个新的线性神经网络%train--训练%sim--仿真pause%任意键开始clc%P为输入矢量P=[0.8,-2;0.92];%T为目标矢量T=[0.5,1;0.6,0.8];%设定线性神经元可能的权值和阀值范围%w_range=-1:0.1:1;%b_range=-1:0.1:1;%根据输入和目标矢量绘制线性神经元的误差曲面%ES=errsurf(P,T,w_range,b_range,'purelin');%plotes(w_range,b_range,ES);%pause%clc%创建线性神经网络net=newlin(minmax(P),2);%对线性神经网络进行训练net.trainParam.goal=0.00001;%设置训练目标误差net.trainParam.epochs=1000;[net,tr]=train(net,P,T);pauseclc%绘制误差变化曲线close(gcf);plotperf(tr,net.trainParam.goal);pauseclc%对线性神经网络进行仿真A=sim(net,P)%计算仿真误差E=T-ASSE=sse(E)echooff简化程序,效果一样:clearclcP=[0.8,-2;0.92];T=[0.5,1;0.6,0.8];%创建线性神经网络net=newlin(minmax(P),2);%对线性神经网络进行训练net.trainParam.goal=0.00001;%设置训练目标误差net.trainParam.epochs=1000;[net,tr]=train(net,P,T);%绘制误差变化曲线plotperf(tr,net.trainParam.goal);非线性神经网络举例,正弦函数-----2011-11-9Time=0:0.1:2;y=sin(Time*2*pi);plot(Time,y);P=[];T=[];fori=0:17P=[P,y(1+i:3+i)'];%y(5)表示矩阵里面第五个数,x=x'表示转置T=[T,y(4+i)];%y(1:3)表示取第一、二、三个数endnet1=newlin(minmax(P),1)net1.trainparam.goal=0.00000001;net1.trainparam.epochs=100000;net1.trainparam.show=1;net2=train(net1,P,T)a=sim(net2,P);plot(Time,y,'*');holdonx=0.3:0.1:2plot(x,a,'ro');z=sim(net2,y(19:21)')%引入新变量,F5表示运行,F11表示下一步运行;
本文标题:人工智能神经网络、遗产算法matlab程序举例
链接地址:https://www.777doc.com/doc-4846707 .html