《MATLAB Deep Learning》Ch1 & Ch2 學習筆記

前言

《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.
在這裏插入圖片描述
注意,當隱藏層的激活函數是線性函數(如 φ(x)=x\varphi(x) = x)時,隱藏層的作用就失效了,這相當於直接從輸入層到輸出層的線性變換。

delta 法則

在這裏插入圖片描述
考慮損失函數 l(x,wi)=12(diyi)2l(x, w_{i})=\frac{1}{2}(d_{i}-y_{i})^{2},激活函數 φ(v)=v\varphi(v) = vyi=φ(vi)y_{i}=\varphi(v_{i})vi=j=1nwijxjv_{i}=\sum_{j=1}^nw_{ij}x_j。其中did_{i}是樣例真實值,yiy_{i}是估計值,ei=diyie_{i}=d_{i}-y_{i}是估計誤差。那麼,
lwij=(diyi)φ(vi)=eixj \frac{\partial l}{\partial w_{ij}}=-(d_{i}-y_{i})\varphi^{'}(v_{i})=-e_{i}x_{j}
由於要向損失減小的方向更新梯度,上述結果取其相反數。可以看出 delta 法則實際上是激活函數爲 φ(v)=v\varphi(v) = v 時的特例,更爲一般的形式爲如下:
在這裏插入圖片描述

SGD, Batch, and Mini Batch

隨機梯度下降 SGD 即對每一個樣例都計算一次梯度,而 Batch 使用所有的訓練數據但只更新一次梯度,Mini Batch 是它們二者的折中。
在這裏插入圖片描述
SGD 的收斂速度更快,而 Batch 更加穩定,Mini Batch 結合了二者的優點。

Ch3 - Training of Multi-Layer Neural Network

由於單層神經網絡不能解決非線性問題(如 XOR 問題),由此引發多層神經網絡的思考。考慮到篇幅過長,這篇博客到此爲止。待續…

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