梯度下降數(shù)學推導(梯度下降 知乎)
原標題:中金科普專欄|梯度下降背后的數(shù)學之美
對于所有“MLers”來說,梯度下降的概念一定很熟悉。然而直觀上,梯度下降的復雜性無疑會讓人們對其敬而遠之。本文作者SurajBansal拆解了梯度下降背后的數(shù)學原理,并提供了簡單的現(xiàn)實案例,讓大家以輕松的方式深入了解梯度下降這種在機器學習領域至關重要的方法。和有趣的語氣。
“敏捷軟件開發(fā)”定義了迭代產品開發(fā)的過程,通過該過程可以執(zhí)行以下步驟。
1)市場調研后的產品構建
2)產品商業(yè)化和進入市場
3)評估消費者滿意度和市場滲透率
4)及時回復反饋并更新迭代產品
5)重復上述過程
這個過程本質上涉及重復的市場測試、反饋收集和產品迭代,直到以最小的錯誤實現(xiàn)最大的市場滲透。這個循環(huán)會重復多次,并確保消費者可以在每一步提供一些反饋來影響產品變更策略。
事實上,這個看似簡單的迭代過程在梯度下降原理中得到了很好的體現(xiàn)。梯度下降可以通過首先計算成本函數(shù)的梯度,然后更新梯度對應的現(xiàn)有參數(shù)來最小化成本函數(shù)來處理。
梯度將具有許多變量的函數(shù)轉換為向量(我們稍后將討論這個主題)。
理解梯度下降背后的多元微積分可能聽起來很嚇人……不要害怕,下面我將解釋梯度下降背后的原理,只討論理解梯度下降所需的數(shù)學概念。
梯度下降變體
使用機器學習算法實現(xiàn)的梯度下降有三種主要變體,每種變體的計算效率有所不同,并且有其獨特的優(yōu)勢。
第一種變體:批量梯度下降
批量梯度下降可以說是最簡單的梯度下降變體。整個過程可以看作是訓練迭代次數(shù)(Epoch),它決定了用于更新模型權重的訓練向量的數(shù)量。
針對訓練集中的每一批個體樣本計算批量梯度下降的誤差,并在一個Epoch內機器學習算法訓練完所有訓練點后更新模型參數(shù)。
更多相關信息可以參考下面的文章(文章推薦了五本機器學習相關的書籍):
https://www.datadriveninvestor.com/2019/03/03/editors-pick-5-machine-learning-books/
該方法的誤差梯度和收斂速度都比較穩(wěn)定,能夠達到足夠的計算效率。然而,由于模型在分析整個訓練集后才迭代權重,因此此時的收斂狀態(tài)可能不是最優(yōu)的。事實上,可以優(yōu)化模型以獲得更準確的結果!
第二種變體:隨機梯度下降
現(xiàn)在開始.隨機梯度下降!這兩種方法之間的根本區(qū)別在于,隨機梯度下降隨機化整個數(shù)據(jù)集并更新每個訓練樣本的權重和參數(shù),而批量梯度下降在分析整個訓練集后更新參數(shù)。進行更新。
不斷更新模型可以提供更高的精度和更快的計算速度。然而,頻繁的變化會產生更多的梯度噪聲,這意味著它在誤差最小區(qū)域(成本函數(shù)最低的點)內來回振蕩。因此,每次運行測試時都會存在一些差異。
好吧,這兩種方法都有一些明顯的優(yōu)點和缺點,那么哪種方法更適合您的機器學習模型呢?這不是一個困難的問題。不是——吧!
第三種變體:小批量梯度下降
現(xiàn)在進入.小批量梯度下降!它基本上結合了批量梯度下降的效率和隨機梯度下降的整體魯棒性。
該方法的工作原理是將數(shù)據(jù)集聚類成更小的批次(通常在30-500個訓練點之間),并且模型對每個批次執(zhí)行迭代。它通過使用高度優(yōu)化的矩陣來提高效率和準確性,有效減少參數(shù)更新的方差。
所有梯度下降變體將使用以下公式進行建模。每次模型反向傳播時都會執(zhí)行此迭代,直到成本函數(shù)達到其收斂點。
權重向量存在于x-y平面上,將每個權重對應的損失函數(shù)的梯度乘以學習率,然后用向量減去乘積。
偏導數(shù)是用來更新參數(shù)0、1和alpha(學習率)的梯度,而alpha是一個非常重要的超參數(shù),需要用戶給出。M表示更新次數(shù),i表示梯度更新的起點。
涉及一些數(shù)學概念1、偏導數(shù)
我們知道,多變量函數(shù)的偏導數(shù)是在保持其他變量不變的情況下對其中一個變量的導數(shù)。但是這個函數(shù)的整個求導過程是怎樣的呢?
首先,讓我們了解偏導數(shù)背后的數(shù)學原理。計算像f(x,y)=x*y這樣的多變量函數(shù)的過程可以分解如下:
嗯,我知道你此時在想什么?!獙?shù)本身就已經非常復雜和無聊了。為什么用偏導數(shù)而不是全導數(shù)!
函數(shù)輸入由多個變量組成,因此涉及的概念是多變量微積分。偏導數(shù)用于評估每個變量在保持不變時相對于其他變量如何變化。
2、梯度
梯度本質上是將多維輸入的一維值輸出到標量值多變量函數(shù)。梯度表示圖形切線的斜率,它指向函數(shù)最大增長率的方向。該導數(shù)表示成本函數(shù)的趨勢或斜率值。
本質上,任何給定函數(shù)f(通常用f表示)的梯度都可以解釋為向量的所有偏導數(shù)的集合。
偏導數(shù)被假定為n個導數(shù),其中n個偏導數(shù)將每個單獨的變量與被視為常數(shù)的其他變量隔離開來。梯度將每個偏導數(shù)組合成一個向量。
3、學習率
梯度決定了運動的方向。學習率將決定我們采取的步驟的大小。學習率本質上是一個超參數(shù),它定義神經網絡中的權重相對于損失的梯度下降調整的程度。
該參數(shù)決定了我們向最佳權重移動的速度,同時最小化每一步的成本函數(shù)。高學習率可以在每一步中覆蓋更多區(qū)域,但可能會跳過成本函數(shù)的最小值;較低的學習率將需要很長時間才能達到成本函數(shù)的最小值。
我以我的小侄子和他對狗的喜愛為例來解釋這兩種情況:
假設我突然給他看了一只白狗,然后告訴他這是一只狗。如果學習率低,他會繼續(xù)認為所有的狗都必須具有黑色特征,而這只白色的狗是一只不正常的狗。
如果學習率很高,Arnav就會相信所有的狗都應該是白色的,任何偏離他的新信念的行為都將被視為錯誤,即使他以前見過25只黑狗。
在理想的學習速率下,Arnav將意識到顏色并不是對狗進行分類的主要屬性,他將繼續(xù)發(fā)現(xiàn)狗的其他特征。理想的學習率無疑是最好的,因為它可以在準確性和時間成本之間找到平衡。
4、成本函數(shù)
成本函數(shù)可以衡量模型的性能。在神經網絡訓練過程中,我們需要保證代價函數(shù)不斷減小,直到達到最小值。
成本函數(shù)本質上是通過平均絕對誤差和均方誤差等回歸指標來量化預測值和期望值之間的總誤差。
5、平均絕對誤差
平均絕對誤差衡量一組預測樣本中平均誤差的大小,而不評估其方向或向量,可以通過以下公式進行建模。
6、均方誤差
均方誤差求預測值與實際值之間平均差的平方。均方誤差的原理與平均絕對誤差MAE基本相同,只不過最終值是平方而不是絕對值。它衡量偏誤差值的不再是坐標系內點之間的距離,而是由測量點之間的距離得出的形狀(通常是正方形)的面積。
7、梯度下降(再次介紹)
讓我們看一下這樣的類比,以進一步理解梯度下降是如何直觀地工作的!
想象一下,你正站在珠穆朗瑪峰的山頂,現(xiàn)在必須完成到達山腳的任務。這聽起來非常簡單和直觀,對吧?
然而,(現(xiàn)在有一個小細節(jié)你需要考慮的是,第——章你完全瞎了)這里有一條小消息,你需要重新考慮第——章你是瞎子。
這無疑使任務變得更加困難,但目標并非完全不可能實現(xiàn)。在開始向更大的斜坡移動之前,您需要先邁出一小步。在到達山腳之前,這種方法需要多次迭代才能最終到達目的地。
這本質上模仿了梯度下降的思想,其中模型向后傳播以最終到達山的最低點。
山脈類似于在空間中繪制的數(shù)據(jù)圖,步行步驟類似于學習率,感受地形的陡峭程度類似于計算數(shù)據(jù)集參數(shù)梯度的算法。
如果假設正確,所選擇的方向將降低成本函數(shù)。山的底部代表機器權重的最佳值(其中成本函數(shù)已最小化)。
8、線性回歸
對于那些不熟悉的變量,回歸分析經常用于所有統(tǒng)計建模學科中,以研究多變量函數(shù)之間的關系以進行預測分析。
表示期望值和實驗值之間誤差的線稱為回歸線,每個殘差值都可以通過將其方差連接到最佳擬合線的垂直線段來追蹤。
下式將x表示為輸入訓練數(shù)據(jù)(參數(shù)為單變量或單輸入變量),y表示數(shù)據(jù)的標簽,假設有監(jiān)督學習。
讓我們通過下面的例子進一步理解這一點。
Elon在salesx擔任兼職營銷總監(jiān)。他收集了過去一年促銷活動的支付金額和銷售額數(shù)據(jù),為今后的銷售和促銷提供一些指導性建議。
Elon認為數(shù)據(jù)應該是線性的,因此他使用散點圖來呈現(xiàn)這些信息。橫坐標和縱坐標分別是新客戶數(shù)量和成本。Elon構建回歸線的目的是更好地理解和預測salesx將通過新的營銷概念獲得多少客戶。
9、多項式回歸
線性回歸是顯示數(shù)據(jù)集中兩個相關變量的結構和趨勢的好方法。然而,考慮到線性函數(shù)的行為,它們不能準確地反映非線性回歸關系,因為某些相關性仍然可以在非線性關系中清楚地顯示出來。
多項式回歸能夠對n次方函數(shù)之間的關系進行建模,并且可以擬合一些誤差函數(shù)值比線性回歸更低的數(shù)據(jù)集。
雖然多項式回歸可以更好地擬合函數(shù)的曲率并最準確地表示兩個變量之間的關系,但它們對異常值極其敏感,很容易使數(shù)據(jù)產生偏差。
編輯/馬志偉
回顧/楊鵬程
點評/孫天明
轉載自:數(shù)學中國
關注公眾號了解更多
申請會員請在公眾號回復“個人會員”或“團體會員”。
歡迎關注中國指揮與控制學會媒體矩陣
中金公司官方網站
中金公司官方微信公眾號
《指揮與控制學報》官網
國際無人系統(tǒng)大會官方網站
中國指揮控制大會官方網站
全國戰(zhàn)爭游戲大賽
全國機載智能游戲大賽
搜狐帳號
一點號返回搜狐查看更多