| 在數(shù)學(xué)分析教科書中,以拉格朗日乘子(約束函數(shù)和問題函數(shù)等高線的切點(diǎn)處的斜率)為線索,構(gòu)造了拉格朗日函數(shù)。在機(jī)器學(xué)習(xí)算法SVM中,也同樣把SVM基本型轉(zhuǎn)換為拉格朗日函數(shù)的方式加以求解。小白近日思索,拉格朗日函數(shù)本質(zhì)是對現(xiàn)實(shí)世界中,人的決策行為的一種巧妙的數(shù)學(xué)模擬,把待決策的問題和解決問題的前提和約束統(tǒng)一起來建立模型,并且拉格朗日函數(shù)內(nèi)部隱含了待決策問題和約束對偶關(guān)系的本質(zhì)。下面小白一一道來。 第二十九篇 拉格朗日對偶模型的臆想來源于生活在日常生活中,人的行為通??梢悦枋鰹?,在一定條件約束下,達(dá)成目標(biāo)(解決問題)。人們需要更好的達(dá)成目標(biāo),因此,面臨抉擇(決策)。不同的決策,效果不同。因此,需要找到一種方法,能夠在一定的約束下,找到如何達(dá)到最優(yōu)的效果的方法。 舉個例子,'A擁有一家工廠,他現(xiàn)在有兩種獲利途徑,一是自己經(jīng)營,賣出產(chǎn)品獲得利潤;二是,出租收取租金'。 思考這個問題,第一個途徑,A需要考慮,如何優(yōu)化組合自己工廠的資源(資源是有限的),生產(chǎn)更多產(chǎn)品,最大化利潤。第二個途徑,出租自己工廠,租金必須至少大于途徑一之利潤所得(注:這本質(zhì)是經(jīng)濟(jì)學(xué)中的成本思維,即,一個選擇的成本,就是放棄另一選擇的代價)。 再思考這個問題,若自己經(jīng)營,利潤所得必須至少大于市場出租價格,才是最優(yōu)。而,如果出租,租金需高于經(jīng)營所得才物有所值。因此,如何搭配組合工廠資源進(jìn)而利潤最大化和如何對工廠資源進(jìn)行租金定價,在數(shù)學(xué)上我們稱為一對'對偶問題'。 再思考,上述對偶問題的輸入是共同的,即工廠的資源。而輸出不同,前者是經(jīng)營所生產(chǎn)所得之利潤,后者為出租所得之租金。在數(shù)學(xué)上,我們可以用'Z=f(X)'表示經(jīng)營生產(chǎn)的過程,其中,X表示工廠的資源,Z表示所得利潤。用'R=Q(X)'表示出租的過程,R表示獲得的租金,X表示工廠的資源。 再思考,現(xiàn)在對于問題一(途徑一),A需要考慮如何組合工廠資源進(jìn)行經(jīng)營。那么,此時出租就變成了對經(jīng)營生產(chǎn)的約束。這個約束的表現(xiàn),我們可理解為,一個特定租金水平會對應(yīng)的資源,有多個不同資源的組合方式;在這些不同組合方式下,A進(jìn)行經(jīng)營生產(chǎn),試圖利潤最大化;對于問題二(途徑二),A需要考慮如何決策自己租金水平。那么,此時經(jīng)營生產(chǎn)就變成了對出租行為的約束。這個約束的表現(xiàn),我們可理解為,對于一個特定的利潤水平,可以通過多個不同的資源組合經(jīng)營所得,那么,我們需要找其中一組能夠租金最大化的資源組合進(jìn)行出租。因此,小白體會,問題和約束互為對偶,即f(X)和Q(X)互為對偶。 圖1 有了如上小白的臆想后,再次列出教科書中描述拉格朗日函數(shù)的描述,如圖1。我們可以理解,函數(shù)f(x,y)和條件C:的函數(shù)如果來源于現(xiàn)實(shí)世界的對偶問題的話。那么,其實(shí)我們也可以理解為,對于現(xiàn)實(shí)世界中,如上的對偶問題,我們在數(shù)學(xué)中,把問題抽象為函數(shù),把對偶問題抽象為條件。 總結(jié)下體會 現(xiàn)實(shí)世界中,我們時常面臨多個選擇,一旦我們決策了一個選擇,我們就會執(zhí)行這個選擇,這個選擇就變成一個問題,而如何執(zhí)行選擇就變成了我們?nèi)绾谓鉀Q問題。我們有多種解決問題的方式,但得到結(jié)果不同。數(shù)學(xué)中,問題被抽象為函數(shù),不同的結(jié)果就是問題的解。而我們?nèi)绾谓鉀Q問題,其實(shí)就是我們?nèi)绾握业阶顑?yōu)的解。而這時,我們執(zhí)行的當(dāng)前的選擇所關(guān)聯(lián)的被放棄的其他的選擇,是當(dāng)前我們在執(zhí)行選擇的'對偶選擇'或'對偶問題'。 對于'對偶問題',我們選擇了放棄解決。但其實(shí),我們之所以放棄,是因?yàn)槲覀冊陬^腦中已經(jīng)模擬解決了它,并且我們得到一個解。這個解可能是一個確定的,也可能是一個解的范圍。并且,我們模擬解決之后所產(chǎn)生的'對應(yīng)這個解的資源組合',就變成了當(dāng)前我們現(xiàn)實(shí)中選擇去解決的問題的約束。 比如:一個學(xué)生是選擇考研呢,還是選擇工作。假如,選擇了工作。其實(shí),他在頭腦里已經(jīng)模擬了選擇考研所投入的資源,比如:3年的時間,學(xué)費(fèi)。那么,這些時間,和學(xué)費(fèi),將成為他當(dāng)前選擇工作的約束。具體是,他需要考慮,把3年的時間以及學(xué)費(fèi)等資源進(jìn)行如何的組合,并投入到工作中,才能得到更好的結(jié)果,這個結(jié)果應(yīng)該是比考研更令他滿意的。 拉格朗日對偶模型的初步構(gòu)建0X(x,y)對偶問題 的解0=Q(x,y)對偶問題即對偶函數(shù)Q(x,y)也是約束函數(shù)資源投入組合即 函數(shù)自變量 變化范圍即 (x,y)滿足約束 C:0=Q(x,y)問題即f(x,y)問題 的解即Z= f(x,y)的極值 圖2 圖3 根據(jù)上面小節(jié)的描述,我們在坐標(biāo)系中構(gòu)建出如上的示意圖,圖2。同時,我們再列出拉格朗日函數(shù),圖3。通過對比,小白心中有兩點(diǎn)疑惑: 一是,拉格朗日函數(shù)為什么把'f(x,y)'和'Q(x,y)'進(jìn)行相'加'得到了'L'。這個'加'背后含義是什么?。 二是,在相加的時候引入一個新的變量(拉格朗日乘子),作為'Q(x,y)'的系數(shù),這個系數(shù)的含義是什么? 帶著這兩點(diǎn)疑惑,我們把圖2結(jié)合拉格朗日函數(shù)再改造一下,如下圖3。 圖3 由于約束函數(shù)的解是0,因此,拉格朗日L的解既是問題函數(shù)f的解,因此,相加('+')的疑惑是容易理解的。 再思考,我們目標(biāo)是找到一個f的最優(yōu)解,也即是找到L的最優(yōu)解。我們知道L的解固然和X(x,y)有關(guān)系,關(guān)系是f。那么,L的解和約束C:Q()的關(guān)系如何體現(xiàn)的?即我們需要找到一個變量,用這個變量表達(dá)Q()對L的解的影響。下面,借助小白上篇文章《對矩陣的線性臆想》來思考這個問題。 問題函數(shù)是一個映射,假如其是線性映射,因此,我們可以認(rèn)為其是一個線性變換矩陣'B',不妨稱其為問題矩陣。而資源的組合我們可以看成是向量'X',因此,f(X)可看成BX,即問題矩陣和資源向量的乘積。那么,假如f的解由m變?yōu)閚,相當(dāng)于BX乘以'n/m'(即n=m*(n/m)) 。因此,我們得到一種理解,我們在尋找f的解的過程,就是用不同'數(shù)(n/m)'和BX乘積的過程。 再來思考,問題矩陣B左乘資源向量X(x,y),相當(dāng)于在B的線性空間里來觀察X。而,我們知道線性矩陣有兩個特征,一個是伸縮特征,即特征值,還有一個旋轉(zhuǎn)特征,即特征向量。因此,用一個數(shù)(標(biāo)量)和BX的乘積,相當(dāng)于對B的伸縮特征進(jìn)行縮放。但是,我們知道問題函數(shù)映射原則沒有變,即B不會變。所以這個標(biāo)量我們可以看作是資源向量X在各維度上等比例的膨脹。但是此時我們應(yīng)得到了一種理解:問題的解的變化,可以看作是問題映射矩陣伸縮特征的變化,也可看作資源向量在維度上等比例的縮放,兩者是對等的。 再來思考剛才我們提出的問題,L的解和約束Q(X)的關(guān)系如何體現(xiàn)?那么現(xiàn)在,前方答案的輪廓似乎清晰了一些。那就是,Q(X)對L的解的影響,可以看作是Q(X)對資源向量X等比例變化的影響。而此時,假如,我們把Q也看作是線性矩陣,那么,這種影響也可以對等的看作約束矩陣的伸縮。因此,我們此時得到一種理解,約束函數(shù)如果看作線性變化的時候,那么,約束對L的影響,可以看作約束線性變換矩陣(約束函數(shù))的伸縮。這個伸縮,就是拉格朗日乘子。 拉格朗日乘子臆想的否定回頭看剛才的臆想推導(dǎo)過程,關(guān)鍵問題在于理解拉格朗日乘子在拉格朗日函數(shù)中的含義。結(jié)論是,拉格朗日乘子體現(xiàn)了,約束函數(shù)(即對偶函數(shù)) 對問題解的影響。但,似乎小白剛才過程似乎繞了遠(yuǎn)路,而且似乎有一點(diǎn)不準(zhǔn)確。 所謂'繞了遠(yuǎn)路',其實(shí)小白應(yīng)該直接從約束函數(shù)通過對資源向量的約束,進(jìn)而影響問題的解著手,則更有效率。但剛才的'遠(yuǎn)路',至少使小白體會到,如果從線性約束,線性問題的角度上看,拉格朗日很容易理解。 而所謂'有一點(diǎn)不準(zhǔn)確',是因?yàn)?,在上述過程中,是在假設(shè)問題函數(shù)和對偶函數(shù)都為線性變換的前提下,借助X的等比例變化來臆想推導(dǎo)。而小白此刻思考,既然分析約束函數(shù)對L的影響,即約束函數(shù)對資源向量X的影響,應(yīng)該在X不變的前提下(讀者可以體會,此處的'不變',就是把問題函數(shù)看作約束,不變意為特定的約束,比如'f(X)=0'對應(yīng)的一個特性的'不變'的X約束空間),分析約束函數(shù)的影響(讀者可以體會,把約束看作問題,就是在分析對偶問題)。 否定之后的分析 再來回顧下,前面小白關(guān)于拉格朗日乘子文章,拉格朗日乘子本質(zhì)是約束函數(shù)和問題函數(shù)等高線切點(diǎn)的斜率,如圖4。結(jié)合對應(yīng)今日小白上述關(guān)于對偶模型的理解,某一個特定的登高線就是對偶問題(讀者可以體會,此處對偶問題指的是約束函數(shù))的約束。因此,針對特性的登高線(即特定的約束),對偶問題對解的影響在于對偶問題的等高線(下圖的曲線) 和特性的約束登高線(閉環(huán)線)相切。因此,對于切點(diǎn)的斜率,即為對偶問題對解的影響。 圖4 此刻,我們應(yīng)該產(chǎn)生兩點(diǎn)理解,如本節(jié)描述,若假設(shè)對偶問題為線性函數(shù)的話,拉格朗日乘子可理解為對應(yīng)線性空間的伸縮;若拋開線性函數(shù)的假設(shè),拉格朗日乘子可理解為切點(diǎn)的斜率。 拉格朗日對偶模型的進(jìn)一步臆想如下圖,拉格朗日函數(shù)中的問題函數(shù)和約束函數(shù)是對偶的,約束函數(shù)可以稱之為對偶問題。對應(yīng)一個特定問題解的自變量的集合(資源向量X集合)可看作是對偶問題的約束,這種約束體現(xiàn)在:對偶問題隨著解(對偶問題的解)變化,解對應(yīng)的自變量空間在變化,這個變化體形象的理解為對偶問題對應(yīng)的登高線的移動(假如登高線是閉環(huán),可以形象的看到閉環(huán)的伸縮),而這個移動是有邊界的,這個邊界(邊界指的是'對應(yīng)一個特定問題解的自變量的集合')就是約束的體現(xiàn)。 0x對偶問題約束下資源向量空間X(x,y)的集合(對偶問題解變化對應(yīng)的資源向量的集合)問題解變化對應(yīng)的資源向量X(x,y)的集合(特性問題約束下的資源向量集合)yZX(x,y)切點(diǎn)就是最優(yōu)解 小白此處又臆想到一點(diǎn)理解,上面章節(jié)中,把拉格朗日乘子理解為約束線性空間的伸縮是不準(zhǔn)確的,但小白臆想到此處,應(yīng)該否定之否定。其實(shí)線性約束空間的伸縮等同于拉格朗日乘子,因?yàn)椋€性空間的伸縮,空間邊界的斜率不變(沒有旋轉(zhuǎn),特征向量方向不變),但是點(diǎn)到線性函數(shù)的函數(shù)距離變化了(線性空間下點(diǎn)的度量變化了)。那么,約束等高線和函數(shù)的距離也變化了,這種變化可形象化的體現(xiàn)為線性超面的平移和延伸。而如果約束空間是非線性的(彎曲的),那么,非線性空間的膨脹,導(dǎo)致切點(diǎn)的變化,對于非線性空間,切點(diǎn)的變化,通常斜率會發(fā)生變化。 因此,小白理解:拉格朗日乘子的其本質(zhì)在于描述對偶問題所關(guān)聯(lián)的對偶函數(shù)空間彼此膨脹(彼此約束)的數(shù)學(xué)建模。對于線性函數(shù),建??尚蜗蠡癁榫€性空間的伸縮,具體體現(xiàn)為線性空間的邊界直線的平移延伸后,和對偶邊界交點(diǎn)的向量的各分解維度坐標(biāo)的等比變化(這個等比變化即空間邊界的斜率不變);對于非線性函數(shù),可形象化為非線性空間彎曲邊界的伸縮,具體體現(xiàn)為伸縮后和對偶邊界的交點(diǎn)的向量各分解維度坐標(biāo)的非等比變化(這個非等比變化體現(xiàn)為空間邊界交點(diǎn)的斜率變化了)。 對偶即'陰陽'小白臆想,這個拉格朗日對偶模型似乎是數(shù)學(xué)世界里的太極圖,問題和對偶問題即為陰陽。問題空間和約束空間此消彼長。當(dāng)下是'陰',是現(xiàn)實(shí),是約束,是對偶問題;未來是陽,是現(xiàn)實(shí),是我們要面對的。我們需要結(jié)合現(xiàn)實(shí),充分利用現(xiàn)實(shí)的邊界,能夠在未來達(dá)到最優(yōu)解。而到了未來。最優(yōu)解已定,變成了現(xiàn)實(shí),問題變成約束,陽轉(zhuǎn)為陰。但,新的未來又會出現(xiàn),新的問題又會出現(xiàn)。時間不止,陰陽迭代,對偶永恒。 | 
|  |