天天看點

MATLAB 神經網絡預測工具箱

神經網絡

  • 神經網絡預測,在使用上,類似一個黑盒子,輸入一些自變量,輸出一些因變量。
    MATLAB 神經網絡預測工具箱
  • 如圖,從 Input 到 Output 中間有兩個層,我們不需要知道他是怎麼工作的,隻需要知道我們需要設定哪些變量,如何使用就好了。

神經網絡工具箱

  • 我們先從神經網絡工具箱說起,工具箱的可視化界面和設計好的步驟有助于我們了解。
  • 首先輸入 nnstart 選擇 fitting start 或者從App裡直接找到 fitting start
  • 點選 next 會出現如下畫面
    MATLAB 神經網絡預測工具箱
clear
x1 = [7 1 11 11 7 11 3 1 2 21 1 11];
x2 = [26 29 56 31 52 55 71 31 54 47 40 66];
x3 = [6 15 8 8 6 9 17 22 18 4 23 9];
x4 = [60 52 20 47 33 22 6 44 22 26 34 12];
y = [78.5 73.4 104.3 87.6 95.9 109.2 102.7 72.5 93.1 115.9 83.9 113.3];
X = [x1' x2' x3' x4'];
y = y';
           
  • 其中資料如上所示,通常我們每一列是一個變量的多組資料,是以我們要選擇 Matrix rows
    MATLAB 神經網絡預測工具箱
  • 接着會出現上圖,選擇訓練、調整、測試的比例。其中訓練、調整是機器學習過程,在學習中會自動調整參數,而測試隻是用測試資料和原始資料進行比較,判斷預測的準确度,并不會改變網絡參數。
    MATLAB 神經網絡預測工具箱
  • 如上圖,輸如隐藏層參數(輸出層參數是和Output 次元相同的),這個參數是影響我們網絡精度的重要參數,建議多試幾次進行比較。
    MATLAB 神經網絡預測工具箱
  • 接着我們要選擇網絡函數,有三個函數可選,不同特點的資料最優函數是不一樣的,這也是影響網絡精度的選擇。同樣,我們可以多試幾次比較。點選 train 開始訓練。
    MATLAB 神經網絡預測工具箱
  • 如圖,即為訓練後的視窗,此時網絡已經訓練完成,參數英文名說的很清楚了,就不贅述了。

神經網絡評價

  • 建立完神經網絡後,我們要對神經網絡進行評價,判斷網絡拟合的效果如何。
  • 如上圖,在 Plots 裡面有五個按鈕,點選可以自動作圖。根據這些可視化的圖可以判斷網絡效果。我經常用的是 Error Histogram 和 Regression
  • Error Histogram
MATLAB 神經網絡預測工具箱
  • 如圖,誤差分布圖,很好的預測模型,誤差集中在0附近,且基本呈正态分布。本例資料少,可見效果很不好。如果是大量資料,效果會很明顯,下圖是某次模組化時畫出的誤差圖。
    MATLAB 神經網絡預測工具箱
  • Regression
MATLAB 神經網絡預測工具箱
  • 如圖,四個圖分别是訓練、調整、測試、所有資料的四張圖。
  • 橫坐标是原始值,縱坐标是預測值,是以我們希望點都在虛線(y = x)上,根據偏離程度可以看出誤差。粗直線是根據這些點拟合的回歸直線。R是相關度,越接近1表示越好(本例資料過少,有兩個圖隻有兩個資料點,出現了 R = 1 的情況)
  • 如下圖是某次模組化時做出的 Regression 圖,可以看出,當資料很多時效果會很好。
    MATLAB 神經網絡預測工具箱

神經網絡預測

  • 在評價網絡滿意之後,點選 next 到下圖
    MATLAB 神經網絡預測工具箱
    即可以将得到的結果存在工作區中
  • 将網絡命名為 net 存入工作區,再用 sim 函數即可預測。
    MATLAB 神經網絡預測工具箱

總結

  • 影響網絡的參數有:隐藏層參數;訓練、調整、測試比例;訓練函數。當然,由于訓練資料是随機的,是以每一次都會有差距。
  • 當我們要尋找最佳參數,或者有很多組網絡需要建構時,用工具箱就會很麻煩,這時候就需要掌握用代碼控制上述步驟。

繼續閱讀