人工智能导论实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
人工智能导论实验指导书
实验二
一、实验名称:神经网络实验
二、实验日期:实际上机日期
三、参考资料:《人工智能导论实验指导书》
四、实验目的:
1.熟悉Matlab的应用开发环境
2.了解Matlab语言中常量、变量的表示方法
3.在Matlab环境下,进行神经网络建模解决函数拟合问题。
五、实验内容(步骤):
目标函数位:z=(cos (6*a*pi*x) + 2*(y.^2) + 1 + a*x*y)/2.5-0.6 (a=0.1)
%%%%%%%%%%%
%question.m
% Function recognition by a nerual network
%%%%%%%%%%%
clear all;
close all;
t=-1:0.22:1;
[x,y] = meshgrid(t,t);
P=[x(:)';y(:)'];
tt=-0.89:0.22:0.89;
[xx,yy] = meshgrid(tt,tt);
PP=[xx(:)';yy(:)'];
a=0.1;
z=(cos (6*a*pi*x) + 2*(y.^2) + 1 + a*x*y)/2.5-0.6; % The target results for training T=z(:)';
zz=(cos (6*a*pi*xx) + 2*(yy.^2) + 1 + a*xx*yy)/2.5-0.6; % The actual results of test set TT=zz(:)';
net=newff([-1 1; -1 1],[5,1],{'tansig','purelin'},'traingdx');
net.trainParam.lr=0.01; % The learning rate
net=init(net); %initialize
net.trainParam.epochs=1000; % set epochs
net=train(net,P,T); % Train the ANN
RR=sim(net,PP); % Get the approximate result
Erms=mean((RR(:)-zz(:)).^2,1); % Mean Square Error fprintf('\nErms is %f \n',Erms);
figure('name','true and estimate 3d plot');
plot3(xx(:),yy(:),zz(:),'b'); hold on;
plot3(xx(:),yy(:),RR(:),'r'); hold off;
figure('name','true and estimate 3d surface');
surf(xx,yy,zz); hold on;
surf(xx,yy,reshape(RR(:),9,9)); hold off;