【课件】10.第11章用GUI设计神经网络

上传人:NU****AN 文档编号:126635209 上传时间:2020-03-26 格式:PPT 页数:37 大小:1.37MB
返回 下载 相关 举报
【课件】10.第11章用GUI设计神经网络_第1页
第1页 / 共37页
【课件】10.第11章用GUI设计神经网络_第2页
第2页 / 共37页
【课件】10.第11章用GUI设计神经网络_第3页
第3页 / 共37页
【课件】10.第11章用GUI设计神经网络_第4页
第4页 / 共37页
【课件】10.第11章用GUI设计神经网络_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《【课件】10.第11章用GUI设计神经网络》由会员分享,可在线阅读,更多相关《【课件】10.第11章用GUI设计神经网络(37页珍藏版)》请在金锄头文库上搜索。

1、第11章用GUI设计神经网络 编者 Outline 1 神经网络工具 nntool 2 神经网络分类 聚类工具 nctool 3 神经网络拟合工具 nftool 4 神经网络模式识别工具 nprtool 5 神经网络时间序列工具 ntstool 1 神经网络工具 nntool 在神经网络的用户群中 存在大量不熟悉MATLAB程序设计 不熟悉工具箱函数调用规则的用户 对于他们来说 很难迅速地达到一个MATLAB程序开发者的水平 因此仅仅利用神经网络工具箱的函数接口 很难让大部分用户都能方便快捷地在学习 工作中有效利用神经网络 MATLAB提供了图像化接口 神经网络工具 nntool 神经网络分类

2、 聚类工具 nctool 神经网络拟合工具 nftool 神经网络训练工具 nntraintool 神经网络模式识别工具 nprtool 神经网络时间序列工具 ntstool 1 神经网络工具 nntool 神经网络工具 nntool 功能更为全面和灵活 可以自行选择神经网络的种类并加以训练 在MATLAB命令窗口输入nntool 1 神经网络工具 nntool NeuralNetwork DataManager窗口包含7个显示区域和7个按钮 输入数据区 InputData 存放输入变量 包括训练输入和测试输入 目标数据区 TargetData 存放目标变量 网络区 Networks 存放用户

3、定义的网络 用户可以创建多个网络 创建时需要指定一个网络名称 以区分不同的网络 输出数据区 OutputData 存放输出数据 误差数据区 ErrorData 存放误差数据 误差数据 目标数据实际输出数据 层延迟状态区 LayerDelayStates 存放表示网络层延迟的变量输入延迟状态区 InputDelayStates 存放表示输入延迟的变量 1 神经网络工具 nntool Import 按钮 用于从工作空间或数据文件中导入数据变量 New 按钮 新建神经网络或变量 Open 按钮 查看变量Export 按钮 将对话框中的数据导出到工作空间或数据文件 Delete按钮 删除变量Help按

4、钮 帮助Close按钮 关闭 1 神经网络工具 nntool 假设有6个坐标点 分属不同的两个类别 训练一个神经网络模型 使得出现新的坐标点时 网络可以判断新坐标点的类别 1 神经网络工具 nntool 1 输入nntool 打开NeuralNetwork DataManager窗口2 创建输入数据和目标数据 在主窗口中单击New 按钮 选择Data选项卡 输入变量名为P 选择变量类型为Inputs 并输入变量值 单击Create按钮完成创建 1 神经网络工具 nntool 3 创建网络 在主窗口中单击New 按钮 选择Network选项卡 输入网络名称和网络类型 4 网络的训练 这里不需要训

5、练 1 神经网络工具 nntool 5 网络的仿真测试 在主窗口中选中创建的网络 单击Open 按钮 在弹出的Network对话框中选择Simulate选项卡 然后在Inputs下列框中选择输入样本变量P 1 神经网络工具 nntool 6 观察仿真结果 可以在主窗口选中变量名 单击Open 按钮查看变量值 也可以将变量导出到工作空间观察 导出到工作空间 在MATLAB中查看变量值 x 8 5 0 5 11 5 3 5 1 5 4 5 15 8 4 5 11 9 plot x 1 x 2 2 神经网络分类 聚类工具 nctool 解决只有输入样本 没有期望输出 目标向量 的聚类问题 系统进行分

