为了看懂师兄的文章中使用的方法,研究了一下神经网络

昨天花了一天的时间查怎么写程序,但是费了半天劲,不能运行,百度知道里倒是有一个,可以运行的,先贴着做标本

% 生成训练样本集
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.59 240 0.1 12 4 24 1 1.5;
220 0.6 240 0.3 12 3 18 2 1;
220 3 240 0.3 25 3 21 1 1.5;
110 1.562 240 0.3 15 3 18 1 1.5;
110 0.547 240 0.3 15 1 9 2 1.5];
0 1.318 300 0.1 15 2 18 1 2];

T=[54248 162787 168380 314797;
28614 63958 69637 82898;
86002 402710 644415 328084;
230802 445102 362823 335913;
60257 127892 76753 73541;
34615 93532 80762 110049;
56783 172907 164548 144040];
@907 117437 120368 130179];
m=max(max(P));
n=max(max(T));
P=P'/m;
T=T'/n;
%-------------------------------------------------------------------------%
pr(1:9,1)=0; %输入矢量的取值范围矩阵
pr(1:9,2)=1;
bpnet=newff(pr,[12 4],{'logsig', 'logsig'}, 'traingdx', 'learngdm');
%建立BP神经网络, 12个隐层神经元,4个输出神经元
%tranferFcn属性 'logsig' 隐层采用Sigmoid传输函数
%tranferFcn属性 'logsig' 输出层采用Sigmoid传输函数
%trainFcn属性 'traingdx' 自适应调整学习速率附加动量因子梯度下降反向传播算法训练函数
%learn属性 'learngdm' 附加动量因子的梯度下降学习函数 
net.trainParam.epochs=1000;%允许最大训练步数2000步
net.trainParam.goal=0.001; %训练目标最小误差0.001
net.trainParam.show=10; %每间隔100步显示一次训练结果
net.trainParam.lr=0.05; %学习速率0.05
bpnet=train(bpnet,P,T);
%-------------------------------------------------------------------------
p=[110 1.318 300 0.1 15 2 18 1 2];
p=p'/m;

r=sim(bpnet,p);
R=r'*n;
display(R);



运行的结果是出现这样的界面





点击performance,training state,以及regression分别出现下面的界面













再搜索,发现可以通过神经网络工具箱来创建神经网络,比较友好的GUI界面,在输入命令里面输入nntool,就可以开始了。



点击import之后就出现下面的具体的设置神经网络参数的对话界面,

这是输入输出数据的对话窗



首先是训练数据的输入



然后点击new,创建一个新的神经网络network1,并设置其输入输出数据,包括名称,神经网络的类型以及隐含层的层数和节点数,还有隐含层及输出层的训练函数等



点击view,可以看到这是神经网络的可视化直观表达





创建好了一个network之后,点击open,可以看到一个神经网络训练,优化等的对话框,选择了输入输出数据后,点击train,神经网络开始训练,如右下方的图,可以显示动态结果







下面三个图形则是点击performance,training state以及regression而出现的



下面就是simulate,输入的数据是用来检验这个网络的数据,output改一个名字,这样就把输出数据和误差都存放起来了







在主界面上点击export就能将得到的out结果输入到matlab中并查看





下图就是输出的两个outputs结果





 还在继续挖掘,to be continue……
神经网络工具箱 

  版本7.0(R2010b) 

  

  图形用户界面功能。 

    nnstart
- 神经网络启动GUI 

    nctool
- 神经网络分类工具 

    nftool
- 神经网络的拟合工具 

    nntraintool
- 神经网络的训练工具 

    nprtool
- 神经网络模式识别工具 

    ntstool
- NFTool神经网络时间序列的工具 

    nntool
- 神经网络工具箱的图形用户界面。 

    查看
- 查看一个神经网络。 

  

  网络的建立功能。 

    cascadeforwardnet
- 串级,前馈神经网络。 

    competlayer
- 竞争神经层。 

    distdelaynet
- 分布时滞的神经网络。 

    elmannet
- Elman神经网络。 

    feedforwardnet
- 前馈神经网络。 

    fitnet
- 函数拟合神经网络。 

    layrecnet
- 分层递归神经网络。 

    linearlayer
- 线性神经层。 

    lvqnet
- 学习矢量量化(LVQ)神经网络。 

    narnet
- 非线性自结合的时间序列网络。 

    narxnet
- 非线性自结合的时间序列与外部输入网络。 

    newgrnn
- 设计一个广义回归神经网络。 

    newhop
- 建立经常性的Hopfield网络。 

    newlind
- 设计一个线性层。 

    newpnn
- 设计概率神经网络。 

    newrb
- 径向基网络设计。 

    newrbe
- 设计一个确切的径向基网络。 

    patternnet
- 神经网络模式识别。 

    感知
- 感知。 

    selforgmap
- 自组织特征映射。 

    timedelaynet
- 时滞神经网络。 

  

  利用网络。 

    网络
- 创建一个自定义神经网络。 

    SIM卡
- 模拟一个神经网络。 

    初始化
- 初始化一个神经网络。 

    适应
- 允许一个神经网络来适应。 

    火车
- 火车的神经网络。 

    DISP键
- 显示一个神经网络的属性。 

    显示
- 显示的名称和神经网络属性 

    adddelay
- 添加延迟神经网络的反应。 

    closeloop
- 神经网络的开放反馈转换到关闭反馈回路。 

    formwb
- 表格偏见和成单个向量的权重。 

    getwb
- 将它作为一个单一向量中的所有网络权值和偏差。 

    noloop
