1. 程式人生 > >神經網路的MATLAB GUI實現

神經網路的MATLAB GUI實現

如何在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']

這就是一個簡單操作流程了。

其實也無非是資料的匯入、點選幾個按鈕完成訓練、測試過程,然後檢視結果罷了。

小夥伴們動手試一試吧!