我是目錄
前言
《MATLAB Deep Learning》,Phil Kim. 這本書實在太適合入門了,作者用平實易懂的語言由淺入深地介紹了深度學習的各個方面。書中並沒有太多的公式,配套代碼也很簡潔。不過,若是想進一步深究背後的數學原理,還得參考其他書籍、文獻。
Ch1 - Machine Learning
關於人工智能、機器學習和深度學習的關係,一句話概括就是:“Deep Learning is a kind of Machine Learning, and Machine Learning is a kind of Artificial Intelligence.”
機器學習能解決規則和邏輯推理(如早期的專家系統)解決不了的問題,Machine Learning has been created to solve the problems for which analytical models are hardly available.
機器學習面臨的挑戰:訓練數據與真實數據之間的差異,過擬合 Over-fitting.
過擬合應對方案,爲了提高泛化 Generalization 能力:在訓練集中留出驗證集 Validation,交叉驗證 Cross-validation,正則化(這章好像還沒講到)。
機器學習還有三個細分領域:Supervised learning, Unsupervised learning and Reinforcement learning.
分類問題與迴歸問題:The only difference is the type of correct outputs—classification employs classes, while the regression requires values.
Ch2 - Neural Network
計算機將信息存儲在內存單元中的特定位置,而人腦記憶信息靠的是更改神經元之間的聯繫(方式),人工神經網絡的設計 “模擬” 了大腦的這個過程。
神經網絡的發展:single-layer neural network, shallow neural network(含隱藏層), deep neural network.
注意,當隱藏層的激活函數是線性函數(如 )時,隱藏層的作用就失效了,這相當於直接從輸入層到輸出層的線性變換。
delta 法則
考慮損失函數 ,激活函數 ,, 。其中是樣例真實值,是估計值,是估計誤差。那麼,
由於要向損失減小的方向更新梯度,上述結果取其相反數。可以看出 delta 法則實際上是激活函數爲 時的特例,更爲一般的形式爲如下:
SGD, Batch, and Mini Batch
隨機梯度下降 SGD 即對每一個樣例都計算一次梯度,而 Batch 使用所有的訓練數據但只更新一次梯度,Mini Batch 是它們二者的折中。
SGD 的收斂速度更快,而 Batch 更加穩定,Mini Batch 結合了二者的優點。
Ch3 - Training of Multi-Layer Neural Network
由於單層神經網絡不能解決非線性問題(如 XOR 問題),由此引發多層神經網絡的思考。考慮到篇幅過長,這篇博客到此爲止。待續…