在MATLAB命令視窗中鍵入nntool再按enter,會自動彈出下面的Network/Data Manager視窗畫面

Inputs:輸入值

Targets:目標輸出值

Input Delay States:輸入值欲延遲時間

Networks:已建構的網路

Outputs:輸出值

Errors:誤差值

Layer Delay States:輸出值欲延遲時間

Networks and Data

[Help]:有關於此工具箱各個按鈕的説明

[New Data...]:建立新網路所須輸出入值、目標值、誤差、延遲

[New Network...]:建立新網路的類型、訓練函數、學習函數、隱藏層層數等

[Import...]:匯入資料與網路

[Export...]:匯出資料與網路

[View]:開啟所選取的資料或網路

[Delete]:移除所選取的資料或網路

Networks only

[Initialize...]:初始所選取的網路

[Simulate...]:模擬所選取的網路

[Train...]:訓練所選取的網路

[Adapt...]:適應訓練所選取的網路

下面以倒傳遞網路作為例子說明nntool使用方式,共分成九個步驟

===========================================================================================================================

例:網路目標是要根據21種光譜波長的測量值來預測三種不同血漿膽固醇(ldl、hdl和vldl)的高度。此網路的架構為21-15-3,它在隱藏層中具有tansig神經元,輸出層具有線性神經元。

===========================================================================================================================

將原始數據載入MATLAB

在MATLAB命令視窗鍵入load choles_all來將實驗數據載入,接著再鍵入who可以查看目前MATLAB工作空間中所有的變數名稱,如圖1所示。點選workspace中可看到變數p是一個21x264的矩陣,表示有21個輸入,264組數據;變數t是一個3x264的矩陣,表示有3個輸出,264組數據,使用滑鼠右鍵Open Selection可察看變數的所有資料,如圖2、圖3所示。

圖1?step1操作畫面

圖2?變數p所有數據

圖3?變數t所有數據

===========================================================================================================================

將Workspace中的變數匯入nntool

點選Network/Data Manager視窗中的Import按鈕,可以開啟如圖4的視窗,在此視窗中點選變數p,將其設定為網路的Inputs,接著點選Import按鈕;再點選變數t,將其設定為網路的Targets,接著點選Import按鈕。完成上述步驟後,在Network/Data Manager視窗中可看到p位於Inputs欄框內,t位於Targets欄框內,如圖5所示。

圖4?點選Import按鈕所出現的視窗,目前動作是選取p當做網路的輸入

圖5?將p與t匯入nntool的成功畫面

===========================================================================================================================

建立網路

點選Network/Data Manager視窗中的New Network按鈕,可以進入建立網路的視窗,如圖6、圖7所示。設定完成後點選Create按鈕建立網路,在Network/Data Manager視窗中的Networks欄框內會出現test的網路名稱(設定網路時可自訂名稱),如圖8所示。此時,可點選Network/Data Manager視窗中的View按鈕可觀看網路的架構圖,如圖9所示。

Network Name:輸入網路名稱,如test。

Network Type:網路類型,如Feed-forward backprop(前饋倒傳遞)。

Input ranges:輸入的範圍,如Get from input p,由下拉式選單選取。

Training function:訓練函數,如TRAINLM(LM演算法)。

Adaption learning function:適應性學習函數,如LEARNGDM(具動量的梯度下降法)

Performance function:性能函數,如MSE(均方誤差)。

Number of layers:隱藏層的層數,如 2。

Properties for:由下拉式選單選取欲進行設定的隱藏層,如Layer 1。

Number of neurons:隱藏層1中神經元的數目,如 15。

Transfer function:隱藏層1所使用的轉移函數類型,如TANSIG。

圖6?建立網路的視窗,目前動作為設定隱藏層1的性質

圖7?設定隱藏層2的性質

圖8?網路建立完成後會在Networks欄框中出現建立的網路名稱

圖9?點選View按鈕後所呈現的網路架構圖

===========================================================================================================================

網路初始化

點選Network/Data Manager視窗中的Initialize按鈕,即可進入網路初始化的視窗,如圖10所示。在圖10中的Input ranges欄框中,可以看到每個輸入值的範圍(即輸入數據的最小值與最大值),在此可變更輸入範圍。另外在Weights分頁,如圖11所示,可看到網路的所有權重值及偏權值,這邊也可變更。目前,圖11的權重值及偏權值,都是網路建立後自動產生的初始值,它是利用網路建立的其中一個指令newff所內定的一個初始函數initnw所計算出來的。

圖10?網路初始化的畫面

圖11?網路權重值設定的畫面

===========================================================================================================================

訓練網路

點選Network/Data Manager視窗中的Train按鈕,會出現如圖12的畫面。在訓練網路之前,首先要進行訓練參數的設定,設定畫面如圖13所示,接著,在Training info分頁中設定訓練的輸入為p,訓練的目標輸出為t。設定完畢後點選Train Network按鈕,開始訓練網路,此時,會自動跳出訓練過程的畫面,如圖14所示。待訓練完畢後,同樣可在如圖11的weights分頁中查看訓練後的權重值。

