使用neuralnet包在R中進行混凝土強度分析+解讀

這次我們來通過一個簡單的例子,說明神經(jīng)網(wǎng)絡的基本工作原理。
示例-使用人工神經(jīng)網(wǎng)絡對混凝土強度進行建模,數(shù)據(jù)來源:(http://archive.ics.uci.edu/ml)?當輸入數(shù)據(jù)被縮放到零附近的窄范圍時,神經(jīng)網(wǎng)絡的工作效果最好,在這里,我們看到數(shù)據(jù)集的取值從零到一千多不等。這意味著我們首先需要縮放數(shù)據(jù),或者歸一化。

如果我們用plot(cnn)繪制模型,我們可以看到:

圖示描述了每個連接的權重,以及偏置項的權重(由標記為數(shù)字1的節(jié)點指示)。偏置項是允許所指示節(jié)點處的值向上或向下移動的數(shù)字常數(shù),很像線性方程中的截距。每個輸入節(jié)點和隱藏節(jié)點之間的權重與回歸系數(shù)相似,而偏差項的權重與截距相似。這段話需要配合圖示理解一下。
在圖的底部,R報告了訓練步驟的數(shù)量和一個稱為誤差平方和(SSE)的誤差度量,它是預測值的平方減去實際值的總和。較低的SSE意味著更好的預測性能。這有助于估計模型在訓練數(shù)據(jù)上的性能。
稍后會有更詳細的解釋?,F(xiàn)在我們使用更多隱藏層來調整模型。

我們繼續(xù)用plot(cnn2)繪制模型,我們可以看到:

更詳細的解釋:
繪制圖像是將模型與圖像聯(lián)系起來的最佳方式(這是神經(jīng)網(wǎng)絡非常擅長的)。
1.最左邊的節(jié)點(即輸入節(jié)點)是原始數(shù)據(jù)變量。
2.黑色箭頭(和相關數(shù)字)是我們可以認為該變量對下一個節(jié)點的貢獻程度的權重。藍線是偏置權重,我們希望能夠將整個曲線向右或向左移動一定程度。在sigmoid公式中,偏置使我們能夠將網(wǎng)絡的輸出改變?yōu)閟ig(w0*x+w1*1.0),如下所示


3.中間節(jié)點(即輸入節(jié)點和輸出節(jié)點之間的任何節(jié)點)是隱藏節(jié)點。這就是圖像類比的作用所在。這些節(jié)點中的每一個都構成了網(wǎng)絡正在學習識別的組件。例如識別人臉時的一個鼻子、嘴巴或眼睛。當我們處理非圖像數(shù)據(jù)時,這一點不容易確定,而且要抽象得多,比如現(xiàn)在的這批數(shù)據(jù)。
4.最右邊的(輸出節(jié)點)節(jié)點是神經(jīng)網(wǎng)絡的最終輸出。注意,這一切都省略了將在網(wǎng)絡的每一層應用的激活功能
我們也可以使用R中的nnet包來完成這項工作,但可視化會有點麻煩。
本文使用 文章同步助手 同步