梯度下降演算法在機器學習中的工作原理
作者|nikil_reddy
編譯|vk
**|analytics vidhya
介紹梯度下降演算法是工業中最常用的機器學習演算法之一。但這讓很多新人感到困惑。
如果你剛剛接觸機器學習,梯度下降背後的數學並不容易。在本文中,我的目的是幫助你了解梯度下降背後的直覺。
我們將快速了解成本函式的作用,梯度下降的解釋,如何選擇學習引數。
什麼是成本函式
它是乙個函式,用於衡量模型對任何給定資料的效能。成本函式將**值與期望值之間的誤差量化,並以單個實數的形式表示出來。在對初始引數進行假設後,我們計算了成本函式。以降低代價函式為目標,利用梯度下降演算法對給定資料進行引數修正。下面是它的數學表示:
什麼是梯度下降
假設你在玩乙個遊戲,玩家在山頂,他們被要求到達山的最低點。此外,他們還蒙著眼睛。那麼,你認為怎樣才能到達湖邊?
在你繼續讀之前,花點時間考慮一下。
最好的辦法是觀察地面,找出地面下降的地方。從這個位置開始,向下降方向邁出一步,重複這個過程,直到到達最低點。
梯度下降法是一種求解函式區域性極小值的迭代優化演算法。要用梯度下降法求函式的區域性極小值,必須選擇與當前點處函式的負梯度(遠離梯度)的方向。如果我們採取與梯度的正方向,我們將接近函式的區域性極大值,這個過程稱為梯度上公升。
梯度下降最初是由柯西在2023年提出的。它也被稱為最速下降。
梯度下降演算法的目標是最小化給定函式(比如成本函式)。為了實現這一目標,它迭代地執行兩個步驟:
計算梯度(斜率),函式在該點的一階導數
在與梯度相反的方向上做一步(移動)
!( (43).png)
alpha被稱為學習率-優化過程中的乙個調整引數。它決定了步長。
繪製梯度下降演算法
當我們有乙個單一的引數(θ),我們可以在y軸上繪製因變數成本,在x軸上繪製θ。如果有兩個引數,我們可以進行三維繪圖,其中乙個軸上有成本,另兩個軸上有兩個引數(θ)。
它也可以通過使用等高線來視覺化。這顯示了乙個二維的三維繪圖,其中包括沿兩個軸的引數和等高線的響應值。遠離中心的響應值增加,並且隨著環的增加而增加。
α-學習率
我們有了前進的方向,現在我們必須決定我們必須採取的步驟的大小。
必須謹慎選擇,以達到區域性最小值。
a) 學習率最優,模型收斂到最小
b) 學習速度太小,需要更多的時間,但會收斂到最小值
c) 學習率高於最優值,較慢速度的收斂(1/c
d) 學習率非常大,它會過度偏離,偏離最小值,學習效能下降
注:隨著梯度減小而向區域性最小值移動,步長減小。因此,學習速率(alpha)可以在優化過程中保持不變,而不需要迭代地改變。
區域性最小值
成本函式可以由許多最小點組成。梯度可以落在任何乙個極小值上,這取決於初始點(即初始引數θ)和學習速率。因此,在不同的起點和學習率下,優化可以收斂到不同的點。
梯度下降的python**實現
結尾一旦我們調整了學習引數(alpha)並得到了最優的學習速率,我們就開始迭代,直到我們收斂到區域性最小值。
歡迎關注磐創ai部落格站:
sklearn機器學習中文官方文件:
歡迎關注磐創部落格資源彙總站:
機器學習 梯度下降演算法
梯度下降法是乙個 最優化演算法,通常也稱為最速下降法。最速下降法是求解無約束優化問題最簡單和最古老的方法之一,雖然現在已經不具有實用性,但是許多有效演算法都是以它為基礎進行改進和修正而得到的。最速下降法是用負梯度方向為搜尋方向的,最速下降法越接近目標值,步長越小,前進越慢。可以用於求解非線性方程組。...
機器學習 梯度下降演算法
梯度下降法是乙個最優化演算法,通常也稱為最速下降法。最速下降法是求解無約束優化問題最簡單和最古老的方法之一,雖然現在已經不具有實用性,但是許多有效演算法都是以它為基礎進行改進和修正而得到的。最速下降法是用負梯度方向為搜尋方向的,最速下降法越接近目標值,步長越小,前進越慢。可以用於求解非線性方程組。舉...
機器學習 梯度下降演算法
梯度下降演算法。什麼是梯度 梯度 梯度的本意是乙個向量,由函式對每個引數的偏導組成,表示某一函式在該點處的方向導數沿著該方向取得最大值,即函式在該點處沿著該方向變化最快,變化率最大。梯度下降演算法原理 演算法思想 梯度下降是一種非常通用的優化演算法,能夠為大範圍的問題找到最優解。梯度下降的中心思想就...