1、 《人工智能及其应用》 试验指导书 浙江工业大学计算机科学和技术学院—人工智能课程组 9月 前 言 本试验是为了配合《人工智能及其应用》课程理论学习而专门设置。本试验目标是巩固和加强人工智能基础原理和方法,并为以后深入学习更高级课程和信息智能化技术研究和系统开发奠定良好基础。 全书共分为八个试验:1.产生式系统试验;2.模糊推理系统试验;3.A*算法求解8数码问题试验;4.A*算法求解迷宫问题试验;5.遗传算法求解函数最值问题试验;6.遗传算法求解TSP问题试验;7.基于神经网络模式识别试验;
2、8.基于神经网络优化计算试验。每个试验包含有:试验目标、试验内容、试验条件、试验要求、试验步骤和试验汇报等六个项目。 本试验指导书包含两个部分。第一个部分是介绍试验教学纲领;第二部分是介绍八个试验内容。 因为编者水平有限,本试验指导书错误和不足在所难免,欢迎批评指正。 人工智能课程组 9月
3、 目录 试验教学纲领 1 试验一 产生式系统试验 3 试验二 模糊推理系统试验 5 试验三 A*算法试验I 9 试验四 A*算法试验II 12 试验五 遗传算法试验I 14 试验六 遗传算法试验II 18 试验七 基于神经网络模式识别试验 20 试验八 基于神经网络优化计算试验 24 试验教学纲领 一、课时:16课时,通常安排
4、在第9周至第16周。 二、关键仪器设备及运行环境:PC机、Visual C++ 6.0、Matlab 7.0。 三、试验项目及教学安排 序号 试验名称 试验 平台 试验内容 课时 类型 教学 要求 1 产生式系统应用 VC++ 设计知识库,实现系统识别或分类等。 2 设计 课内 2 模糊推理系统应用 Matlab 1)设计洗衣机模糊控制器; 2)设计两车追赶模糊控制器。 2 验证 课内 3 A*算法应用I VC++ 设计和实现求解N数码问题A*算法。 2 综合 课内 4 A*算法应用II VC++ 设计和实现求解迷宫问题
5、A*算法。 2 综合 课内 5 遗传算法应用I Matlab 1)求某一函数最小值; 2)求某一函数最大值。 2 验证 课内 6 遗传算法应用II VC++ 设计和实现求解不一样城市规模TSP问题遗传算法。 2 综合 课内 7 基于神经网络模式识别 Matlab 1)基于BP神经网络数字识别设计; 2)基于离散Hopfiel神经网络联想记忆设计。 2 验证 课内 8 基于神经网络优化计算 VC++ 设计和实现求解TSP问题连续Hopfield神经网络。 2 综合 课内 四、试验成绩评定 试验课成绩单独按五分制评定。凡试验成绩
6、不及格者,该门课程就不及格。学生试验成绩应以平时考查为主,通常应占课程总成绩50%,其平时成绩又要以试验实际操作优劣作为关键考评依据。对于试验课成绩,不管采取何种方法进行考评,全部必需按试验课目标要求,以实际试验工作能力强弱作为评定成绩关键依据。 评定各级成绩时,可参考以下标准: (一)优异 能正确了解试验目标要求,能独立、顺利而正确地完成各项试验操作,会分析和处理试验中碰到问题,能掌握所学各项试验技能,能很好地完成试验汇报及其它各项试验作业,有一定发明精神和能力。有良好试验室工作作风和习惯。 (二)良好 能了解试验目标和要求,能认真而正确地完成各项试验操作,能分析和处理试验中碰到部
7、分问题。能掌握所学试验技能绝大部分,对难点较大操作完成有困难。能通常完成试验汇报和其它试验作业。有很好试验习惯和工作作风。 (三)中等 能粗浅了解试验目标要求,能认真努力进行各项试验操作,但技巧较差。能分析和处理试验中部分较轻易问题,掌握试验技能大部分。有30%掌握得不好。能通常完成各项试验作业和汇报。处理问题缺乏条理。工作作风很好。能认真遵守各项规章制度。学习努力。 (四)及格 只能机械地了解试验内容,能通常按图、或按试验步骤“照方抓药”完成试验操作,能完成60%所学试验技能,有些虽作但不正确。碰到问题常常缺乏处理措施,在她人启发下能作些简单处理,但效果不理想。能通常完成试验汇报,能
8、认真遵守试验室各项规章制度,工作中有小习惯性毛病(如工作无计划,处理问题缺乏条理)。 (五)不及格 盲目地“照方抓药”,只掌握50%所学试验技能。有些试验虽能作,但通常效果不好,操作不正确。工作忙乱无条理。通常能遵守试验室规章制度,但常有小错误。试验汇报较多时候有结果,碰到问题时说不明原因,在老师指导下也较难完成各项试验作业。或有些小聪慧但不努力,不求上进。 试验一 产生式系统试验 一、试验目标: 熟悉一阶谓词逻辑和产生式表示法,掌握产生式系统运行机制,和基于规则推理基础方法。 二、试验内容 利用所学知识,设计并编程实现一个小型人工智能系统(如分类、
9、诊疗、估计等类型)。 三、试验条件: 产生式系统试验程序,以下图1所表示。 图1 产生式系统试验程序界面 四、试验要求 1. 具体应用领域自选,具体系统名称自定;但所做系统绝对不能雷同。 2. 用一阶谓词逻辑和产生式规则作为知识表示,利用图1所表示产生式系统试验程序,建立知识库,分别运行正、反向推理。 3. 系统完成后,提交试验汇报。 五、试验步骤: 1. 基于图1所表示产生式系统试验程序,设计并实现一个小型人工智能系统: 1)系统设置,包含设置系统名称和系统谓词,给出谓词名及其含义。 2)编辑知识库,经过输入规则或修改规则等,完成整个规则库建立。 3)建立事实库
10、综合数据库),输入多条事实或结论。 4)运行推理,包含正向推理和反向推理,给出对应推理过程、事实区和规则区。 2. 撰写试验汇报。 六、试验汇报 下面是试验汇报基础内容和书写格式。 递交汇报文件名:班级_学号_姓名_试验名称 ——————————————————————— 试验名称 班级: 学号: 姓名: 一、试验目标 二、试验内容 三、试验步骤 四、试验结果 1. 系统名称及谓词定义 2. 系统知识库 3. 系统正、反向推理过程、事实区和规则区。 五、试验总结 ————————————
11、——————————— 试验二 模糊推理系统试验 一、试验目标 了解模糊逻辑推理原理及特点,熟练应用模糊推理,了解可能性理论。 二、试验原理 模糊推理所处理事物本身是模糊,概念本身没有明确外延,一个对象是否符合这个概念难以明确地确定,模糊推理是对这种不确定性,即模糊性表示和处理。模糊逻辑推理是基于模糊性知识(模糊规则)一个近似推理,通常采取Zadeh提出语言变量、语言值、模糊集和模糊关系合成方法进行推理。 三、试验条件 Matlab 7.0 Fuzzy Logic Tool。 四、试验内容及要求 1. 设计洗衣机洗涤时间模糊控制。已知人操作经验为: “污泥越多,
12、油脂越多,洗涤时间越长”; “污泥适中,油脂适中,洗涤时间适中”; “污泥越少,油脂越少,洗涤时间越短”。 要求: (1)假设污泥、油脂、洗涤时间论域分别为[0,100]、[0,100]和[0,120],设计对应模糊推理系统,给出输入、输出语言变量隶属函数图,模糊控制规则表和推论结果立体图。 (2)假定目前传感器测得信息为,采取面积重心法反模糊化,给出模糊推理结果,并观察模糊推理动态仿真环境,给出其动态仿真环境图。 提醒:模糊控制规则以下表1所表示,其中SD(污泥少)、MD(污泥中)、LD(污泥多)、NG(油脂少)、MG(油脂中)、LG(油脂多)、VS(洗涤时间很短)、S(洗涤时间
13、短)、M(洗涤时间中等)、L(洗涤时间长)、VL(洗涤时间很长)。 图1 洗衣机模糊控制规则表 x y z SD NG VS SD MG M SD LG L MD NG S MD MG M MD LG L LD NG M LD MG L LD LG VL 2.假设两汽车均为理想状态,即,Y为速度,U为油门控制输入。 (1)设计模糊推理系统控制2号汽车由静止开启,追赶200m外时速90km1号汽车并和其保持30m距离。 (2)在25时刻1号汽车速度改为时速110km时,仍和其保持30m距离。 (3)在35时刻1号汽车速度改为
14、时速70km时,仍和其保持30m距离。 要求: (1)以下图1所表示,设计两输入一输出模糊推理系统作为2号汽车模糊控制器,其中输入为误差e和误差改变,输出为1号汽车油门控制u,采取面积等分法反模糊化,给出输入、输出语言变量隶属函数图,模糊控制规则表,推论结果立体图和模糊推理动态仿真环境图。 图1 两车追赶模糊控制系统框图 (2)用SIMULINK仿真两车追赶模糊控制系统,给出目标车(1号汽车)速度曲线图,和追赶车(2号汽车)速度曲线图和和目标车(1号汽车)相对距离改变图。 提醒:模糊控制规则以下表2所表示,其中,r 、和油门控制u论域分别为[0,1]、[-3,3]和[-1,1],
15、r隶属函数图2所表示。 表2 模糊控制规则表 NB ZE PB PB ZE NM NB PM ZE PM PB ZE ZE PM PB NM ZE NM NB NB ZE NM NB 图2 r隶属函数图 五、试验汇报要求: 1. 根据试验要求,给出对应结果。 2.分析隶属度、模糊关系和模糊规则相互关系。 下面是试验汇报基础内容和书写格式。 试验名称 班级: 学号: 姓名: 一、试验目标 二、试验内容 三、试验结果 根据试
16、验要求,给出对应结果。 四、试验总结 1. 分析隶属度、模糊关系和模糊规则相互关系。 2. 总结试验心得体会 —————————————————————————————————— 试验三 A*算法试验I 一、试验目标 熟悉和掌握启发式搜索定义、估价函数和算法过程,并利用A*算法求解N数码难题,了解求解步骤和搜索次序。 二、试验原理 A*算法是一个启发式图搜索算法,其特点在于对估价函数定义上。对于通常启发式图搜索,总是选择估价函数f值最小节点作为扩展节点。所以,f是依据需要找到一条最小代价路径见解来估算
17、节点,所以,可考虑每个节点n估价函数值为两个分量:从起始节点到节点n实际代价g(n)和从节点n抵达目标节点估价代价h(n),且,为节点到目标结点最优路径代价。 八数码问题是在3×3九宫格棋盘上,摆有8个刻有1~8数码将牌。棋盘中有一个空格,许可紧邻空格某一将牌能够移到空格中,这么经过平移将牌能够将某一将牌布局变换为另一布局。针对给定一个初始布局或结构(目标状态),问怎样移动将牌,实现从初始状态到目标状态转变。以下图1表示了一个具体八数码问题求解。 图1 八数码问题求解 三、试验内容 1. 参考A*算法关键代码,以8数码问题为例实现A*算法求解程序(编程语言不限),要求设计两种不一样
18、估价函数。 2. 设置相同初始状态和目标状态,针对不一样估价函数,求得问题解,并比较它们对搜索算法性能影响,包含扩展节点数、生成节点数等。 3. 设置和上述2相同初始状态和目标状态,用宽度优先搜索算法(即令估量代价h(n)=0A*算法)求得问题解,和搜索过程中扩展节点数、生成节点数。 *4. 参考A*算法关键代码,实现A*算法求解15数码问题程序,设计两种不一样估价函数,然后反复上述2和3试验内容。 5. 提交试验汇报和源程序。 四、试验汇报要求 1. 分析不一样估价函数对A*算法性能影响。 2. 依据宽度优先搜索算法和A*算法求解8、15数码问题结果,分析启发式搜索特点。
19、下面是试验汇报基础内容和书写格式。 试验名称 班级: 学号: 姓名: 一、试验目标 二、试验原理 三、试验结果 根据试验内容,把结果填入表1。 表1 不一样启发函数h(n)求解8数码问题结果比较 启发函数h(n) 不在位数 0 初始状态 目标状态 最优解 扩展节点数 生成节点数 运行时间 *表2 不一样启发函数h(n)求解15数码问题结果比较 启发函数h(n) 不在位数
20、 0 初始状态 目标状态 最优解 扩展节点数 生成节点数 运行时间 四、试验总结 1. 画出A*算法求解N数码问题步骤图 2. 完成试验汇报要求1和2。 3. 总结试验心得体会 —————————————————————————————————— 试验四 A*算法试验II 一、试验目标 熟悉和掌握A*算法实现迷宫寻路功效,要求掌握启发式函数编写和各类启发式函数效果比较。 二、试验原理 A*(A-Star)算法是一个静态路网中求解最短路最有效方
21、法。公式表示为:f(n)=g(n)+h(n),其中f(n)是节点n从初始点到目标点估价函数,g(n)是在状态空间中从初始节点到n节点实际代价,h(n)是从n到目标节点最好路径估量代价。确保找到最短路径(最优解)条件,关键在于估价函数h(n)选择:估价值h(n)小于等于n到目标节点距离实际值,这种情况下,搜索点数多,搜索范围大,效率低,但能得到最优解。假如估价值大于实际值,搜索点数少,搜索范围小,效率高,但不能确保得到最优解。 寻路问题常见于各类游戏中角色寻路、三维虚拟场景中运动目标路径计划、机器人寻路等多个应用领域。迷宫寻路问题是在以方格表示地图场景中,对于给定起点、终点和障碍物(墙),怎样
22、找到一条从起点开始避开障碍物抵达终点最短路径。 假设在一个n*m迷宫里,入口坐标和出口坐标分别为(1,1)和(5,5),每一个坐标点有两种可能:0或1,其中0表示该位置许可经过,1表示该位置不许可经过。 如地图: 0 0 0 0 0 1 0 1 0 1 0 0 1 1 1 0 1 0 0 0 0 0 0 1 0 最短路径应该是 A B 0 0 0 1 C 1 0 1 E D 1 1 1 F 1 J K L G H I 1 M 即: (1,1)-(1,2)-(2,2)-(3,2)-(3,1)-(4,1)-(5,1)-(5,2)-(5,3)-(4,3)-(4,4)-(4
23、5)-(5,5) 三、试验内容 1.参考迷宫求解关键代码,观察求解过程和思绪,画出用A*算法求解迷宫最短路径步骤图。 2.设置不一样地图,和不一样初始状态和目标状态,统计A*算法求解结果,包含最短路径、扩展节点数、生成节点数和算法运行时间。 3.对于相同初始状态和目标状态,设计不一样启发式函数,比较不一样启发式函数对迷宫寻路速度提升效果,包含扩展节点数、生成节点数和算法运行时间。 4.提交试验汇报和源程序。 四、试验汇报要求: 1.画出A*算法求解迷宫最短路径问题步骤图。 2.试分析不一样启发式函数h(n)对迷宫寻路求解速度提升效果。 3.分
24、析A*算法求解不一样规模迷宫最短路径问题性能。 下面是试验汇报基础内容和书写格式。 试验名称 班级: 学号: 姓名: 一、试验目标 二、试验原理 三、试验结果 根据试验内容,给出对应结果。 四、试验总结 1. 完成试验汇报要求2和3。 2. 总结试验心得体会 —————————————————————————————————— 试验五 遗传算法试验I 一、试验目标 熟悉和掌握遗传算法原理、步骤和编码策略,并利用遗传求解函数优化问题,了解求解步骤并测
25、试关键参数对结果影响。 二、试验原理 遗传算法 ( Genetic Algorithms, GA )是基于生物界自然选择和基因遗传学原理一个广为应用、高效随机搜索算法,20世纪60年代由美国密执根大学Holland教授首先提出。该算法将优化问题看作是自然界中生物进化过程,经过模拟大自然中生物进化过程中遗传规律,来达成寻优目标。多年来,遗传算法已广泛地应用于作业调度和排序、可靠性设计、车辆路径选择和调度、成组技术、设备部署和分配、交通问题等等。 用遗传算法求解优化问题,首先对优化问题解进行编码,编码后一个解称为一个染色体,组成染色体元素称为基因。一个群体由若干个染色体组成,染色体个数称为群
26、体规模。在遗传算法中用适应度函数表示环境,它是已编码解函数,是一个解适应环境程度评价。当适应度函数确定后,自然选择规律以适应度函数值大小来决定一个染色体是否继续生存下去概率。生存下来染色体成为种群,它们中部分或全部以一定概率进行交叉、变异,从而得到下一代群体。 三、试验条件 Matlab 7.X 遗传算法工具箱。 四、试验内容: 1.用遗传算法求解下列函数最大值,设定求解精度到15位小数。 1) 给出适应度函数(Fitness Function)M文件(Matlab中要求适应度函数最小化)。 2) 设计及选择上述问题编码、选择操作、交叉操作、变异操作和控制参数等,填入
27、表1,给出最好适应度(Best fitness)和最好个体(Best individual)图。 表1 遗传算法参数选择 编码 编码方法(population type) 种群参数 种群规模(population size) 初始种群个体取值范围(Initial range) 选择操作 个体选择概率分配策略(对应Fitness scaling) 个体选择方法(Selection function) 最好个体保留 优良个体保留数量(Elite count) 交叉操作 交叉概率(Crossover fraction) 交叉方法(Cro
28、ssover function) 变异操作 变异方法(Mutation function) 停止参数 最大迭代步数(Generations) 最大运行时间限制(Time limit) 最小适应度限制(Fitness limit) 停滞代数(Stall generations) 停滞时间限制(Stall time limit) 3) 使用相同初始种群(Use random state from previous run),设置不一样种群规模(population size),比如5、20和100,初始种群个体取值范围(Initial ra
29、nge)为[0;1],其它参数同表1,然后求得对应最好适应度(Best fitness)、平均适应度(Mean fitness)和最好个体(Best individual),填入下表2,分析种群规模对算法性能影响。 表2 不一样种群规模GA运行结果 种群规模 最好适应度 平均适应度 最好个体 x y 5 20 100 *4) 设置种群规模(population size)为20,初始种群个体取值范围(Initial range)为[0;10],选择不一样选择操作、交叉操作和变异操作,其它参数同表1,然后独立运行算法10次,完
30、成下表3,并分析比较采取不一样选择策略、交叉策略和变异策略算法运行结果。 表3不一样选择策略、交叉策略和变异策略算法运行结果 遗传算法参数设置(gaoptimset) 1 2 3 4 选择操作 个体选择概率分配 FitnessScalingFcn Rank(排序) @fitscalingrank √ √ √ Proportional(比率) @fitscalingprop √ 个体选择 SelectionFcn Roulette(轮盘赌选择) @selectionroulette √ √ √ Tournament(竞标赛选择
31、 @selectiontournament √ 交叉操作 CrossoverFcn 单点交叉 @crossoversinglepoint √ √ √ 两点交叉 @crossovertwopoint √ 变异操作 MutationFcn Uniform(均匀变异)@mutationuniform √ √ √ Gaussian(高斯变异)@mutationgaussian √ 最好适应度 最差适应度 平均适应度 备注: 1:options=gaoptimset
32、'PopulationSize',20,'PopInitRange',[0;10],'FitnessScalingFcn',@fitscalingrank,'SelectionFcn',@selectionroulette,'CrossoverFcn',@crossoversinglepoint,'MutationFcn',@mutationuniform) 2.用遗传算法求解下面一个Rastrigin函数最小值,设定求解精度到15位小数。 1)给出适应度函数M文件(Matlab中要求适应度函数最小化)。 2) 设计上述问题编码、选择操作、交叉操作、变异操作和控制参数等,填入表
33、4,并画出最好适应度(Best fitness)和最好个体(Best individual)图。 表4 遗传算法参数选择 编码 编码方法(population type) 种群参数 种群规模(population size) 初始种群个体取值范围(Initial range) 选择操作 个体选择概率分配策略(对应Fitness scaling) 个体选择方法(Selection function) 最好个体保留 优良个体保留数量(Elite count) 交叉操作 交叉概率(Crossover fraction) 交叉方法(Crossov
34、er function) 变异操作 变异方法(Mutation function) 停止参数 最大迭代步数(Generations) 最大运行时间限制(Time limit) 最小适应度限制(Fitness limit) 停滞代数(Stall generations) 停滞时间限制(Stall time limit) 3) 设置种群不一样初始范围,比如[1;1.1]、[1;100]和[1;2],画出对应最好适应度值(Best fitness)和平均距离(Distance)图,比较分析初始范围及种群多样性对遗传算法性能影响。 4) 设置
35、不一样交叉概率(Crossover fraction=0、0.8、1),画出无变异交叉(Crossover fraction=1)、无交叉变异(Crossover fraction=0)和交叉概率为0.8时最好适应度值(Best fitness)和和平均距离(Distance)图,分析交叉和变异操作对算法性能影响。 五、试验汇报要求: 1.画出遗传算法算法步骤图。 2.依据试验内容,给出对应结果。 3. 总结遗传算法特点,并说明适应度函数在遗传算法中作用。 下面是试验汇报基础内容和书写格式。 试验名称 班级: 学号: 姓名:
36、 一、试验目标 二、试验原理 三、试验结果 根据试验内容,给出试验结果和结果分析。 四、试验总结 1. 完成试验汇报要求3。 2. 总结试验心得体会 —————————————————————————————————— 试验六 遗传算法试验II 一、试验目标 熟悉和掌握遗传算法原理、步骤和编码策略,了解求解TSP问题步骤并测试关键参数对结果影响,掌握遗传算法基础实现方法。 二、试验原理 旅行商问题,即TSP问题(Traveling Salesman Pro
37、blem)是数学领域中著名问题之一。假设有一个旅行商人要造访n个城市,n个城市之间相互距离已知,她必需选择所要走路径,路经限制是每个城市只能造访一次,而且最终要回到原来出发城市。路径选择目标是要求得路径旅程为全部路径之中最小值。 用图论术语来说,假设有一个图g=(v,e),其中v是顶点集,e是边集,设d=(dij)是由顶点i和顶点j之间距离所组成距离矩阵,旅行商问题就是求出一条经过全部顶点且每个顶点只经过一次含有最短距离回路。TSP问题是一个经典组合优化问题,该问题能够被证实含有NPC计算复杂性,其可能路径数目和城市数目n是成指数型增加,所以通常极难正确地求出其最优解,本试验采取遗传算法求解
38、 遗传算法基础思想正是基于模拟生物界遗传学遗传过程。它把问题参数用基因代表,把问题解用染色体代表(在计算机里用二进制码表示),从而得到一个由含有不一样染色体个体组成群体。这个群体在问题特定环境里生存竞争,适者有最好机会生存和产生后代。后代随机化地继承了父代最好特征,并也在生存环境控制支配下继续这一过程。群体染色体全部将逐步适应环境,不停进化,最终收敛到一个最适应环境类似个体,即得到问题最优解。 三、试验内容 1、参考试验系统给出遗传算法关键代码,用遗传算法求解不一样规模(比如10个城市,20个城市,100个城市)TSP问题,把结果填入表1。 表1 遗传算法求解不一样规模TSP问题结果
39、 城市规模 最好适应度 最差适应度 平均适应度 平均运行时间 10 20 100 2、对于同一个TSP问题(比如10个城市),设置不一样种群规模(比如10,20,100)、交叉概率(0,0.5,1)和变异概率(0,0.5,1),把结果填入表2。 3、设置种群规模为100,交叉概率为0.85,变异概率为0.15,然后增加1种变异策略(比如相邻两点交换变异、逆转变异或插入变异等)和1种个体选择概率分配策略(比如按线性排序或按非线性排序分配个体选择概率)用于求解同一TSP问题(比如10个城市),把结果填入表3。 表2 不一样种群规
40、模、交叉概率和变异概率求解结果 种群规模 交叉概率 变异概率 最好适应度 最差适应度 平均适应度 平均运行时间 10 0.85 0.15 20 0.85 0.15 100 0.85 0.15 100 0 0.15 100 0.5 0.15 100 1 0.15 100 0.85 0 100 0.85 0.5 100 0.85 1 表3 不一样变异策略和个体选择概率分配策略求解结果
41、变异策略 个体选择概率分配 最好适应度 最差适应度 平均适应度 平均运行时间 两点交换 按适应度百分比分配 两点交换 按适应度百分比分配 4、提交试验汇报和源程序。 四、试验汇报要求: 1、画出遗传算法求解TSP问题步骤图。 2、分析遗传算法求解不一样规模TSP问题算法性能。 3、对于同一个TSP问题,分析种群规模、交叉概率和变异概率对算法结果影响。 4、增加1种变异策略和1种个体选择概率分配策略,比较求解同一TSP问题时不一样变异策略及不一样个体选择分配策略对
42、算法结果影响。 下面是试验汇报基础内容和书写格式。 试验名称 班级: 学号: 姓名: 一、试验目标 二、试验原理 三、试验结果 根据试验内容,给出对应结果。 四、试验总结 1. 完成试验汇报要求2, 3和4。 2. 总结试验心得体会 —————————————————————————————————— 试验七 基于神经网络模式识别试验 一、试验目标 了解BP神经网络和离散Hopfield神经网络结构和原理,掌握反向传输学习算法对神经元训练过程,了解反向传输公式。
43、经过构建BP网络和离散Hopfield网络模式识别实例,熟悉前馈网络和反馈网络原理及结构。 二、试验原理 BP学习算法是经过反向学习过程使误差最小,其算法过程从输出节点开始,反向地向第一隐含层(即最靠近输入层隐含层)传输由总误差引发权值修正。BP网络不仅含有输入节点和输出节点,而且含有一层或多层隐(层)节点。输入信号先向前传输到隐节点,经过作用后,再把隐节点输出信息传输到输出节点,最终给出输出结果。 离散Hopfield神经网络联想记忆过程分为学习和联想两个阶段。在给定样本条件下,根据Hebb学习规则调整连接权值,使得存放样本成为网络稳定状态,这就是学习阶段。联想是指在连接权值不变情况下
44、输入部分不全或受了干扰信息,最终网络输出某个稳定状态。 三、试验条件 Matlab 7.X 神经网络工具箱:在Matlab 7.X 命令窗口输入nntool,然后在键盘上输入Enter键,即可打开神经网络工具箱。 四、试验内容 1. 针对教材P243例8.1,设计一个BP网络结构模型(63-6-9),并以教材图8.5 为训练样本数据,图8.6为测试数据。 (1)从Matlab工作空间导入(Import)训练样本数据(inputdata,outputdata)和测试数据(testinputdata),然后新建一个神经网络(New Network),选择参数以下表1,给出BP
45、神经网络结构图。 表1 BP网络结构模型各项参数设置 Network Name(神经网络名称) Network Type(神经网络类型) Feed-forward backprop(前馈反向传输) Input ranges(输入信息范围) 来自训练样本输入数据(inputdata) Training function(训练函数) TRAINGD(梯度下降BP算法) Performance function(性能函数) MSE(均方误差) Number of layers(神经网络层数) 2 Layer1(第1层)Number of neurons (神经元个数)
46、 6 Layer1(第1层)Transfer Function (传输函数) TANSIG(双曲正切S型函数) Layer2(第2层)Number of neurons (神经元个数) 2 Layer2(第2层)Transfer Function (传输函数) LOGSIG(S型函数) (2)输入训练样本数据(inputdata,outputdata),随机初始化连接权(Initialize Weights),给出BP神经网络训练成功后误差改变曲线图,训练参数设置如表2所表示。 表2 BP网络训练参数 训练次数(epochs) 1000 训练时间(time) Inf
47、 训练目标(goal) 0 学习率(lr) 0.3 最大确定失败次数(max_fail) 5 最小性能梯度(min_grad) 1e-025 两次显示之间训练步数(show) 25 (3)选择不一样训练函数,比如TRAINGDM(梯度下降动量BP算法)、TRAINLMM(Levenberg-Marquardt BP训练函数),然后输入训练样本数据(inputdata,outputdata),训练参数设置如表2所表示,设置相同初始连接权(Revert Weights),观察不一样BP训练算法学习效果,给出各训练算法下误差改变曲线图。 (4)在上述3个训练好BP神经网络中,
48、选择训练误差最小一个网络,并给出训练后连接权值和偏置,然后输入测试数据(testinputdata)进行仿真(Simulate),并把训练和测试结果全部导出到工作空间,给出训练后输出结果和输出误差,和测试后输出结果和输出误差。 (5)针对Training function(训练函数)为TRAINGDBP网络,然后设置不一样学习率(lr),比如0.01、0.1、0.5、1,观察TRAINGD训练算法学习效果,给出各学习率下误差改变曲线图。 2. 已知字符点阵为 模式,两组训练数据为
49、 大写字母L 小写字母l 图1 训练数据 设计一个能够存放这两个字符离散Hopfield神经网络,要求: (1)给出对应离散Hopfield神经网络结构图; (2)计算连接权值及阈值(阈值可设为 0); (3)输入下列测试数据 图2 测试数据 给出网络最终输出稳定状态。 五、试验汇报要求: 1. 根据试验内容,给出对应结果。 2.分析比较采取梯度下降训练算法BP网络学习率改变对于训练结果
50、影响。 3. 分析比较BP网络和离散Hopfield网络在模式识别方面异同点。 下面是试验汇报基础内容和书写格式。 试验名称 班级: 学号: 姓名: 一、试验目标 二、试验原理 三、试验结果 根据试验内容,给出对应结果。 四、试验总结 1. 完成试验汇报要求2。 2. 总结试验心得体会 —————————————————————————————————— 试验八 基于神经网络优化计算试验 一、试验目






