deeplearning.ai神經網路與深度學習 第一章notes
神經網路與深度學習第一章
目錄
什麼是神經網路
用神經網路進行監督學習
為什麼深度學習會興起
什麼是神經網路
1.1定義
它是一個源於人腦工作機理的強大演算法
1.2單元神經網路
我們首先看一個例子,這個例子是一個房價評估問題。我們現在有一些資料,是房子的大小和其對應價格的資料,我們需要根據這些資料設計一個模型,當我們輸入房子的大小的時候,能估算出房子的售價。這是一個迴歸問題,考慮到房價不能是負數,所以我們引入一個函式叫ReLU(Rectified Linear Unit),中文叫做修正線性單元。它是一個從0開始的函式如下圖:
單元神經網路是最簡單的神經網路,其構成如下:
它由輸入,神經元和輸出構成,在我們的問題中輸入x就是房子的大小,神經元是實現房價預測的ReLU函式,輸出有y則是預測的房價,這就是一個最簡單的神經網路
1.3多元神經網路
我們再來看一個稍微複雜的問題:同樣是預估房價的問題,不過此時房屋的價格可能會受到其他功能的影響,如大小,臥室數量,郵政編碼和財富。 如下圖所示:房屋的大小和臥室的大小可能會受制於家庭大小,比如一個三口之家可能不會考率去買三室一廳的房子,因為他們並不需要那麼多臥室;再比如郵編和財富情況可能會影響孩子的學校地點等等。
我們根據上圖的分析構建一個多元神經網路如下圖:其中我們所說的大小,臥室數量,郵政編碼和財富這些都是我們的輸入;那些我們分析的學校地點,家庭大小等是中間的隱藏單元是我們不需要考慮的部分,因為這些隱藏單元由機器自動生成;房子的價格是輸出。
這就是一個多元神經網路構成:它由輸入,隱藏單元(若干層)和輸出構成。
用神經網路進行監督學習
2.1監督學習要幹什麼?
在監督學習中我們由一系列已知輸入輸出的資料,我們要根據這些資料找出輸入與輸出的關係,再根據輸入預測輸出,比如:我們上面所說的買房問題就是一個監督學習的例子!
監督學習問題分為“迴歸”和“分類”問題。 在迴歸問題中,我們試圖在連續輸出中預測結果,也就是說我們嘗試將輸入變數對映到某個連續函式。 在分類問題中,我們試圖在離散輸出中預測結果。 換句話說,我們試圖將輸入變數對映到離散類別。
下面是一些監督學習的例子:
他們分別是預測問題,廣告推薦,照片分類(影象識別的應用),語音識別,機器翻譯和自動駕駛。這些問題都能用神經網路來解決,雖然運用的神經網路有所不同。比如前兩個運用的是通用標準的神經網路構架(Universally standard neural network),影象識別這個領域多用卷積神經網路(CNN),機器翻譯和語音識別會用到迴圈神經網路(RNN),至於自動駕駛,它是一種混合神經網路架構。
2.2結構化與非結構化資料
這也是我們總聽人提及的概念,結構化資料是指具有定義含義的事物,例如價格,年齡,而非結構化資料是指畫素,原始音訊,文字等。
如下圖:
為什麼神經網路會興起
影響神經網路表現的因素由兩方面:一方面是資料量的大小,另一方面是神經網路的規模,如下圖:
而神經網路的規模是由計算機的運算能力和演算法優劣決定的。
近年來,隨著社會發展,人們更有能力去收集更多的資料輸送給神經網路以供訓練。此外CPU的執行速度不斷突破,為擴大神經網路的規模提供了契機。演算法的優化減小了計算機的執行量,間接影響到了神經網路的規模,所以深度學習得以興起。
最後,以上圖片均源自於吳恩達老師的課件,感謝吳恩達老師細緻的講解,淺顯易懂。