《人工智能导论》课程研究总结

《人工智能导论》课程研究总结 题目:

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)=?

相关推荐