從零開始學深度學習二:神經網路
本課程筆記來源於深享網課程《深度學習理論與實戰TensorFlow》
2.1學習的種類
學習的種類主要分成以下三類:監督學習、非監督學習和強化學習三種。接下來,將分別對這三種學習進行介紹。
監督學習: 對已經標記的訓練樣本進行學習,然後對樣本外的資料進行標記預測。如常見的分類垃圾郵件問題就是常見的監督學習,我們需要對訓練樣本的郵件進行標記(就是每一封郵件都要人為去指定,然後通過學習,模型對新來的郵件判斷其是否是垃圾郵件)。
非監督學習: 對沒有標記過的訓練樣本進行學習,發現其中的結構性知識。如我們可以對商店中的顧客進行聚類,將他們分成不同的細分市場。
強化學習: 可以理解為一個機器人不斷依據環境做決策,然後環境根據決策進行獎勵或懲罰,機器人將根據環境給予的反饋來學習的方式。我們可以以小時候我們被媽媽打的情況為例進行說明;我們放學回家沒有做作業就出去玩,然後就被媽媽教訓了,第二次還是這樣,又被媽媽教訓了,第三次我們會根據前兩次的反饋知道我們應該先做作業然後出去玩,然後媽媽獎勵你了一根糖果,第四次你就會先做作業,這就是一個強化學習的過程舉例。
2.2線性模型
線性模型在我們的實際生活中有非常廣泛的應用。舉例來說,我們每天學習4個小時,考試可以得到8分,那麼如果每天學習五個小時呢,這個問題就可以通過線性模型來進行預測。
一元線性迴歸
一元線性模型非常簡單,這裡我們以醫院線性迴歸為例進行說明。假設我們有變數和目標,每個對應一個數據點,我們希望建立一個模型 其中是我預測的結果,我們希望通過來擬合目標,通俗來講就是找到這個函式擬合,使其誤差最小,即最小化: 為了找到這個函式,我們首先給定一個初始的和,然後通過這個初始和來計算出預測的結果,以此來優化和,即梯度下降法。
多項式迴歸模型
在一元線性迴歸的基礎上,我們進一步考慮多項式迴歸模型,根據上面給出的線性迴歸模型這是一個關於的一次多項式,這個模型比較簡單,沒法擬合比較複雜的模型,所以我們可以使用更高次的模型,比如.這樣就可以擬合更加複雜的模型,這就是多項式模型,這裡運用的的更高次。同理還有多元迴歸模型,其他都一樣,只是除了使用,還有更多的變數如,等。
2.3梯度下降
首先我們來討論什麼是梯度,梯度就是導數,比如在處的梯度就是2. 對於更一般的情況,如果有多個變數,那麼梯度就是對每個變數的導數,比如的梯度就是 我們可以稱其為grad或者.具體某一點(,)的梯度就是
下圖即為這個函式在處的梯度; 從集合意義上講,一個點的梯度值就是這個函式下降最快的地方,具體來說,對於函式,在點(,)處,沿著梯度的方向,函式下降的最快,也就是說沿著梯度下降的方向,我們能更快的找到函式的極大值點,或者反過來沿著梯度的反方向,我們能更快的找到函式的最小值點。
利用梯度下降法,我們可以通過反覆迭代找到最合適的和,這一部分已在之前的文章 梯度下降法三種形式BGD、SGD、MBGD比較中給出詳細介紹,在此不再贅述。