機器學習 梯度下降

2021-10-07 06:59:43 字數 2231 閱讀 5142

作者|renu khandelwal 編譯|vk **|medium

什麼是梯度下降?

梯度下降法是一種減少成本函式的迭代機器學習優化演算法,使我們的模型能夠做出準確的**。

成本函式(c)或損失函式度量模型的實際輸出和**輸出之間的差異。成本函式是乙個凸函式。

為什麼我們需要梯度下降?

在神經網路中,我們的目標是訓練模型具有最優的權值(w)來進行更好的**。

我們用梯度下降法得到最優權值。

如何找到最優的權值?

這可以用乙個經典的登山問題來最好地解釋。

在登山問題中,我們想要到達一座山的最低點,而我們的能見度為零。

我們不知道我們是在山頂上,還是在山的中間,還是非常接近底部。

我們將在稍後的文章中討論,如果我們覺得已經到達了底部(區域性最小值點),但是還有另乙個山的最低點(全域性最小值點),我們可以做什麼。

梯度下降法幫助我們從數學上解決了同樣的問題。

我們將乙個神經網路的所有權值隨機初始化為乙個接近於0但不是0的值。

我們計算梯度,∂c/∂ω,它是成本相對於權重的偏導數。

α是學習率,有助於對梯度下降法調整權重

我們需要同時更新所有神經元的權重

學習速率

學習率控制著我們應該在多大程度上根據損失梯度調整權重。學習速率是隨機初始化的。

值越低,學習速度越慢,收斂到全域性最小。

較高的學習率值不會使梯度下降收斂

由於我們的目標是最小化成本函式以找到最優的權值,所以我們使用不同的權值執行多個迭代,並計算成本以獲得最小的成本,如下所示

這座山可能有兩個不同的底部,用同樣的方法,我們也可以得到成本和權重之間的區域性和全域性最小點。

全域性最小是整個域的最小點,區域性最小是乙個次優點,在這裡我們得到乙個相對最小的點,但不是如下所示的全域性最小點。

我們如何避免區域性最小值,並始終嘗試得到基於全域性最小值的最優權值?

首先我們來了解一下梯度下降的不同型別

不同型別的梯度下降是

批處理梯度下降

在批量梯度中,我們使用整個資料集來計算梯度下降每次迭代的代價函式的梯度,然後更新權值。

由於我們使用整個資料集來計算梯度收斂速度較慢。

如果資料集很大,包含數百萬或數十億個資料點,那麼它就需要大記憶體和並且是計算密集的。

批量梯度下降的優點

批量梯度下降的缺點

隨機梯度下降法

在隨機梯度下降法中,我們使用單個資料點或例項來計算梯度,並在每次迭代中更新權值。

我們首先需要將資料集的樣本隨機排列,這樣我們就得到了乙個完全隨機的資料集。由於資料集是隨機的,並且每個示例的權值都是可以更新的,所以權值和代價函式的更新將是到處亂跳的,如下所示

隨機樣本有助於得到全域性的最小值,避免陷入區域性的最小值。

對於非常大的資料集,學習要快得多,收斂也快得多。

隨機梯度下降法的優點

隨機梯度下降法的缺點

小批量梯度下降

摘要小批量梯度法是一種隨機梯度下降法,它不採用單一訓練樣本,而是採用小批量樣本。

小批量梯度下降法應用廣泛,收斂速度快,穩定性好。

批處理大小可以根據資料集的不同而有所不同。

當我們取一批不同的樣本時,它減少了權值更新的方差雜訊,有助於更快地獲得更穩定的收斂。

小批量梯度下降的優點

小批量梯度下降的缺點

sklearn機器學習中文官方文件:

機器學習 梯度下降

參照 機器學習 這本書的第4.4.3節。一.解決目標及情景假設 當給定一些資料,輸入x向量已知,輸出y也已知,設計乙個線性函式y h x 去擬合這些資料。既然是線性函式,在此不妨設為h x w0 x0 w1 x1。此時我們遇到的問題就是如何確定w0和w1這兩個引數,即w w0,w1 這個向量。既然是...

機器學習 梯度下降

梯度下降法 如果讀者對方向導數和梯度的定義不太了解,請先閱讀上篇文章 方向導數與梯度 前些時間接觸了機器學習,發現梯度下降法是機器學習裡比較基礎又比較重要的乙個求最小值的演算法。梯度下降演算法過程如下 1 隨機初始值 2 迭代 在這裡,簡單談一下自己對梯度下降法的理解。首先,要明確梯度是乙個向量,是...

機器學習 梯度下降

1.引數要同時更新 2.初始化不同,獲得的最小值也不同,即得到的引數也不同,演算法收斂到不同的區域性最優解。凸函式只有全域性最優解,無論如何初始化,不必擔心陷入區域性最優解 3.越接近最小值時,收斂的速度最逐漸減慢,在學習率不變的情況下,越接近最小值 最優解 偏導數的絕對值會越來越小,所以演算法收斂...