《Dive Into Deep Learning》學習筆記
阿新 • • 發佈:2022-01-23
一、序言
1.結構
2.小結:
-
深度學習已經徹底改變了模式識別,引入了一系列技術,包括計算機視覺、自然語言處理、自動語音識別。
-
要成功地應用深度學習,你必須知道如何丟擲一個問題、建模的數學方法、將模型與資料擬合的演算法,以及實現所有這些的工程技術。
二、預備知識
1.安裝與環境配置
按照書上的步驟來即可。
安裝Miniconda
安裝Jupyter Notebook
安裝MXNet的GPU版本
一切順利
(只是還沒搞懂這些東西有啥用)
2.資料操作
(1)定義與基本操作:
基本變數是NDArray
x=nd.arange(12)
x.shape ->(12,)
x.size -> 12
x.reshape((3,4))
nd.zeros((2,3,4))
(2)運算:
注意,直接寫的都是按元素
特殊的
X.exp() //按元素指數運算
nd.dot(X,Y.T) //矩陣乘法
條件判別式得到的也是矩陣。X>Y X<Y X==Y
*(3)廣播機制
自動增加行或者列,使得運算可以進行
(4)索引
0開始編號,左閉右開
X[1:3]
X[1,2]
X[1:2,:]=12
(5)關於運算記憶體開銷
用id查指向的記憶體
避免臨時記憶體開銷:
Z=Y.zeros_like()
nd.elemwise_add(X,Y,out=Z)
(6)NDArray和NumPy相互轉換
3.自動求梯度
梯度定義同高等數學
求梯度一般是標量對向量求梯度,得到的也是向量,該向量某個位置的值,為標量對其求偏導後帶入原值的結果
對於帶while,if的語句也可以求梯度,本質上就是多了幾條語句而已。
三、線性迴歸
是關於預測的模型
1.引出了深度學習的基本要素:
模型
訓練資料
損失函式
為了保證十個非負數,這裡採用平方
要找的是:
優化演算法
首先,這個問題可以找到解析解。類似最小二乘法求偏導然後等於0即可
小批量隨機梯度下降:
具體地,就是:
迭代一些次數即可。
大致思路就是往低處走。
比模擬退火看起來靠譜一些。