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