《深度學習入門 基於Python的理論與實現》的讀書筆記

第一章 Python入門

要區分矩陣的乘法和矩陣的點積等。

 

第二章 感知機

感知機:接受多個輸入信號,輸出一個信號。

邏輯電路,單層的感知機可以表示與門,與非門,或門。兩層的感知機可以表示異或門。

由於組合與非門可以表示計算機(專家已證實),那麼感知機也可以表示計算機。

 

第三章 神經網絡

感知機的壞消息是:設定權重的工作還是由人工進行的。

神經網絡的出現就是爲了解決感知機的壞消息。

激活函數:將輸入信號的總和轉換爲輸出信號。

激活函數有很多種,比如:階躍函數、線性函數、非線性函數等,常用的有:sigmoid函數、ReLu函數、softmax函數。

激活函數是連接感知機和神經網絡的橋樑。感知機和神經網絡的主要區別就在於激活函數。感知機可以看做是激活函數爲階躍函數的一種簡單的神經網絡。

神經網絡的激活函數必須使用非線性函數,因爲使用線性函數的話,加深神經網絡的層數就沒有意義了。(P49)

輸出層所用的激活函數:一般地,迴歸問題使用恆等函數,二分類問題使用sigmoid函數,多分類問題使用softmax函數。(P62)

softmax函數:

softmax函數的改進,上式中存在缺點:exp(x),當x很大時,其exp(x)值會非常大,在計算機運算中容易越界(溢出)。爲了不越界,在運算時,對x加上(或者減去一個常數)不會改變運算結果。爲了防止溢出,一般會減去輸入值中的最大值(P66)

softmax函數的特徵:

(1)輸出是0.0到1.0的實數,softmax函數的輸出值得總和是1。

 

求解機器學習問題的步驟,可以分爲“學習”和“推理”兩個階段。在學習階段進行模型的學習,在推理階段,用學到的模型對未知的數據進行推理(分類)。

預處理:對輸入數據進行某種既定的轉換。預處理包括:正則化等。

批處理:由於神經網絡運算是矩陣的運算,而矩陣的運算的性質,矩陣點積時形狀的變化(20)x(20,10)=(10),將輸入數據改爲二維的,即:(100,20)x(20,10)= (100,10)。利用矩陣運算的這個性質,可以加速運算的速度。而且有些庫也提供了高效處理大型數組運算的優化。(P77)

 

第4章 神經網絡的學習

損失函數:其作用是以某個指標爲線索尋找最優權重參數。是表示神經網絡性能的“惡劣程度”的指標。常見的損失函數包括:均方誤差,交叉熵誤差。

交叉熵誤差:在某些情況下,均方誤差不能作爲損失函數,見:https://zhuanlan.zhihu.com/p/35709485

mini-batch學習:當數據有幾百萬、幾千萬時,對所有的數據計算損失函數是不現實的,此時會選取一部分數據作爲全部的“近視”。

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章