- 删除神经网络的开放和关闭反馈回路。 

    开环
- 转换神经网络反馈,打开封闭的反馈循环。 

    removedelay
- 删除延迟神经网络的反应。 

    separatewb
- 独立的偏见和重量/偏置向量的权重。 

    setwb
- 将所有与单个矢量网络权值和偏差。 

  

  Simulink的支持。 

    gensim
- 生成Simulink模块来模拟神经网络。 

    setsiminit
- 集神经网络的Simulink模块的初始条件 

    getsiminit
- 获取神经网络Simulink模块的初始条件 

    神经元
- 神经网络Simulink的模块库。 

  

  培训职能。 

    trainb
- 批具有重量与偏见学习规则的培训。 

    trainbfg
- 的BFGS拟牛顿倒传递。 

    trainbr
- 贝叶斯规则的BP算法。 

    trainbu
- 与重量与偏见一批无监督学习规则的培训。 

    trainbuwb
- 与体重无监督学习规则与偏见一批培训。 

    trainc
- 循环顺序重量/偏见的培训。 

    traincgb
- 共轭鲍威尔比尔重新启动梯度反向传播。 

    traincgf
- 共轭弗莱彻-里夫斯更新梯度反向传播。 

    traincgp
- 共轭波拉克- Ribiere更新梯度反向传播。 

    traingd
- 梯度下降反向传播。 

    traingda
- 具有自适应LR的反向传播梯度下降。 

    traingdm
- 与动量梯度下降。 

    traingdx
- 梯度下降瓦特/惯性与自适应LR的反向传播。 

    trainlm
- 采用Levenberg -马奎德倒传递。 

    trainoss
- 一步割线倒传递。 

    trainr
- 随机重量/偏见的培训。 

    trainrp
- RPROP反向传播。 

    trainru
- 无监督随机重量/偏见的培训。 

    火车
- 顺序重量/偏见的培训。 

    trainscg
- 规模化共轭梯度BP算法。 

  

  绘图功能。 

    plotconfusion
- 图分类混淆矩阵。 

    ploterrcorr
- 误差自相关时间序列图。 

    ploterrhist
- 绘制误差直方图。 

    plotfit
- 绘图功能适合。 

    plotinerrcorr
- 图输入错误的时间序列的互相关。 

    plotperform
- 小区网络性能。 

    plotregression
- 线性回归情节。 

    plotresponse
- 动态网络图的时间序列响应。 

    plotroc
- 绘制受试者工作特征。 

    plotsomhits
- 小区自组织图来样打。 

    plotsomnc
- 小区自组织映射邻居的连接。 

    plotsomnd
- 小区自组织映射邻居的距离。 

    plotsomplanes
- 小区自组织映射重量的飞机。 

    plotsompos
- 小区自组织映射重量立场。 

    plotsomtop
- 小区自组织映射的拓扑结构。 

    plottrainstate
- 情节训练状态值。 

    plotwb
- 图寒春重量和偏差值图。 

  

  列出其他神经网络实现的功能。 

    nnadapt
- 适应职能。 

    nnderivati​​ve
- 衍生功能。 

    nndistance
- 距离函数。 

    nndivision
- 除功能。 

    nninitlayer
- 初始化层功能。 

    nninitnetwork
- 初始化网络功能。 

    nninitweight
- 初始化权函数。 

    nnlearn
- 学习功能。 

    nnnetinput
- 净输入功能。 

    nnperformance
- 性能的功能。 

    nnprocess
- 处理功能。 

    nnsearch
- 线搜索功能。 

    nntopology
- 拓扑结构的功能。 

    nntransfer
- 传递函数。 

    nnweight
- 重量的功能。 

  

  示例,数据集和其他资源 

    nndemos
- 神经网络工具箱的示威。 

    nndatasets
- 神经网络工具箱的数据集。 

    nntextdemos
- 神经网络设计教科书的示威。 

    nntextbook
- 神经网络设计教科书的资讯。 

最新文章

  1. Centos下安装jdk
  2. hihocoder #1052 基因工程
  3. Mysql通信协议
  4. C++继承与派生(原理归纳)
  5. 不能设置sublime text 2 为默认编辑器
  6. C# 实现将PDF转文本的功能
  7. MPMediaPickerController 选取本地音频--备用
  8. vs 2013打开vs 2008解决方案问题解决
  9. CoreData多表操作.
  10. Oracle EBS-SQL (WIP-1):检查非标任务没挂需求.sql
  11. 3.5 用NPOI操作EXCEL--巧妙使用Excel Chart
  12. 获取OrangePI板子CPU温度
  13. eclipse工具的使用心得
  14. BZOJ_2427_[HAOI2010]软件安装_tarjan+树形DP
  15. var,dynamic的用法
  16. 【转】dos下 和 批处理中的 for 语句的基本用法
  17. 测试HANA的真实案例
  18. 20155318 《网络攻防》Exp2 后门原理与实践
  19. MySQL性能优化(九)-- 主从复制
  20. SQL0973N在 "<堆名>" 堆中没有足够的存储器可用来处理语句

热门文章

  1. python Tkinter图形用户编程简单学习(一)
  2. lambda表达式----使用
  3. plsql连接不上oracle
  4. oracle-12514 or 12520 监听程序无法为请求的服务器类型找到可用的处理程序
  5. DMD数字微镜
  6. 剑指offer--28.栈的压入、弹出序列
  7. Shell 参数(1)
  8. Linux 下新增用户的流程
  9. squid对http range的处理以及range_offset_limit
  10. Supervisor进程监控