1. 程式人生 > >【吳恩達deeplearning.ai筆記二】通俗講解神經網路上

【吳恩達deeplearning.ai筆記二】通俗講解神經網路上

神經網路(Neural Network)的構築理念是受到生物神經網路功能的運作啟發而產生的。人工神經網路通常是通過一個基於數學統計學型別的學習方法得以優化,所以人工神經網路也是數學統計學方法的一種實際應用。

和其他機器學習方法一樣,神經網路已經被用於解決各種各樣的問題,例如機器視覺和語音識別,這些問題都是很難被傳統基於規則的程式設計所解決的。

1神經網路

機器學習領域所說的神經網路指的是一種模仿生物神經網路的結構和功能而建立的數學或計算模型,用於對函式進行估計或近似。

例如,給定一些關於市面上房子的面積及價格的資料,需要根據這些資料建立一個房價預測模型。即輸入一個房子的面積,希望通過這個模型輸出一個房價的預測值。顯然,這是一個線性迴歸問題,因為一般情況下房價和房子的面積都成正相關。這時,可以將已知資料的關係表現在平面座標系中:


對資料進行線性擬合,且房價永遠不會是負數,得到圖中的ReLU函式(Rectified Linear Unit,修正線性單元)


在這個簡單的例子中,房子的面積作為輸入,房價作為輸出,而ReLU函式便充當一個神經元的作用,來產生輸出。

然而房價除了受房子的面積影響之外,還會受臥室的數量、房子的位置以及地區的財富水平等因素的影響,這時就需要構建一個更為複雜的神經網路模型。

這就構成了一個神經網路模型基本結構,神經網路會自動生成隱藏層(Hidden Units)來處理輸入,生成輸出。這個問題中,只要擁有足夠的訓練資料,就能生成一個較好的神經網路模型,得到較為精確的結果。

簡單而言,深度學習便是更為複雜的神經網路。

在這個模型中,先建立了一個成本函式,進而不斷採用梯度下降法找到引數  和  的最優解。採用這種演算法編寫的貓識別器最終的準確率還不夠高,要進一步提高識別的準確率,就需要建立起一個多層的神經網路來訓練樣本。

2符號約定

如圖所示的神經網路中,前面為輸入層,中間為隱藏層 ,最後為輸出層。中間層被稱為隱藏層的原因是因為在訓練過程中,將看到輸入的樣本有哪些,輸出的結果是什麼,中間層中的神經節點產生的真實值無法被觀察到。

所以中間層被稱為隱藏層,只是因為你不會在訓練集中看到它。

前面的邏輯迴歸中,用X表示輸入,這裡用符號a^[0]代替,上標“[ ]”中的數字表示神經網路中的第幾層,且符號a代表著啟用(Activation)

,指的是不同層次的神經網路傳遞給後續層次的值。



3神經網路的表示




邏輯迴歸中,直接將兩個引數都初始化為零。而在神經網路中,通常將引數 w進行隨機初始化,引數 b則初始化為 0 。

除 w,b外的各種引數,如學習率 alpha、神經網路的層數 l,第 l 層包含的節點數 n^[k] 及隱藏層中用的哪種啟用函式,都稱為超引數(Hyper Parameters),因為它們的值決定了引數 w,b最後的值。

好,上節的內容到這,下節講解啟用函式等相關知識點~

來源:

http://mp.weixin.qq.com/s?__biz=MzI4MDYzNzg4Mw==&mid=2247487190&idx=1&sn=dfda6a615147a4510a04810a168f9dae&chksm=ebb43602dcc3bf14712ee33d6cc793921e1f0cbadf51e7a640274fcfc50c300e27d27e4feb62&mpshare=1&scene=23&srcid=03200uUiaElyXSZN6ZFcOs7u#rd