變分法是對已知的微積分進(jìn)行擴(kuò)展,將其應(yīng)用于無限維空間,,特別是函數(shù)空間,。普通的微積分關(guān)注的是一個或多個實變量的函數(shù),而變分法處理的是函數(shù)的函數(shù),,即泛函,。本文的主要目的是證明,只要給出正確的導(dǎo)數(shù)定義,,變分法與普通微積分非常相似,。我將有限維和無限維優(yōu)化問題進(jìn)行比較,并揭示無限維問題可以使用有限維的思想來求解,。我利用這些思想推導(dǎo)出著名的歐拉-拉格朗日方程(Euler-Lagrange equations),。 優(yōu)化(Optimization)優(yōu)化是數(shù)學(xué)、工程學(xué),、計算機(jī)科學(xué)等領(lǐng)域中尋找最佳解決方案的過程,。優(yōu)化的目標(biāo)通常是在給定約束條件下,最大化或最小化某個目標(biāo)函數(shù),。在實際應(yīng)用中,,優(yōu)化問題可以涉及到不同領(lǐng)域的諸多問題,如資源分配,、生產(chǎn)調(diào)度,、投資組合選擇、機(jī)器學(xué)習(xí)模型調(diào)整等,。 最簡單的形式是,,優(yōu)化問題作為一個函數(shù)給出,,我們尋求使這個函數(shù)達(dá)到最小值或最大值的點。 以金融領(lǐng)域的馬科維茨投資組合(Markowitz Portfolio)為例,。假設(shè)我持有兩種風(fēng)險證券,,其收益率方差分別為σ?和σ?。它們的協(xié)方差是c,。我應(yīng)該持有多少比例的每種證券以使投資組合的方差最?。?/p> 假設(shè)投資組合中第一種證券的比例為w,,那么投資第二種證券的比例為(1-w),。給定這些參數(shù),兩個證券投資組合的總方差可以寫成: 要解決這個問題,,我們需要找到一個使這個方差最小化的w,。 方法在上述示例中,問題被建模為一個未知變量的函數(shù),。我們尋求一個值,,使得函數(shù)的值最小。首先,,我們要明確最小值的含義。 最小值的定義:設(shè)??是一個集合,,f:??→?是從這個集合到實數(shù)的函數(shù),。如果在??中的???點,f有一個局部最小值,,那么???的某個鄰域滿足??(??)≥??(???),,對所有??∈??成立。如果對于所有??∈??,,都有??(??)≥??(???),,那么???是全局最小值。 我還沒有定義什么是鄰域,。直觀地說,,鄰域是一個包含接近??點的??的子集。為了判斷點是近還是遠(yuǎn),,我們需要在集合??上定義一些距離度量,。幸運的是,實數(shù)軸以及任何歐幾里得空間都自帶了一種自然的距離度量,。 如果x和y是n維向量空間中的點,,我們可以將它們的坐標(biāo)寫為, x和y之間的距離由它們的差的范數(shù)給出: 微積分定理中的關(guān)鍵結(jié)果是解決優(yōu)化問題的: 定理:必要優(yōu)化條件 設(shè)f:??→?是一個連續(xù)可微函數(shù),。如果??在???處有一個局部最小值,,那么???(???)=0,。 逆命題并非總是成立,但如果??有二階導(dǎo)數(shù),,那么有一個更強(qiáng)的條件來保證最小值,。 當(dāng)且僅當(dāng)???(???)=0且?2??(???)≥0時,??在???處有一個局部最小值,。 注意,,???表示向量 在一維情況下,這就是我們熟知的導(dǎo)數(shù)????/????,。下圖展示了一個函數(shù)的導(dǎo)數(shù)為0的點,。 這個性質(zhì)表明了一種尋找最小值的簡單算法:找到函數(shù)導(dǎo)數(shù)為0的所有點。如果有多個,,計算函數(shù)在每個點的值,,并選擇最小值。 利用這個算法,,我們現(xiàn)在可以解決方差最小化問題: 取方差V關(guān)于w的導(dǎo)數(shù),,得到 我們將這個表達(dá)式設(shè)為0,求解w,,得到最小方差投資組合的解: 局限性我們有一個在多維度上計算最優(yōu)性的強(qiáng)大工具,。然而,到目前為止,,還有一些問題無法解決,。考慮以下問題: 我在兩點??1和??2之間畫出一個函數(shù)??(??):?→?的圖像,。然后我將圖像繞??軸旋轉(zhuǎn),,形成一個表面。這樣描述的旋轉(zhuǎn)表面的面積由下式給出: 下面是一個旋轉(zhuǎn)表面的示例 我們感興趣的是在兩個固定點之間找到一個函數(shù),,使得旋轉(zhuǎn)表面的面積最小,。到目前為止,我們討論的方法無法解決這個問題,,因為我們尋找的不僅僅是一個數(shù),,而是整個函數(shù)。 導(dǎo)數(shù)上述問題需要優(yōu)化一個函數(shù)的函數(shù),。這樣的函數(shù)通常被稱為泛函(Functional),。我們可以將泛函視為一個函數(shù)F:V→?,其中V是函數(shù)空間,。與我們之前處理的域??:??→?具有有限維數(shù)的情況不同,,這個新的函數(shù)空間具有潛在的無限維數(shù)。 我們可以在無限維空間中求導(dǎo)數(shù)嗎? 首先要做的是仔細(xì)研究導(dǎo)數(shù)的定義,,并了解如何將其擴(kuò)展,。在微積分課程中,點??處的導(dǎo)數(shù)通常定義為 即使在這個簡單的一維定義中,,我們也必須小心,,因為如果從左側(cè)(h負(fù))或右側(cè)(h正)接近0,可能會得到不同的結(jié)果,。 定義:變分導(dǎo)數(shù) 設(shè)??:??→?是一個定義在向量空間V(可能是無限維)上的實值函數(shù),。??在??處沿?方向的變分導(dǎo)數(shù)定義為 其中??是一個正實數(shù)。 注意,,這個導(dǎo)數(shù)通常取決于方向向量?,。如果在計算導(dǎo)數(shù)時發(fā)現(xiàn)它與?無關(guān),那么這是一個好兆頭,,因為它意味著導(dǎo)數(shù)可能在每個方向上都有良好的定義,。 歐拉-拉格朗日方程給定一個未知函數(shù)x及其導(dǎo)數(shù)的已知泛函L,找到使以下積分最小化的函數(shù)x: 這是一個無限維空間中的優(yōu)化問題,。事實證明,,情況與有限維情況類似,需要尋找I的導(dǎo)數(shù)等于0的地方,。 ??是變量??和??及其導(dǎo)數(shù)的函數(shù),。 ??(??,??˙)可以被視為兩個變量??(??,??)的函數(shù)。這樣的函數(shù)??在點(??+????′,??+????′)的泰勒展開式為 其中e是一個很小的數(shù),。我可以將上式寫為 計算導(dǎo)數(shù) 現(xiàn)在,,使用變分導(dǎo)數(shù)的定義 首先,我計算??(??+???)???(??),,其中??是一個很小的數(shù),,?是一個任意函數(shù),。然而,,它并不是完全任意的。h必須使端點???和???處的值保持不變,。換句話說,,必須有f(x?)+h(t?)=f(x?),從而得到h(t?)=0,。同樣的道理也適用于t?,。下面的圖片說明了這一點。 因此,,我們得到: 現(xiàn)在我可以使用泰勒展開來得到 注意,,O(e2)項可以忽略不計。現(xiàn)在我關(guān)心的是括號中的第二項,。使用微積分中的萊布尼茲規(guī)則: 得到了第二項的表達(dá)式: 兩邊積分: 正如我們討論過的,,h必須使端點保持固定,,這意味著h(t?)=h(t?)=0。因此,,上述積分的值為0,。 這是剩下的部分 取極限消除了O(e)項。為了找到最優(yōu)值,,我令導(dǎo)數(shù)為0,。 但由于?是一個(幾乎)任意的函數(shù),唯一使這成立的方式是對于每個?,,積分項恒等于0,。 歐拉-拉格朗日方程 應(yīng)用:旋轉(zhuǎn)曲面 讓我們回到之前遇到的問題。我們想要找到兩點之間的旋轉(zhuǎn)曲面,,使得其面積最?。?/p> 我們現(xiàn)在可以通過使用歐拉-拉格朗日方程來解決這個問題。通過觀察,,可以看到在這種情況下 由于x(t)沒有出現(xiàn)在表達(dá)式中,,所以關(guān)于x的導(dǎo)數(shù)為0。然而: 所以歐拉-拉格朗日方程給出: 重新整理得到 這種類型的曲線被稱為懸鏈線,,由此產(chǎn)生的旋轉(zhuǎn)曲面被稱為懸鏈面,。 |
|
來自: 老胡說科學(xué) > 《待分類》