1. 程式人生 > >《Andrew Ng深度學習》筆記1

《Andrew Ng深度學習》筆記1

優化 時代 信息 自變量 明顯 如果 特殊 結果 數據表

深度學習概論

  • 1.什麽是神經網絡?
  • 2.用神經網絡來監督學習
  • 3.為什麽神經網絡會火起來?

1.什麽是神經網絡?

深度學習指的是訓練神經網絡。通俗的話,就是通過對數據的分析與計算發現自變量與因變量的映射關系(神經網絡模型),這個映射關系可以是單層(一個神經元),也可以是網絡(多個神經元),此過程可稱為訓練過程;其後根據此神經網絡模型來對事物進行預測或分類。

通過一個例子來說明何為神經網絡。房價的預測,影響房價的因素有很多,現在僅考慮房間大小,即只有一維特征。下圖的紅叉代表已知價格的房子大小,通過紅叉,我們可以擬合出一條直線來“代表”房子大小與房價的關系。其實這也就是線性回歸算法了,這裏先不細說。而且由於房價沒有負的,因此,直線與x軸交叉處到原點恒為0。此關系可稱為ReLu函數(修正單元函數)。

綠色是新的房子大小,通過上面訓練出來的模型,就可以預測出此房子大小對應的房價。這也就是神經網絡在實際中的應用。

技術分享圖片

基於上面的討論,其實是一個最簡單的神經網絡,因為一個輸入x,經過模型,輸出y。其模型可用下圖表示:

技術分享圖片

圈圈就是一個神經元,它接受輸入,經過自身內部的算法計算,得出輸出y。每個神經元就是一個算法模型,此模型雖簡單但也通過一個簡單的算法模型來解決實際問題。

但是這是一個特征輸入的,如果有n多維特征,模型是如何的呢?比如上面預測房價例子,影響房價的因素不僅只是房子大小,還有房子地段、基礎設施、家庭人口等。在這裏就引出了神經網絡。神經網絡是由n多個神經元堆疊而成的,接受的參數多了,輸入經過神經網絡得出的輸出就更接近真實。房價預測的神經網絡模型增加輸入特征後可優化為下圖,其實就是把多個神經元組成一個網絡,模擬“人”的神經解決問題。

技術分享圖片

2.用神經網絡來監督學習

現在的神經網絡都基於其中一種機器學習,也可以成為“監督學習”。

  • 監督學習就是用已知的數據來訓練神經網絡得出映射關系,然後使用這個映射關系來解決問題。
  • 無監督學習中使用的數據是沒有標記過的,即不知道輸入數據對應的輸出結果是什麽,自己尋找數據的模型和規律。

監督學習(現實中創造價值),就是輸入特征經過訓練後的神經網絡模型得出輸出。下圖很好的說明這點,輸入x,經過神經網絡,輸出y。(在我看來也是信息轉換的過程)

技術分享圖片

在實際中,有結構化數據和非結構化數據(註意,這個非是指不是完全只是結構體,就是說包括結構化和半結構化和非結構化)。結構化數據是行存儲的,在數據庫中一行數據是一個記錄;但在非結構化數據中,是列存儲的,而且在大數據時代,非結構化數據實質是稀疏的。所以結構化數據轉換為矩陣計算時可以直接轉換或者壓縮維度。但是非結構化數據是稀疏矩陣,所以要做特殊處理,比如預測填補等。通過下圖,可以清晰的看到一般情況下電商數據、廣告數據等(很多的商業數據)是結構化的,但是對於圖像,語音,文本等是非結構化的。因此,在實際應用神經網絡時要做特殊處理。

神經網絡可分為標準神經網絡、卷積神經網絡、循環神經網絡。(此知識點等到後面學完再補充)如下圖: 技術分享圖片

3.為什麽神經網絡會火起來?

神經網絡的概念很早就開始有了,記得上本科的時候,上自動控制原理課程時,老師就提起過神經網絡,只是當時對這方面的知識沒什麽關註。為什麽現在突然火起來?在這裏,先引出吳恩達老師“最喜歡”的圖來解釋。

技術分享圖片

橫坐標是數據規模,縱坐標是算法性能。紅線是一般傳統的算法在數據規模逐漸增大的時候,性能的變化趨勢,很明顯可以看出來,傳統算法在面對數據規模較大時表現為性能達到瓶頸。然而神經網絡卻不受數據規模的影響,神經網絡的規模越大,在數據規模越大時效果越好。

以前為什麽不流行?因為現在制造的數據是過去的n多倍,有句話說現在一個n產生的數據是19世紀一個人一年產生的數據規模。就單說現在的電商數據,其規模就遠超以前。因此,以前傳統的算法,在面對大數據表現為瓶頸,所以神經網絡NN算法才會興起。

4.小結

神經網絡是由神經元組成的,單個神經元就是一個算法模型,由多個神經元組成的神經網絡能夠解決更復雜的問題。最後,說一句不是廢話的廢話:神經網絡是很有用的。在面對大數據規模的情況下,可以利用它來達到業務應用的創新或優化。

未完,待續...

《Andrew Ng深度學習》筆記1