MATLAB中神經網路工具箱的使用

尚書左僕射發表於2017-03-24

今夕何夕兮,前些天把玩了一下MATLAB中神經網路工具箱的使用,忽有“捫參歷井仰脅息”之感。別的倒是沒什麼,只是神經網路的資料組織結構有些“怪異”,要是不小心就會導致工具箱報錯。以下便是神經網路工具箱的正確開啟姿勢,謹供諸君參考:

1.開啟MATLAB,在命令列輸入nntool,將出現如下介面:

 

圖1 神經網路工具箱主介面

 

其中最主要的分為6個部分:第1部分中顯示的是系統的輸入資料;第2部分是系統的期望輸出;第3部分是網路的計算輸出;第4部分是網路的誤差,即2和3之間的差異;第5部分呈現的是已經建立的神經網路例項;第6部分的兩個按鈕分別負責資料的匯入和網路模型的建立。

2.點選“Import”按鈕,分別匯入輸入資料與目標輸出資料(資料可從工作區匯入,也可從檔案匯入):

 

圖2 匯入輸入資料集

 

圖3 匯入期望輸出資料集

 

匯入資料後主介面的情況如下:

圖4 匯入資料後的情況

 

重要說明:神經網路的資料是以列為基本單位的,即輸入與輸出資料的列數必須相同,否則將報錯!如果原先資料是以行為單位組織的話,可以先在MATLAB中實現轉置然後再匯入,即B = A’。

3.現在需要的資料已經有了,下一步就是建立一個神經網路模型對資料集進行學習。以下步驟以BP網路為例,首先點選“New”按鈕,出現如下介面:

圖5 神經網路模型設定

 

幾個重要部分已在上圖中框出:1處用於定義該神經網路的名稱;2處用於選擇神經網路的型別;3處用於選擇網路的輸入資料;4處用於確定網路的期望輸出資料;5、6、7處分別對神經網路的主要機制函式進行設定;8處設定網路層數;9處用於選擇各網路層(需要說明的是:第1層指的是隱含層而不是輸入層),從而在10和11處可以對該層的神經元個數和傳遞函式進行設定;12處按鈕可以用於檢視當前所設定的神經網路的結構圖(下附圖);點選13處按鈕即可生成對應的神經網路模型。前面只是簡單地介紹了各個部分的作用,具體引數應該如何設定就只有各位自行去學習相關的文獻了,此處不再多言。

圖6 神經網路結構預覽

 

4.現在模型和資料都有了,下一步該進行模型的訓練了。回到主介面如下:

圖7 回到主介面

 

選中我們剛才建立的神經網路模型,然後點選“Open”按鈕,將會出現如下介面:

圖8 神經網路介面

 

在這裡主要介紹兩個選項卡中的內容,一個是“Train”,另一個是“Adapt”。點選“Train”選項卡後做相應的設定即可進行神經網路的訓練:

圖9 模型主要資訊設定

圖10 模型具體引數設定

 

設定完所有資訊後點選“TrainNetwork”按鈕即可進行網路的訓練了。訓練完成後會有一個結果資訊介面,如下:

圖11 訓練結果反饋

 

5.OK,現在模型訓練也結束了,那麼下一步自然是要來驗證我們訓練的模型。先匯入驗證輸入和驗證輸出,這一步不再重提。然後來到模型驗證介面:

圖12 驗證資料匯入後

 

圖13 驗證引數設定

 

紅框1中設定網路的輸入和驗證輸出;2中設定網路輸出和誤差情況的儲存名;這些都完成之後點選“Adapt Network”後即可。此後會出現如下的提示介面:

圖 14 提示介面

 

接下來再回到神經網路主介面如下:

圖15 網路驗證結果

 

此時介面中會多出紅框所框出的兩組資料,它們分別是網路的輸出與對應的輸出誤差。具體的資料可以通過雙擊它們來開啟檢視。

重要說明:

神經網路的輸入和輸出資料要求每列為一個樣本,按平常的習慣可能需要轉置一下。

否則可能會報輸入/輸出樣本數量不同的錯誤。

如果出現“input data size does not match net.inputs{1}.size”錯誤,那是因為建立神經網路是設定的輸入個數與樣本資料的輸入個數不同而引起的,重新建立合適的神經網路即可。

 

 

 

 

 

 

 

 

 

 

 

相關文章