6、类的依据是输入样本数据之间的相似性 用自组织映射 Self OrganizingMap SOM 网络的形式求解 例如 搜集相关数据 分析大众消费行为的相似性 将消费者划分为不同的人群 以实现细分市场的划分 nctool内部采用selforgmap函数实现聚类 使用SOM批训练算法 涉及的函数用trainbu learnsomb 2 神经网络分类 聚类工具 nctool 打开 nctool nnstart 2 神经网络分类 聚类工具 nctool 使用聚类工具箱解决一个简单的聚类问题 定义单位圆上的6个坐标点 进行聚类 数据定义 a cos 15 pi 180 sin 15 pi 180 cos

7、 75 pi 180 sin 75 pi 180 cos 105 pi 180 sin 105 pi 180 cos 15 pi 180 sin 15 pi 180 cos 195 pi 180 sin 195 pi 180 cos 165 pi 180 sin 165 pi 180 a a t 0 2 2 pi 2 plot cos t sin t axis 1 2 1 2 1 2 1 2 axisequal holdon plot a 1 a 2 o 2 神经网络分类 聚类工具 nctool a 0 96590 2588 0 25880 9659 0 9659 0 9659 0 25880

8、 96590 9659 0 2588 0 25880 2588 在SelectData步骤选择a NetworkArchitecture步骤 输入的6个数据点分属三个类别 因此这里填写2 网络会生成平面网格 2 神经网络分类 聚类工具 nctool TrainNetwork步骤 单击Train按钮 网络权值大小 PlotSOMNeighborDistances 样本分类结果 PlotSOMSampleHits 2 神经网络分类 聚类工具 nctool 5 仿真测试 单击Next按钮 进入EvaluateNetwork步骤 先在MATLAB命令窗口定义好测试数据 t 0 2 2 pi 2 b c

9、os t sin t plot b 1 b 2 o 单击下方的TestNetwork按钮 2 神经网络分类 聚类工具 nctool 6 保存网络和数据 单击SimpleScript和AdvancedScript按钮可以将网络保存为命令脚本的形式 如果要将网络 输入数据和输入数据导出到工作空间 只需在SaveDatatoWorkspace框内勾选相应选项 再单击SaveResults按钮即可 执行som test m 3 神经网络拟合工具 nftool 工具箱采用前向神经网络来完成数据拟合 包括两层神经元 隐藏层使用sigmoid传输函数 输出层则是线性的 给定足够的训练数据和足够的隐藏层神经元

10、 网络能良好地拟合多维数据 训练时网络采用Levenberg Marquardt算法 即trainlm函数 当内存不足时使用trainscg函数在MATLAB中生成一段加入了均匀噪声的正弦函数数据 然后用nftool进行拟合 数据如下 x 0 2 2 pi 2 rng 2 y sin x rand 1 length x 0 5 plot x y o 启动nftoolnnstart 3 神经网络拟合工具 nftool SelectData步骤 不但要指定输入数据 还要指定目标数据ValidationandTestData步骤系统将把数据分为三部分 训练数据 验证数据和测试数据 训练样本 用于网络

11、训练 网络根据训练样本的误差调整网络权值和阈值验证样本 用于验证网络的推广性能 当推广性能停止提高时 表示网络已达到最优状态 此时网络就停止训练 测试样本 测试样本用于测试网络的性能 网络不再根据测试样本的结果做任何调整 3 神经网络拟合工具 nftool 默认随机地将70 的数据划分为训练样本 15 的数据划分为验证样本 剩下15 的数据为测试样本 NetworkArchitecture步骤 需要在NumberofHiddenNeurons编辑框中输入隐含层神经元的个数 默认值为10 3 神经网络拟合工具 nftool TrainNetwork步骤 单击Train按钮进行训练 第一个按钮显示

