天天看點

第三章 神經網絡

神經網絡

神經網絡一個重要性質就是可以自動地設定合适的權重參數

1. 複習感覺機:

第三章 神經網絡
第三章 神經網絡
第三章 神經網絡

其中b被稱為偏置的參數,用于控制神經元被激活的容易程度;而w1和w2是表示各個信号權重的參數,用于控制各個信号的重要性。

為了簡化上式我們用函數來表示這種分情況的動作(超過0則輸出1,否則輸出0),引入新函數h(x),将上式改寫為:

第三章 神經網絡
第三章 神經網絡

2. 激活函數(activation function):

上面h(x)函數會将輸入信号的總和轉化為輸出信号,這種函數一般被稱為激活函數;

激活函數的作用在于決定如何來激活輸入信号的總和。

現在進一步改寫“公式3.2”,将其分為兩個階段進行處理,先計算輸入信号的權重總和a,然後用激活函數轉換這一總和。如下:

第三章 神經網絡
第三章 神經網絡

信号的權重總和為節點a,然後節點a被激活函數h(x)轉換成節點y。

由上述描述我們可以知道,激活函數是連接配接感覺機和神經網絡的橋梁;

  • 樸素感覺機:指單層感覺機,其激活函數使用了階躍函數的模型。
  • 多層感覺機:指神經網絡,即使用sigmoid函數後等平滑的激活函數的多層網絡。
  • 階躍函數:表示激活函數以門檻值為界,一旦輸入超過門檻值,就切換輸出;圖形顯示詳見“A.step_function.py”。
  • sigmoid函數:就是給定某一輸入後,會傳回某個輸出的轉換器,其平滑性對神經網絡的學習具有重要意義,圖形顯示詳見“B.sigmoid.py”。
  • 其中兩者比較的圖形顯示詳見“C.sig_step_compare.py”

3. 非線性函數

* 函數本來就是輸入某個值後會傳回一個值的轉換器。神經網絡的激活函數必須是非線性函數。

4. ReLU(Rectified Linear Unit)函數

ReLU函數在輸入大于0時,直接輸出該值在輸入小于等于0時輸出0,如圖:

第三章 神經網絡

其函數實作詳見“D.relu.py”,其實作效果,即函數圖像如下:

第三章 神經網絡

5. 多元數組的運算

  1. 簡單來說,多元數組就是“數字的集合”,二維數組也稱矩陣(matrix),數組的橫向排列稱為行(row),縱向排列稱為列(column);
  2. 矩陣的乘法:np.dot(Amxn, Bnxl),多元數組乘法運算時,必須使兩個矩陣中的對應次元的元素個數一緻

6. 3層神經網絡的實作

神經網絡的運算可以作為矩陣運算打包進行。因為神經網絡各層的運算是通過矩陣的乘法運算打包進行的;

第三章 神經網絡

增加了表示偏置的神經元“1”

第三章 神經網絡

将第一層的權重和表示為下面的式子:

第三章 神經網絡
第三章 神經網絡

隐藏層的權重和(權重信号和偏置的總和)用a表示,被激活函數轉換後的信号用z表示。此外,圖中h()表示激活函數;

第三章 神經網絡
第三章 神經網絡

輸出層所用的激活函數,要根據求解問題的性質決定。一般地,回歸問題可以使用恒等函數(對于輸入的資訊不加任何改動地輸出),二進制分類問題可以使用sigmoid函數,多元分類問題可以使用softmax函數。

7. 輸出層的設計

機器學習的問題大緻可分為分類問題和回歸問題。分類問題是資料屬于哪一類的問題;而回歸問題是根據某個輸入預測一個(連續的)數值的問題。

第三章 神經網絡

softmax函數的輸出通過箭頭與所有的輸入信号相連。輸出層的各個神經元都受到所有輸入信号的影響。

第三章 神經網絡

實作softmax函數的注意事項:

  • 超大值無法表示的問題,即溢出,在進行計算機的運算時必須注意,為了防止溢出,一般會加上或減去輸入信号的最大值,如下公式中的C’:
    第三章 神經網絡
    softmax函數的輸出是0.0到1.0之間的實數。并且softmax函數的輸出值總和為1。輸出總和為1是softmax函數的一個重要性質。正因如此,我們才可以把softmax函數的輸出解釋成“機率”。

一般而言,神經網絡隻把輸出值最大的神經元所對應的類别作為識别結果。

求解機器學習問題的步驟可以分為“學習”和“推理”兩個階段。首先,在學習階段進行模型的學習(訓練),然後在推理階段,用學到的模型對未知的資料進行推理(分類)。

對于分類問題,輸出層的神經元數量一般設定為類别的數量,如手寫體數字的識别,共0~9,10個數字,是以輸出層神經元就設定為10個。

8. 手寫數字識别

我們假設訓練過程已結束,并得到了我們想要的參數。現在推理階段,先實作神經網絡的“推理處理”,這個推理處理也稱神經網絡的前項傳播(forward propagation)。

正規化:把資料限定到某個範圍内的處理成為正規化(normalization),如把輸入圖像的像素由0 ~ 255 的值正規化為 0.0 ~ 1.0 的值,其正規化方法很多種,如利用資料整體的均值或标準差,移動資料,使資料整體以0為中心分布

繼續閱讀