★加星zzllrr小樂(lè)公眾號(hào)數(shù)學(xué)科普不迷路!
登山者霧中尋路想要最快抵達(dá)峽谷,有哪些數(shù)學(xué)優(yōu)化方法呢?傳統(tǒng)梯度下降法沿最陡方向迭代,易繞遠(yuǎn)路;而牛頓法等二階優(yōu)化策略通過(guò)構(gòu)建局部二次模型(如橢圓蛋杯),利用導(dǎo)數(shù)信息預(yù)測(cè)最優(yōu)路徑,在高維空間中規(guī)避狹長(zhǎng)山谷陷阱,以更少步驟逼近極值點(diǎn),但需處理復(fù)雜地形(如香蕉形山谷)帶來(lái)的收斂挑戰(zhàn)。
作者:Christoph P?ppe(科學(xué)光譜編輯、科普作家)2025-4-16
譯者:zzllrr小樂(lè)(數(shù)學(xué)科普公眾號(hào))2025-4-21
想象一下在阿爾卑斯山徒步旅行時(shí)被霧氣所震驚。能見(jiàn)度只有幾米,你不知道路在何方,而且無(wú)法使用GPS等其他定位手段。由于你不記得自己的位置,因此徒步地圖對(duì)你沒(méi)有太大幫助。
不用說(shuō),無(wú)論哪個(gè)山谷,你都想在天黑之前盡快到達(dá),因?yàn)樵谀抢锬阋欢苷业竭^(guò)夜的地方,甚至找到一份奶酪面疙瘩,或者任何你心儀的東西。
該怎么辦?這看起來(lái)比較清楚。你環(huán)顧四周,朝最陡的下降方向走幾步,再次環(huán)顧四周——從新的有利位置你可以看到更多的地形——然后再次選擇最陡的下降方向,依此類推。
在真正的阿爾卑斯山中,這個(gè)方法在大多數(shù)情況下都是有效的。最好的情況是,它會(huì)因?yàn)榈貏?shì)較高的山谷洼地而失敗,洼地中可能填滿了一個(gè)沒(méi)有出口的湖泊——這種情況在阿爾卑斯山相當(dāng)罕見(jiàn)。
或者你遇到了一堵垂直的墻,下一步你就要走很遠(yuǎn),但你在徒步過(guò)程中生存下來(lái)的次要條件卻沒(méi)有得到滿足。
當(dāng)你到達(dá)目的地時(shí),你才意識(shí)到自己走了很長(zhǎng)的彎路。徒步旅行的終點(diǎn)是一條小河的河口,這條小河在山上開(kāi)出一條相當(dāng)筆直的峽谷。
當(dāng)霧氣來(lái)臨時(shí),你就在這個(gè)狹窄山谷的斜坡上,先沿著陡峭的山坡走到河邊,然后沿著河道走。有了正確的鳥(niǎo)瞰圖,你就可以以適中的角度逐漸走下坡路,從而節(jié)省大量的步行時(shí)間。
好的。當(dāng)然,我在這個(gè)數(shù)學(xué)博客里并不是真正寫(xiě)有關(guān)登山的事情。但這對(duì)于理解我們想象力難以觸及的抽象問(wèn)題來(lái)說(shuō)是一個(gè)合適的拐杖。
用數(shù)學(xué)模型模擬的徒步旅行
用數(shù)學(xué)來(lái)實(shí)現(xiàn)登山者問(wèn)題并不是特別困難。經(jīng)度和緯度是合適的坐標(biāo)系。有一個(gè)函數(shù),我們稱之為f(x),它給出每個(gè)點(diǎn)x的海拔高度。(注意:x由兩個(gè)實(shí)數(shù)組成,一個(gè)表示地理經(jīng)度,另一個(gè)表示緯度。)我們正在尋找f(x)最小的點(diǎn)。
歸根結(jié)底,x由n個(gè)分量組成,并且n遠(yuǎn)大于2:需要盡可能多的數(shù)量才能完整描述要建模的物理或化學(xué)系統(tǒng)。然后,函數(shù)f描述了人們希望盡可能小的事物:制造產(chǎn)品所需的工作量、機(jī)器的重量、過(guò)程產(chǎn)生的廢物量或預(yù)測(cè)與現(xiàn)實(shí)之間的偏差。或者你希望f盡可能大,這是相同的問(wèn)題,只是符號(hào)相反。
一位知識(shí)淵博的徒步旅行者會(huì)將目光掃過(guò)地圖,毫不費(fèi)力地找到地形的最低點(diǎn)。我們的函數(shù)f也為我們提供了有關(guān)地形的完整知識(shí)——但不是以地圖的形式!
除了地圖必須具有n維這一事實(shí)之外,函數(shù)f并不能為我們提供鷹一樣的鳥(niǎo)瞰。取而代之的是,它只告訴我們呈現(xiàn)的每個(gè)點(diǎn)x有多高。
通過(guò)計(jì)算域中密集點(diǎn)(例如每個(gè)坐標(biāo)軸上的100個(gè)點(diǎn))的函數(shù)值來(lái)制作地圖通常不是一個(gè)好主意。計(jì)算函數(shù)值可能需要計(jì)算機(jī)花費(fèi)相當(dāng)長(zhǎng)的時(shí)間,并且即使對(duì)于中等大小的n來(lái)說(shuō),100?個(gè)點(diǎn)也是很多的。
但也許我們的函數(shù)f是可微的,所以它在每個(gè)點(diǎn)都有一個(gè)導(dǎo)數(shù);在多維情況下,它被稱為梯度。地勢(shì)略有起伏;沒(méi)有尖銳的邊緣,而是每個(gè)點(diǎn)都有一個(gè)切平面,它可以非常精確地描述該點(diǎn)附近的地形,還可以準(zhǔn)確地顯示最陡下降發(fā)生的方向。
如果你站在碎石場(chǎng)上,這張照片可能不太合適,但它仍然可以作為對(duì)當(dāng)時(shí)情況的有用近似。然而,f的梯度僅提供了有關(guān)周圍環(huán)境的有用信息;所以你實(shí)際上是站在霧中??梢?jiàn)度如何?對(duì)此,尚無(wú)普遍的說(shuō)法。
這就是分析的棘手之處:通過(guò)區(qū)分獲得的信息到底有多大用處,只有在回顧時(shí)才會(huì)變得清晰。
如何找到極值點(diǎn)?
在很多應(yīng)用問(wèn)題中,目標(biāo)函數(shù)f確實(shí)是可微的。學(xué)校里有一種方法:至少滿足導(dǎo)數(shù)為零。(相反,如果導(dǎo)數(shù)為零,則仍然可能沒(méi)有最小值;這必須單獨(dú)檢查。但這種復(fù)雜性與我們這里的場(chǎng)景無(wú)關(guān)。)然后我們只需尋找導(dǎo)數(shù)的零點(diǎn)。這相當(dāng)于求解一個(gè)包含n個(gè)未知數(shù)的n個(gè)方程組。
根據(jù)問(wèn)題的具體情況,這可能會(huì)變得相當(dāng)令人困惑。但如果梯度本身是一個(gè)可微函數(shù),那么就可以用牛頓法找到它的零點(diǎn)。反過(guò)來(lái),這是基于這樣的思想:曲線函數(shù)可以用直線來(lái)近似,即當(dāng)前視點(diǎn)中的切線,或其在n維情況下的推廣。
然后計(jì)算切線的零點(diǎn)——這很容易,因?yàn)榍芯€和梯度一樣,是一條直線——并希望近似值的零點(diǎn)是零點(diǎn)的近似值,即以這種方式計(jì)算出的點(diǎn)離你實(shí)際尋找的函數(shù)的零點(diǎn)不太遠(yuǎn)。你以此作為新的視點(diǎn),計(jì)算那里的切線零點(diǎn),等等。
如果當(dāng)前位置距離搜索目標(biāo)不太遠(yuǎn),牛頓法就會(huì)以驚人的速度找到這個(gè)目標(biāo)。如果該地點(diǎn)附近的情況與目的地附近的情況有顯著差異,例如,如果獨(dú)自徒步旅行者和目的地之間有山脊,那么該程序可能會(huì)產(chǎn)生嚴(yán)重的誤導(dǎo)。這就是為什么最好以較短的步幅開(kāi)始,并且只有看到目的地時(shí)才松開(kāi)步伐。
通用蛋杯
為了解決原始問(wèn)題,需要將兩個(gè)不同的原理疊加在一起:一是通過(guò)尋找導(dǎo)數(shù)的零點(diǎn)來(lái)尋求目標(biāo)函數(shù)的最小值。二是我們嘗試借助導(dǎo)數(shù)的導(dǎo)數(shù)來(lái)接近這個(gè)零點(diǎn)。這兩個(gè)思維步驟可以合并為一個(gè)嗎?
原則上是的。從某個(gè)維度來(lái)看,這是比較清楚的。一次函數(shù)的零點(diǎn)與二次函數(shù)的最小值點(diǎn)相同,即開(kāi)口向上的拋物線的最低點(diǎn)。在二維中,拋物線對(duì)應(yīng)于廣義的蛋杯:繞其對(duì)稱軸旋轉(zhuǎn)的拋物線——頂部開(kāi)口,每個(gè)水平橫截面都是圓形。
但這太具體了。一般情況下,蛋杯都變形了。橫截面不是圓形,而是橢圓形,并且可能非常窄,甚至與坐標(biāo)軸傾斜。而更高維度、甚至更加復(fù)雜變形的蛋杯更是無(wú)法想象。
無(wú)論如何,所描述的最小值搜索相當(dāng)于以下步驟:將廣義的蛋杯放置在最適合該位置附近地形的當(dāng)前位置。然后跳到蛋杯的最低點(diǎn)并從那里繼續(xù)搜索。如果比較困難,可以先處理縮小的蛋杯,直到快結(jié)束時(shí)再讓它們恢復(fù)到原來(lái)的大小。
下圖清楚地表明了該方法避免了登山者繞路。如果他站在一個(gè)橢圓形橫截面的隕石坑邊緣,不會(huì)跑到最陡峭的地方,而是斜著跳,直接跳到橢圓的中心。從多個(gè)方面來(lái)看,節(jié)省的路程都是巨大的。
這不是圓盤(pán)的斜視圖,而是從上方看到的具有橢圓形橫截面的隕石坑的視圖。橢圓是等高線。從隕石坑邊緣的視角(藍(lán)色)來(lái)看,到達(dá)最低點(diǎn)的最短路線不是沿著最陡的下降方向(紅色),而是沿著對(duì)角線方向(綠色)。
因此,狹長(zhǎng)的山谷不會(huì)對(duì)這一過(guò)程產(chǎn)生太大的影響。當(dāng)山谷呈香蕉形時(shí),事情就變得非常困難:狹長(zhǎng)而彎曲。然后,一個(gè)未經(jīng)檢查的過(guò)程有時(shí)會(huì)急劇上升,并且很難走出錯(cuò)誤的角落。優(yōu)化方法的設(shè)計(jì)者隨后在這些“香蕉形山谷”上測(cè)試他們的技能。
參考資料
https://scilogs.spektrum.de/hlf/bergwandern-in-n-dimensionen/
http://www.poeppe-online.de
科普薦書(shū)
【更多讀者好評(píng)數(shù)學(xué)書(shū)單推薦、數(shù)學(xué)科普作家自薦、出版社書(shū)單推薦通道已陸續(xù)打開(kāi),敬請(qǐng)期待】
·開(kāi)放 · 友好 · 多元 · 普適 · 守拙·
讓數(shù)學(xué)
更加
易學(xué)易練
易教易研
易賞易玩
易見(jiàn)易得
易傳易及
歡迎評(píng)論、點(diǎn)贊、在看、在聽(tīng)
收藏、分享、轉(zhuǎn)載、投稿
查看原始文章出處
點(diǎn)擊zzllrr小樂(lè)
公眾號(hào)主頁(yè)
加星★
數(shù)學(xué)科普不迷路!
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.