神经网络工具箱nntool的使用方法
关于如何使用nntool神经网络工具箱进行“数据训练”的方法:
1. 在命令窗口键入nntool命令打开神经网络工具箱;
2. 点击Import按钮两次,分别把输入向量和目标输出加入到对应的窗口([Inputs]和[Targets])中,有两种可供选择的加入对象(点击Import后可以看见),一种是把当前工作区中的某个矩阵加入,另一种是通过.mat文件读入;
3. 点击[New Network]按钮,填入各参数:(以最常用的带一个隐层的3层神经网络为例说明,下面没有列出的参数表示使用默认值就可以了,例如Network Type为默认的BP神经网络);
1) Input Range――这个通过点击Get From Input下拉框选择你加入的输入向量便可自动完成。
2) Training Function——最好使用TRAINSCG,即共轭梯度法,其好处是当训练不收敛时,它会自动停止训练,而且耗时较其他算法(TRAINLM, TRAINGD)少,也就是收敛很快(如果收敛的话),而且Train Parameters输入不多,也不用太多的技巧调整,一般指定迭代次数、结果显示频率和目标误差就可以了(详见下文)。
3) Layer 1 Number of Neurons——隐层的神经元个数,这是需要经验慢慢尝试并调整的,大致上由输入向量的维数、样本的数量和输出层(Layer2)的神经元个数决定。
4) Layer 1 Transfer Function——一般用TANSIG(当然也可以LOGSIG),即表示隐层输出是[-1,1]之间的实数,与LOGSIG相比范围更大。
5) Layer 2 Number of Neurons——输出层的神经元个数,对于两类问题,个数为1,取值分别为0和1,对于多类问题,个数为10,取值为等。
6) Layer 2 Transfer Function——如果是模式识别的两类(或者多类)问题,一般用LOGSIG,即表示输出层的输出是[0,1]之间的实数。
所有参数输入后,可以先用View按钮预览一下,没有问题的话就可以Create了。另外,网络创建完毕后,如果需要手动设置权重的初始值,按View按钮后有个Initialize选项卡,在那里可以设定。当然了,可以不自行设定,这时候matlab执行默认的程序进行权重的初始化(没有具体研究过,可能是随机设定)。
4. 点击Train按钮,到达Training Info选项卡,在输入向量[Inputs]和目标输入向量[Targets]下拉框中选择你要训练的向量(即第二步加入的对象),然后到达Train Parameters选项卡,填入适当的迭代次数[epochs](一般先设置一个较小的数如200,然后观察收敛结果,如果结果窗口的收敛曲线衰减较快,则表示之前的参数比较有效,因此可填入2000或更大的数目使得网络收敛,否则修改之前的参数)、结果显示频率[show](例如要每隔500次迭代显示结果窗口,则填500)和目标误差[goal](这个与第2步中的“Performance Function”有
关,如果使用默认的MSE,则一般满足“goal*样本数量<0.5”就可以了),就可以开始训练了(按钮[Train Network]),如果结果收敛(训练误差不大于目标误差,即蓝色线到达黑色线位置)就OK了。
神经网络工具箱nntool的使用方法的更多相关文章
- matlab神经网络工具箱创建神经网络
为了看懂师兄的文章中使用的方法,研究了一下神经网络 昨天花了一天的时间查怎么写程序,但是费了半天劲,不能运行,百度知道里倒是有一个,可以运行的,先贴着做标本 % 生成训练样本集 clear all; ...
- paper 75:使用MATLAB的神经网络工具箱创建神经网络
% 生成训练样本集 clear all; clc; P=[110 0.807 240 0.2 15 1 18 2 1.5; 110 2.865 240 0.1 15 2 12 1 2; 110 2.5 ...
- MATLAB的神经网络工具箱介绍
一.使用matlab2010b以后的版本会有完整的神经网络工具箱,使用nnstart可以调出toolbox,然后选择需要的功能,导入数据,选择训练参数和每层神经元个数,最后训练会输出网络与结果. 二. ...
- MathWorks官方消息:神经网络工具箱不能编译
各位会员大家好,大家关心的问题,我已经大部分得到答案. 10月25号-27号我访问了MathWorks公司在波士顿的总部,大家经常关心的问题,我大部分都得到了答案. 关于神经网络工具箱,我与Matla ...
- Matlab神经网络工具箱学习之一
1.神经网络设计的流程 2.神经网络设计四个层次 3.神经网络模型 4.神经网络结构 5.创建神经网络对象 6.配置神经网络的输入输出 7.理解神经网络工具箱的数据结构 8.神经网络训练 1.神经网络 ...
- Matlab的BP神经网络工具箱及其在函数逼近中的应用
1.神经网络工具箱概述 Matlab神经网络工具箱几乎包含了现有神经网络的最新成果,神经网络工具箱模型包括感知器.线性网络.BP网络.径向基函数网络.竞争型神经网络.自组织网络和学习向量量化网络.反馈 ...
- 12.Matlab神经网络工具箱
概述: 1 人工神经网络介绍 2 人工神经元 3 MATLAB神经网络工具箱 4 感知器神经网络 5 感知器神经网络 5.1 设计实例分析 clear all; close all; P=[ ; ]; ...
- 积神经网络(CNN)的参数优化方法
http://www.cnblogs.com/bonelee/p/8528863.html 积神经网络的参数优化方法——调整网络结构是关键!!!你只需不停增加层,直到测试误差不再减少. 积神经网络(C ...
- BP神经网络设计常用的基本方法和实用技术
尽管神经网络的研究和应用已经取得巨大成功,但在网络的开发设计方面至今仍没有一套完善的理论做指导,应用中采取的主要设计方法是,在充分了解待解决问题的基础上将经验与试探相结合,通过多次改进性试验,最终选出 ...
随机推荐
- PHP文件上传预览
主页 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.o ...
- Chrome 插件自定义博客编辑界面
总觉得博客园的编辑器太白了,特别是在晚上,太明亮了刺眼.在后台设置里面找不到任何可以修改UI的地方,考虑用浏览器插件自己改一下.要是做得好,可以给大家一起用. 新建目录 E:/cnblog.js,添加 ...
- Elastarchsearch安装搭建(一)
Elasticsearch是一个实时分布式搜索和分析引擎.一个基于Apache Lucene(TM)的开源搜索引擎.无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进.性能最好的.功能最全 ...
- C# 语言规范_版本5.0 (第9章 命名空间)
1. 命名空间 C# 程序是利用命名空间组织起来的.命名空间既用作程序的“内部”组织系统,也用作“外部”组织系统(一种向其他程序公开自己拥有的程序元素的方法). using 指令(第 9.4 节)用来 ...
- 正确的IP地址正则表达式
((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)
- @classmethod及@staticmethod方法浅析【python】
目前对于python中@classmethod 类方法和@staticmethod静态方法的有了一定的认识,之后有进一步的认识后继续记录. @classmethod :是和一个class类相关的方法, ...
- QDataStream对QVector的序列化
最近发现QDataStream这个好东东,序列化发送数据很方便,与大家分享一下. 客户端: line.h #ifndef LINE_H #define LINE_H #include <QStr ...
- HDU 5862 Counting Intersections(离散化+树状数组)
HDU 5862 Counting Intersections(离散化+树状数组) 题目链接http://acm.split.hdu.edu.cn/showproblem.php?pid=5862 D ...
- 怎么给当前点击的a标签添加一个样式(跳转页面后)
怎么给当前点击的a标签添加一个样式(跳转页面后): 方法1. 用cookie记录这个打开的序列号,然后页面在跳转的时候在读出来.方法2. 循环a的链接,然后与location.href去比对,如果相同 ...
- 移动端rem适配问题
将下面这段代码,放在头部的script标签里,可解决字体适配问题 比例是28px = 1rem function __setFontSize__(){document.documentElement. ...