梯度下降演算法在機器學習中的作業原理
作者|NIKIL_REDDY
編譯|VK
來源|Analytics Vidhya
介紹
梯度下降演算法是工業中最常用的機器學習演算法之一,但這讓很多新人感到困惑,
如果你剛剛接觸機器學習,梯度下降背后的數學并不容易,在本文中,我的目的是幫助你了解梯度下降背后的直覺,

我們將快速了解成本函式的作用,梯度下降的解釋,如何選擇學習引數,
什么是成本函式
它是一個函式,用于衡量模型對任何給定資料的性能,成本函式將預測值與期望值之間的誤差量化,并以單個實數的形式表示出來,
在對初始引數進行假設后,我們計算了成本函式,以降低代價函式為目標,利用梯度下降演算法對給定資料進行引數修正,下面是它的數學表示:
_LI.jpg)
什么是梯度下降
假設你在玩一個游戲,玩家在山頂,他們被要求到達山的最低點,此外,他們還蒙著眼睛,那么,你認為怎樣才能到達湖邊?
在你繼續讀之前,花點時間考慮一下,
最好的辦法是觀察地面,找出地面下降的地方,從這個位置開始,向下降方向邁出一步,重復這個程序,直到到達最低點,

梯度下降法是一種求解函式區域極小值的迭代優化演算法,
要用梯度下降法求函式的區域極小值,必須選擇與當前點處函式的負梯度(遠離梯度)的方向,如果我們采取與梯度的正方向,我們將接近函式的區域極大值,這個程序稱為梯度上升,
梯度下降最初是由柯西在1847年提出的,它也被稱為最速下降,

梯度下降演算法的目標是最小化給定函式(比如成本函式),為了實作這一目標,它迭代地執行兩個步驟:
-
計算梯度(斜率),函式在該點的一階導數
-
在與梯度相反的方向上做一步(移動)
.png)
Alpha被稱為學習率-優化程序中的一個調整引數,它決定了步長,
繪制梯度下降演算法
當我們有一個單一的引數(θ),我們可以在y軸上繪制因變數成本,在x軸上繪制θ,如果有兩個引數,我們可以進行三維繪圖,其中一個軸上有成本,另兩個軸上有兩個引數(θ),

它也可以通過使用等高線來可視化,這顯示了一個二維的三維繪圖,其中包括沿兩個軸的引數和等高線的回應值,遠離中心的回應值增加,并且隨著環的增加而增加,

α-學習率
我們有了前進的方向,現在我們必須決定我們必須采取的步驟的大小,
必須謹慎選擇,以達到區域最小值,
-
如果學習率太高,我們可能會超過最小值,而不會達到最小值
-
如果學習率太低,訓練時間可能會太長

a) 學習率最優,模型收斂到最小
b) 學習速度太小,需要更多的時間,但會收斂到最小值
c) 學習率高于最優值,較慢速度的收斂(1/c<η < 2/c)
d) 學習率非常大,它會過度偏離,偏離最小值,學習性能下降

注:隨著梯度減小而向區域最小值移動,步長減小,因此,學習速率(alpha)可以在優化程序中保持不變,而不需要迭代地改變,
區域最小值
成本函式可以由許多最小點組成,梯度可以落在任何一個極小值上,這取決于初始點(即初始引數θ)和學習速率,因此,在不同的起點和學習率下,優化可以收斂到不同的點,

梯度下降的Python代碼實作

結尾
一旦我們調整了學習引數(alpha)并得到了最優的學習速率,我們就開始迭代,直到我們收斂到區域最小值,
原文鏈接:https://www.analyticsvidhya.com/blog/2020/10/how-does-the-gradient-descent-algorithm-work-in-machine-learning/
歡迎關注磐創AI博客站:
http://panchuang.net/
sklearn機器學習中文官方檔案:
http://sklearn123.com/
歡迎關注磐創博客資源匯總站:
http://docs.panchuang.net/
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/203948.html
標籤:其他
上一篇:使用docker compose 命令啟動的服務無法訪問
下一篇:影像分類任務實戰
