吳恩達老師課程筆記系列第十節-單變量線性迴歸之梯度下降理解(6)

算法 機器學習 吳恩達 LhWorld哥陪你聊算法 2019-04-19

第十節-單變量線性迴歸之梯度下降理解(6)

在以前的課程中我們談到關於梯度下降算法,梯度下降是很常用的算法,它不僅被用在線性迴歸上和線性迴歸模型、平方誤差代價函數。在這段視頻中,我們要將梯度下降和代價函數結合。我們將用到此算法,並將其應用於具體的擬合直線的線性迴歸算法裡。

梯度下降算法和線性迴歸算法比較如圖:

吳恩達老師課程筆記系列第十節-單變量線性迴歸之梯度下降理解(6)

對我們之前的線性迴歸問題運用梯度下降法,關鍵在於求出代價函數的導數,即:

j=0時:

吳恩達老師課程筆記系列第十節-單變量線性迴歸之梯度下降理解(6)

j=1時:

吳恩達老師課程筆記系列第十節-單變量線性迴歸之梯度下降理解(6)

則算法改寫成:

吳恩達老師課程筆記系列第十節-單變量線性迴歸之梯度下降理解(6)

我們剛剛使用的算法,有時也稱為批量梯度下降。實際上,在機器學習中,通常不太會給算法起名字,但這個名字”批量梯度下降”,指的是在梯度下降的每一步中,我們都用到了所有的訓練樣本,在梯度下降中,在計算微分求導項時,我們需要進行求和運算,所以,在每一個單獨的梯度下降中,我們最終都要計算這樣一個東西,這個項需要對所有

個訓練樣本求和。因此,批量梯度下降法這個名字說明了我們需要考慮所有這一"批"訓練樣本,而事實上,有時也有其他類型的梯度下降法,不是這種"批量"型的,不考慮整個的訓練集,而是每次只關注訓練集中的一些小的子集。在後面的課程中,我們也將介紹這些方法。

但就目前而言,應用剛剛學到的算法,你應該已經掌握了批量梯度算法,並且能把它應用到線性迴歸中了,這就是用於線性迴歸的梯度下降法。

如果你之前學過線性代數,有些同學之前可能已經學過高等線性代數,你應該知道有一種計算代價函數

最小值的數值解法,不需要梯度下降這種迭代算法。在後面的課程中,我們也會談到這個方法,它可以在不需要多步梯度下降的情況下,也能解出代價函數的最小值,這是另一種稱為正規方程(normal equations)的方法。實際上在數據量較大的情況下,梯度下降法比正規方程要更適用一些。

現在我們已經掌握了梯度下降,我們可以在不同的環境中使用梯度下降法,我們還將在不同的機器學習問題中大量地使用它。所以,祝賀大家成功學會你的第一個機器學習算法。

在下一段課程中,告訴你泛化的梯度下降算法,這將使梯度下降更加強大。

吳恩達老師課程筆記系列第十節-單變量線性迴歸之梯度下降理解(6)

相關推薦

推薦中...