歐拉-拉格朗日方程(Euler -Lagrange equation) 為變分法中的一條重要方程。它提供了求泛函的平穩值的一個方法,其最初的想法是初等微積分理論中的「可導的極值點一定是穩定點(臨界點)」。當能量泛函包含微分時,用變分方法推導其證明過程,簡單地說,假設當前的函數(即真實解)已知,那麼這個解必然使能量泛函取全局最小值。
泛函我們很清楚函數的概念,它大致是,將一個自變量扔到一個黑盒裡,經過黑盒的暗箱操作,最終得到了一個因變量:
泛函數是將一個函數作為自變量,經過黑盒,最終得到一個實數的因變量:
可以說,泛函就是函數的函數,是更廣泛意義上的函數。
歐拉-拉格朗日方程最速降線有一種泛函稱為簡單泛函,它的長相是這樣:
其中L是一個確定的函數,之所以叫簡單泛函,是因為只傳遞了三個參數,複雜一點的話還可以繼續傳遞f的高階導數。現在的問題是,如果A處於極值點,它對應的f(x)是什麼?
這實際上是求一個具體函數,使得泛函能夠取得極值。一個典型的例子是最速降線問題:從所有連接不在同一鉛垂線上的定點A、B的曲線中找出一條曲線,使得初始速度為0的質點,受重力作用,由A沿著曲線滑下時以最短的時間到達B:
這裡我們將曲線看作路徑f關於時間t的函數:
ΔSi是在極短時間Δti內沿著曲線移動的微小弧長,此時的瞬時速度是ΔVi,距離=速度×時間:
重力加速的推論,在t時間處的速度v2 = 2gh:
質點從A點到B點的總時間:
根據弧長公式,可以將dS化簡,進一步寫成(關於弧長公式,可參考:《數學筆記25——弧長和曲面面積》):
把結論和簡單泛函做個對比,可以看到二者形式相吻合:
最右側的式子並沒有嚴格映射到L(x,f(x),f』(x)),因為在函數中並沒有直接使用到參數t,這無所謂了,可以理解成雖然傳遞了參數t,但實際上t並沒有起任何作用,就像y (x) = 1一樣,無論傳遞任何x,最終結果都是1,但它仍然是一個y關於x的函數。現在回到最初的問題,AB間有無數條曲線,每條曲線都可以求得時間T[f],在眾多的曲線中,有一條唯一的曲線能夠使得T[f]取得最小值,這個f(x)應該長成什麼樣?
EL方程的推導這裡暫且耍一下流氓,拋開具體的速降問題,只看A[f],並且假設f0(x)就是符合條件的最優函數。現在,將f0(x) + k(x)定義為是有別於最優曲線f0(x)的其它函數,其中k(x)可以是任意函數。如果如下定義f(x, k):
因為f0(x)是最優函數,此時A[f0]有最小值,則一定有:
由於任意函數k(x)不好定義,為了能夠使k(x)任意小,令:
η是任意函數,當ε取極小值時,可以看作是對f0(x)的輕微擾動;還需要額外定義的是,在端點處是不能擾動的,即εη(A) = εη(B) = 0,這對於任意ε都適用,所以η(A) = η(B) = 0。注意ε是對f0(x)的擾動程度,εη(x)是擾動後的增量,εη(x) = 0說明擾動為0,也就是無擾動,f(x) + εη(x)才是擾動後的函數。
由於假設f0(x)是最優函數,所以可以將f0(x)看作已經確定的函數,如果再將任意函數η(x)看作一個確定的函數,那麼A可以看成ε的函數,若A』 = 0,函數存在極值,這已經變成了極值點的求解:
根據鏈式法則(可參考《多變量微積分筆記4——全微分與鏈式法則》):
根據分部積分(可參考《單變量微積分筆記24——分部積分》):
η(x) = 0說明對f0(x)無擾動時,A能取得極值,但它對f0的具體形式無任何幫助;因此最優函數f0(x)的具體形式由第一個解確定:
這就是歐拉-拉格朗日方程(Euler-Lagrage equation),可以幫助我們求解泛函下的極值,這裡L是已知的。它的最初的思想來源於微積分中「可導的極值點一定是穩定點(臨界點)」。它的思想在於:假定當前泛函的解已知,那麼這個解必然使得泛函取得最小值(假定是最小值)。換言之,只要在泛函中加入任何擾動,都會使泛函的值變大,所以擾動為0的時候,就是泛函關於擾動的一個極小值。擾動用一個很小的數ε乘上一個連續函數η(x)。當ε趨近於0,意味著擾動也趨近於0。所以當擾動為0時,泛函對擾動程度的導數也為0。這就非常巧妙的把對函數求導的問題轉化成了一個單變量求導問題。
需要注意的是,歐拉-拉格朗日方程的前提條件是端點不會擾動,也就是說需要固定兩個端點。
最速降線的解有了歐拉-拉格朗日方程,終於可以計算最速降線的最優解:
其中f = f(t)。由於:
將①代入:
現在,使用參數方程:
之所以令f』 = cot(θ/2),是因為在θ的定義域[0, 2π]上,f』可以取任意值:
y = cot(x/2), 0 ≤ x ≤ 2π
上式最終將f(t)轉換為關於θ的函數,對上式直接求導:
通過參數方程f = f(t),t = t(θ),f』 = cot(θ/2) 求導:
最終的曲線用參數方程表示:
這正是擺線的參數方程。本節三角替換、參數方程、擺線的相關知識可參考:《線性代數筆記6——直線和曲線的參數方程》和《單變量微積分筆記20——三角替換1(sin和cos)》
大概古人就理解了最速降線,所以中國古建築的屋頂的斜坡並不是直線,這樣可以加快雨水的流動(不知道對不對,也有可能僅僅為了美觀):
兩點間的最短路徑
初中幾何中給出這樣一個公理:兩點間直線距離最短。記得當時老師的解釋是,公理是大家公認的,不需要證明。這對初中來說沒錯,但公理實際上也是可以證明的。
這可以使用反證法證明,但是在這裡,我們想使用解析的方式證明。
AB兩點間的曲線有無數條,需要取其中最短的一條。令曲線的函數是y = y(x),那麼根據弧長公式(可參考《單變量微積分筆記25——弧長和曲面面積》),曲線的長度可表示為:
這有點像歐拉-拉格朗日方程的泛函了:
現在將弧長和歐拉-拉格朗日方程對應:
由於L中僅用到了y』,並沒有用到y,所以L關於y的偏導等於0:
y = ax + b正是直線方程,所以AB間最短的距離是直線。可以看出,初等數學為高等數學的推導提供了依據,高等數學反過來又能證明初等數學。
本文是《機器學習中的數學》中的原稿