12、适应度 PlotFit 第二个按钮显示误差直方图 PlotErrorHistgram 第三个按钮显示回归图 PlotRegression EvaluateNetwork步骤 在右方的Inputs下拉框和Targets下拉框中 可以指定测试数据及其期望输出 这里使用正弦函数值作为测试 xx 0 1 2 pi 2 yy sin xx 3 神经网络拟合工具 nftool SaveResults步骤 fit test m脚本 3 神经网络拟合工具 nftool 模式识别又称模式分类输入的数据将被划分为事先规定好的某一个类别 类别的数量是确定的 每个输入样本最终都会被归为预定好的某一个类别中 神经网络模

13、式识别工具可以用来收集数据 创建和训练神经网络 并用均方误差 MSE 和混淆矩阵来评价网络 系统使用一个两层 不包括输入层和输出层 的前向网络 隐含层和输出层都使用sigmoid函数 训练时采用量化连接梯度训练函数 就trainscg函数 4 神经网络模式识别工具 nprtool 启动nprtoolnnstart 4 神经网络模式识别工具 nprtool x 0 1 4 2 0 25 2 8 3 1 1 0 9 1 2 1 2 1 3 4 1 2 5 1 5 3 3 2 2 5 2 7 3 1 3 2 4 1 2 3 9 1 4 3 4 3 5 y 1 1 1 1 1 2 1 2 1 2 2

14、2 2 1 plot x 1 y 2 x 2 y 2 r holdon plot x 1 y 1 x 2 y 1 bo 4 神经网络模式识别工具 nprtool SelectData步骤 这里的目标样本需要表示为向量的形式 如果某样本属于N个类别中的第x类 则其对应的目标数据应写为 0 0 1 0 0 其中1是向量的第个x元素y0 ind2vec y y0 在Inputs下列框中选择变量x 在Targets下拉框中选择y0 4 神经网络模式识别工具 nprtool ValidationandTestData步骤 与神经网络拟合工具类似 这里需要对数据集划分训练样本 验证样本和测试样本 采取默认

15、设置即可 NetworkArchitecture步骤 在NumberofHiddenNeurons编辑框中输入20 表示创建20个隐含层节点 单击Train按钮 系统就开始训练 默认迭代次数为1000次 训练完成后将在对话框中显示训练样本 验证样本和测试样本的均方误差与错分率 错分率是指将样本中的数据错误地划分为另一类的比例 TrainNetwork步骤 4 神经网络模式识别工具 nprtool EvaluateNetwork步骤 测试数据 xx 4 4 4 N length xx fori 1 Nforj 1 Nxt 1 i 1 N j xx i xt 2 i 1 N j xx j ende

16、ndyt ones 1 529 yt 1 2 yt ind2vec yt 在Inputs下拉框中选择xt Targets下拉框中选择yt 然后单击TestNetwork按钮 即可进行仿真测试 4 神经网络模式识别工具 nprtool SaveResults步骤 运行pr test m 4 神经网络模式识别工具 nprtool 5 神经网络时间序列工具 ntstool 时间序列中数据的取值依赖时间的变化 邻近时刻的数值分布存在一定的规律性 从而在整体上呈现某种趋势或周期性变化的规律 因此可以由已知数据预测未知数据 但每个数据点的取值又伴有随机性 无法完全由历史数据推演得到 时间序列分析可以借助许多数学工具 如滑动平局模型 二次滑动平均模型等 MATLAB神经网络工具箱为用户提供了时间序列工具ntstool 它可以解决三类时间序列问题 有外部输入的非线性自回归 无外部输入的非线性自回归 时间延迟问题 1 有外部输入的非线性自回归问题 2 无外部输入的非线性自回归问题 3 时间延迟问题 时间延迟问题中 输出信号由输入信号及其历史值决定 这种情况在工程实践中遇到的情况非常少 一般只有在一个有外

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号