圖12?網路訓練的設定畫面

epochs:訓練的最大循環次數

goal:性能目標

max_fail:最大驗證數據失敗的次數

mem_reduc:降低記憶體需求的係數

min_grad:最小性能梯度

mu:動量的初始值

mu_dec:動量減少係數

mu_inc:動量增加係數

mu_max:動量最大值

show:每格多少訓練循環次數會顯示訓練過程

time:最大的訓練所須時間,單位為秒

圖13?訓練參數的設定畫面

圖14?訓練過程的畫面

===========================================================================================================================

模擬網路

模擬之前首先設定模擬的輸入值和模擬輸出的變數名稱,如圖15所示,設定完畢後點選Simulate Network按鈕執行模擬,完成模擬後在Network/Data Manager視窗的Outputs欄框及Errors欄框會出現輸出值的變數名稱。

圖15?網路模擬的畫面

===========================================================================================================================

輸出模擬結果

點選Network/Data Manager視窗中的Export按鈕可輸出目前網路的資訊,可以選取任何一個或全部的變數來輸出。在此,先點選test_outputs後,再點選Export按鈕,在MATLAB的Workspace會出現test_outputs變數,點選test_outputs變數再點擊滑鼠右鍵Open Selection可察看變數的所有資料,如圖16、圖17所示。網路輸出值與目標輸出值一同輸出的結果如圖18、圖19、圖20所示,相減之後所得誤差如圖21、圖22、圖23、圖24所示。

圖16?將網路變數輸出的執行畫面

圖17?模擬後輸出值的內容

圖18?網路輸出值(第一組資料)與目標輸出值(第一組資料)一同輸出的結果

圖19?網路輸出值(第二組資料)與目標輸出值(第二組資料)一同輸出的結果

圖20?網路輸出值(第三組資料)與目標輸出值(第三組資料)一同輸出的結果

圖21?第一組資料的誤差

圖22?第二組資料的誤差

圖23?第三組資料的誤差

圖24?網路輸出值與目標輸出值的誤差

===========================================================================================================================

儲存模擬結果

在圖16的畫面中,選取網路的所有變數,再點選Save按鈕,會開啟如下圖25所示的視窗,將結果及整個網路架構儲存成MAT檔,在此,我們將結果儲存在test_nntool.mat中,如圖26所示。

圖25?儲存網路結果的執行畫面

圖26?儲存成功的檔案,在此,檔案位於C:\MATLAB7\work資料夾中

===========================================================================================================================

載入先前模擬過的網路於nntool

我們可以將步驟8所儲存的網路於下次重新啟動MATLAB時載入使用,首先在MATLAB命令視窗中鍵入nntool再按enter,點選Network/Data Manager視窗中的Import按鈕,勾選Load from disk file,再點選Browse按鈕尋找欲載入的檔案,找到檔案後在Select a Variable欄框會出現網路的名稱及網路的所有變數,如圖27所示,再來點選網路名稱test,勾選Network,最後點選Load按鈕完成網路的載入。

[ps:在儲存網路時,所有的變數都轉換成單元陣列的形式儲存,所以無法直接載入nntool,必須先將這些變數以指令cell2mat轉換成矩陣的形式才能載入到nntool中,轉換完畢後載入動作如上述動作]

圖27?載入網路的執行畫面

===========================================================================================================================

Neural Network Design

在MATLAB命令視窗鍵入nndtoc再按enter,會出現如下圖28所示的畫面,此程式介紹了許多類神經網路的運作流程。

圖29?Neural network design畫面,總共包含18種與類神經網路相關的知識,可透過圖形的呈現讓學習者了解類神經網路的運作流程

===========================================================================================================================

Neural Network Toolbox 指令索引

圖形介面函數

nntool

類神經網路工具-圖形使用者介面

建立網路函數

network

建立一個自訂的類神經網路

newc

建立一個競爭層

newcf

建立一個串級前饋倒傳遞網路

newelm

建立一個Elman倒傳遞網路

newff

建立一個前饋倒傳遞網路

newfftd

建立一個前饋輸入延遲網路

newgrnn

設計一個廣義回歸類神經網路

newhop

建立一個霍普菲爾網路

newlin

建立一個線性層

newlind

設計一個線性層

newlvq

建立一個學習向量量化網路

newp

建立一個感知器

newpnn

設計一個機率類神經網路

newrb

設計一個徑向基網路

newrbe

設計一個準確的徑向基網路

newsom

建立一個自組織映射圖網路

