《人工智能导论》课程研究总结 题目:
BP神经网络的非线性函数拟合 班级: 姓名: 学号: 年 月 日
本次作业我负责程序的编写,过程如下
Matlab软件中包含Matlab神经网络工具箱。它是以人工神经网络理论为基础,用Matlab语言构造出了该理论所涉及的公式运算、矩阵操作和方程求解等大部分子程序以用于神经网络的设计和训练。用户只需根据自己的需要调用相关的子程序,即可以完成包括网络结构设计、权值初始化、网络训练及结果输出等在内的一系列工作,免除编写复杂庞大程序的困扰。目前,Matlab神经网络工具包包括的网络有感知器、线性网络、BP神经网络、径向基网络、自组织网络和回归网络等。BP神经网络主要用到newff、sim和train3个神经网络函数,各函数解释如下。
1、newff:BP神经网络参数设置函数
函数功能:构建一个BP神经网络。
函数形式:net = newff(P,T,S,TF,BTF,BLF,PF,IPF,OPF,DDF)
P:输入数据矩阵。
T:输出数据矩阵。
S:隐含层结点数。
TF:结点传递函数,包括硬限幅传递函数hardlim,对称硬限幅传递函数hardlims,线性传递函数pureline,正切S型传递函数tansig,对数S型传递函数logsig。
BTF:训练函数,包括梯度下降BP算法训练函数traingd,动量反传的梯度下降BP算法训练函数traingdm,动态自适应学习率的梯度下降BP算法训练函数traingda,动量反传和动态自适应学习率的梯度下降BP算法训练函数traingdx,Levenberg_Marquardt的BP算法训练函数trainlm。
BLF:网络学习函数,包括BP学习规格learngd,带动量项的BP学习规则learngdm。
PF:性能分析函数,包括均值绝对误差性能分析函数mae,均方差性能分析函数mse。
IPF:输入处理函数。
OPF:输出处理函数。
DDF:验证数据划分函数。
一般在使用过程中设置前面6个参数,后面4个参数采用系统默认参数。
2、train:BP神经网络训练函数
函数功能:用训练数据训练BP神经网络。
函数形式:[net,tr] = train(NET,X,T,Pi,Ai)
NET:待训练网络。
X:输入数据。
T:输出数据。
Pi:初始化输入层条件。
Ai:初始化输出层条件。
net:训练好的网络。
tr:训练过程记录。
一般在使用过程中设置前面3个参数,后面2个参数采用系统默认参数。
3、sim:BP神经网络预测函数、
函数功能:用训练好的BP神经网络预测函数输出。
函数形式:y = sim(net,x)
net:训练好的网络。
x:输入数据。
y:网络预测数据。
程序代码:
%% 清空环境变量
clc
clear
%% 训练数据预测数据提取及归一化
%导入输入输出数据
load data input output
%从1到2000间随机排序
k=rand(1,2000);
[m,n]=sort(k);
%随机选择1900组训练数据和100组预测数据
input_train=input(n(1:1900),:)';
output_train=output(n(1:1900));
input_test=input(n(1901:2000),:)';
output_test=output(n(1901:2000));
%训练数据归一化
[inputn,inputps]=mapminmax(input_train);
[outputn,outputps]=mapminmax(output_train);
%% BP网络训练
%初始化BP网络结构
net=newff(inputn,outputn,5);
%网络参数配置(迭代次数、学习率、目标)
net.trainParam.epochs=100;
net.trainParam.lr=0.1;
net.trainParam.goal=0.00004;
%网络训练
net=train(net,inputn,outputn);
%% BP网络预测
%预测数据归一化
inputn_test=mapminmax('apply',input_test,inputps);
%网络预测输出
an=sim(net,inputn_test);
%网络输出反归一化
BPoutput=mapminmax('reverse',an,outputps);
%% 结果分析
figure(1)
plot(BPoutput,':og')
hold on
plot(output_test,'-*');
legend('预测输出','期望输出')
title('BP网络预测输出','fontsize',12)
ylabel('函数输出','fontsize',12)
xlabel('样本','fontsize',12)
%预测误差
error=BPoutput-output_test;
figure(2)
plot(error,'-*')
title('BP网络预测误差','fontsize',12)
ylabel('误差','fontsize',12)
xlabel('样本','fontsize',12)
figure(3)
plot((output_test-BPoutput)./BPoutput,'-*'); title('神经网络预测误差百分比')
errorsum=sum(abs(error))
感受与体会
本次课程设计使我受益匪浅,他使我更加深入的了解了硬件设计的整个流程,并且加深了我对EDA技术这门的课内容的理解,让我巩固了以前所学过的知识。通过本次课程设计,我加深了我对VHDL语言的理解,扩充了我的知识面。本次设计课不仅仅培养了我们的实际操作能力,也培养了我们灵活运用课本知识,理论联系实际,独立自主的进行设计的能力。
本次课程设计给我提供了一个既动手又动脑、自学、独立实践的机会,也培养了我的耐心和毅力,设计中遇到不少问题,而一个小小的错误就会导致结果的不正确,而对错误的检查要求我要有足够的耐心,因此本次课程设计使我积累了一定的实际操作与独立自主设计的经验,相信这些经验在我以后的学习和工作中会有很大的作用。
《人工智能导论》期末复习
一、题型:
填空题、简答题、计算题、论述题
二、复习重点:
第一章:
1.什么是人工智能?人工智能的三种观点分别是什么?
2.实现人工智能的技术路线是哪四种?
3.人工智能要研究的三个主要问题是什么?
4.人工智能有哪些主要研究领域?
第二章:
1.什么是知识?何谓知识表示?
2.用谓词逻辑表示法表示猴子摘香蕉问题。
3.产生式系统推理机的推理形式有哪三种?
4.产生式系统一般由哪三个基本部分组成?
5.用语义网络表示:“苹果树枝繁叶茂,上结了很多苹果,有大的,也有小的,有红的,也有绿的”。
6.用与/或树方法表示三阶Hanoi塔问题。
第三章:
1.推理的含义是什么?
2.应用归结原理求解下列问题:任何兄弟都有同一个父亲,John和Peter是兄弟,且John的父亲是David,问Peter的父亲是谁?
第四章:
1.可信度方法:例4.1,例4.2
2.主观Bayes方法:例4.8,例4.9
3.证据理论中描述证据和结论的不确定性采用哪两个函数度量?
第五章:
1.什么叫搜索?搜索的两层含义是什么?
2.用全局最佳优先搜索方法求解以下八数码问题。
3.用代价树的深度优先搜索求解下面的推销员旅行问题。
第六章:
1.什么是机器学习?机器学习研究的目标是什么?研究机器学习的意义何在?
2.机器学习有哪些主要学习策略?
3.机器学习系统的基本模型包含哪四个基本环节?
4.实例学习的含义是什么?它包含哪两个空间模型?对规则空间进行搜索的方法有几种?
第七章:
1.什么是自然语言理解?自然语言理解过程有哪些层次?各层次的功能如何?
2.对汉语语料库加工的方法是什么?汉语自动分词的方法有哪些?其难点何在?
第八章:
1.什么是专家系统?它有哪些基本特点?一般专家系统由哪些基本
部分构成?
2.知识获取的主要任务是什么?
3.有哪几类专家系统开发工具?各有什么特点?
第九章:
1.解答B-P学习算法的流程图,并说明其优缺点。
2.简述Hopfield学习算法的主要步骤。
第十章:
1.从技术的角度讲,数据挖掘的定义是什么?
2.数据挖掘目前面临的研究热点有哪些?谈谈你对数据挖掘研究未来的发展走势的看法?
3.什么是智能主体?它应具有哪些基本特征?多主体系统有何特点?
4.面向主体的软件开发(AOP)与面向对象的软件开发(OOP)技术有何不同?主体技术大规模应用所面临的机遇与挑战是什么?
设有如下一组推理规则: R1: IF E1 THEN E2 (0.6) R2: IF E2 AND E3 THEN E4 (0.8) R3: IF E4 THEN H (0.7) R4: IF E5 THEN H (0.9) 且已知CF(E1)=0.5, CF(E3)=0.6, CF(E5)=0.4, 结论H的可信度一无所知。求CF(H)=?
人工智能学习心得今天是我学习人工智能的第一堂课也是我上大学以来第一次接触人工智能这门课通过老师的讲解我对人工智能有了一些简单的感性…
1PROLOG程序一般由一组事实规则和问题组成事实一般表示对象的性质或关系规则一般表示对象间的因果关系蕴含关系或对应关系问题表示用…
1谈谈你对于人工智能的认识人工智能就是人造智能目前指用计算机模拟或实现的智能因此人工智能又称机器智能人工智能在我看来应该是像人一样…
第一章什么是人工智能智能就是在巨大的搜索空间中迅速找到一个满意解的能力即是知识和智力的总和智能的特征1感知能力2记忆与思维能力3学…
11什么是人工智能人工智能ArtificialIntelligence是利用设备或机器用人工的方法对人脑的思维活动过程进行模拟当使…
“导论”课程学习总结XXXXXX转眼间,大一的学习生活已经接近尾声了,这一年虽然没有停止过学习,但是我一直很迷茫,有对未来的迷茫,…
计算机导论学习总结报告计121张进12130220xx当初填志愿的时候还没考虑过学计算机这方面,觉得这方面虽然前途很广,但是也算个…
计算机科学与技术导论课程总结我对计算机专业的认识和未来规划专业班级软件工程(1)学号姓名赵云徽20xx年x月x日对计算机学科和课程…
计算机导论学习总结报告在计算机的发展史上,有三件事是我觉得最有转折性意义的,第一就是冯诺依曼进行的计算机逻辑设计,他运用其非凡的分…
自从人类降临在世界上,就为族群的生存和繁衍寻找着出路,为了更好地生存下去,我们一直探寻着大自然的奥秘。我们曾经学会狩猎、学会耕种,…