神經網路的MATLAB GUI實現
阿新 • • 發佈:2019-01-06
如何在matlab中通過GUI的方式來建立和訓練一個神經網路?本文以一個汽油辛烷值的預測為例講解。
首先,先將需要的資料等匯入進來。
%% I. 清空環境變數 clear all clc %% II. 訓練集/測試集產生 %% % 1. 匯入資料 load spectra_data.mat %% % 2. 隨機產生訓練集和測試集 temp = randperm(size(NIR,1)); % 訓練集――50個樣本 P_train = NIR(temp(1:50),:)'; T_train = octane(temp(1:50),:)'; % 測試集――10個樣本 P_test = NIR(temp(51:end),:)'; T_test = octane(temp(51:end),:)'; N = size(P_test,2); %% III. 資料歸一化 %% % 1. 訓練集 [Pn_train,inputps] = mapminmax(P_train); Pn_test = mapminmax('apply',P_test,inputps); %% % 2. 測試集 [Tn_train,outputps] = mapminmax(T_train); Tn_test = mapminmax('apply',T_test,outputps);
這裡,data.mat是封裝好的資料,可以改換成你自己的資料。
然後通過命令啟動GUI:
先選擇Import,根據圖示匯入我們要的資料:
資料都匯入後,就可以點選new來建立神經網路了。根據介面中的提示項,來設定好網路結構:
create之後我們就可以得到這個神經網路了:
這裡我選的是第一層10個神經元,第二層就是輸出層,就一個神經元,是線性啟用函式。
接下來就是點選上面的train選項,具體地設定一下訓練的引數。
設定好後,點選右下角的train network!就可以看到如下圖的訓練視窗了:
訓練好後,我們就可以進行模擬的預測。選擇simulate選項:
模擬結束後,可以檢視結果了:
接下來你看工作區就能找到結果已經匯出了。
這個例子中,我輸入一個這樣的命令來更方便地檢視結果:
[Tn_test' network1_outputs' network1_errors']
這就是一個簡單操作流程了。
其實也無非是資料的匯入、點選幾個按鈕完成訓練、測試過程,然後檢視結果罷了。
小夥伴們動手試一試吧!