matlab中nntool,Matlab nntool 应用实例(很不错啊)相关推荐

  1. matlab中struct2,Matlab中struct的用法

    struct在matlab中是用来建立结构体数组的.通常有两种用法: s = struct('field1',{},'field2',{},...) 这是建立一个空的结构体,field1,field2 ...

  2. matlab中的graythresh函数的实例

    一个图足以说明所有问题,代码实例加输出结果,说明一个问题,graythresh()函数还是很不错的! 如果还想跟精确,就在该阈值的周围在试几组数组,找到自己觉得最优的阈值

  3. matlab中fdyn,Matlab的用法总结

    1. 对序列进行洗牌 randperm() randperm()产生随机的序列 %if filepaths 是一个5*1的结构体,then cshuffle = randperm(length(fil ...

  4. matlab中投影,MATLAB在极射赤平投影中的应用

    文章编号: 100926825 (2010) 360357202 MATLAB在极射赤平投影中的应用 收稿日期: 20100822 作者简介:潘冀川 (1988) ,男 ,石家庄经济学院本科生 ,河北 ...

  5. tyvector在matlab中代表,MATLAB曲线绘制

    信号源产生的方法 来源:http://www.2cto.com/kf/201401/270494.html  matlab的checkerboard说明,GOOD! 来源:http://www.chi ...

  6. matlab中s_cplot,matlab系统模型建立和动态特性研究分析实验.docx

    实验二MATLAB系统模型建立和动态特性分析实验 一.实验目地 1掌握如何使用 MALAB进行系统模型地建立: 2 ?学习利用MALAB命令得阶跃响应曲线,分析系统动态特性; 3.利用MALAB求阶跃 ...

  7. matlab中sps,matlab仿真论文:基于matlabsps的电力系统仿真与故障分析.pdf

    matlab仿真论文:基于matlabsps的电力系统仿真与故障分析.pdf 电力经济研究电力经济研究263中国电力教育2010年第30期总第181期基于MATLAB/SPS的电力系统仿真与故障分析陆 ...

  8. matlab 中stairs,matlab中stairs的用法 ?

    MATLAB函数stairs简介 函数简介 在matlab中stairs函数用于绘制阶梯状图,在图像处理中的直方图均衡化技术中有很大的意义.在matlab的命令窗口中输入doc stairs或者hel ...

  9. matlab中eig,Matlab中的eig函数和eigs函数的异同点 | 学步园

    Matlab中的eig()函数和eigs()函数的异同点 1.相同点 都可以求解矩阵的特征值和特征向量 2.不同点 eig函数主要是给出矩阵的特征值和特征向量 eigs函数主要是通过迭代法来求解矩阵特 ...

  10. matlab中trapz,MATLAB中trapz和cumtrapz函数

    这两个函数都是MATLAB中的内置函数,是基于梯形法则的数值积分公式 例如我们有函数y=x^3-2x-3,为了计算在[0,1]上的积分,可以这么做: 其中x和y分别是自变量和对应的值,trapz其实就 ...

最新文章

  1. 【C++】拷贝控制与资源管理
  2. Node webkit启动最大化窗口
  3. linux内核创建节点,Linux内核驱动自动创建设备节点文件
  4. js php 实现日历签到_Js 实现每日签到打卡轨迹功能。
  5. OrchardHUN.TrainingDemo 学习记录(2)-Migration中,添加contentPart 和widget
  6. mxnet基础到提高(10)--读写文件
  7. PostgreSQL 9.6.0 手册
  8. 重写toString()方法(Java篇)
  9. [导入]php 安全基础 附录B. 函数
  10. TPL Dataflow .Net 数据流组件,了解一下?
  11. linux实现字符火焰动画,linux flamegraph火焰图使用
  12. sql删除主键_产品经理的第一节SQL课——ID到底是干什么的?!
  13. nyoj--77--开灯问题
  14. atitit.php 流行框架 前三甲为:Laravel、Phalcon、Symfony2 attilax 总结
  15. 航空三字代码表_目前最全的航空城市三字代码表
  16. 堪萨斯州立大学计算机专业,全美顶尖大学:堪萨斯州立大学
  17. Go语言(Golang)超时机制
  18. 利用函数求平均分及方差
  19. Unity 编辑器下运行没有声音
  20. 高斯消元法(C++实现)

热门文章

  1. 面试的一般流程及其常见的问题
  2. R语言程序包下载地址:CRAN Packages
  3. Word2013插入分隔符(分节符)实现任意页插入页码
  4. ubuntu java 中文_Ubuntu下 JAVA GUI 程序汉字显示为方框解决办法
  5. BUCTOJ邀请赛20180814-D: String
  6. android获取网页标题,android获取系统自带浏览器书签
  7. bw项目抱佛脚入门资料-2.按照指标创建BW数据存储对象
  8. Altium Designer 在PCB中添加 图片 Logo 或者丝印
  9. mysql 怎么同时删除两张表的数据库,mysql怎样删除多个表格数据库数据_数据库
  10. 潇潇日暮时,掠水鸳鸯散。(01背包