模式識別與機器學習第四講(附錄E、第2章序言)
關鍵詞:拉格朗日乘子法、KKT條件、密度估計、適定問題/不適定問題、參數分布/非參數分布。
題圖為雅各布·伯努利(Jacob Bernoulli,1654-1705),概率論的先驅者。著名的伯努利分布就是以他的名字命名的。
Appendix E. Lagrange Multipliers
在開始第二章前,我還是想先講一下拉格朗日乘子(Lagrange multiplier),又稱為待定乘子(undetermined multiplier)。這一方法在包括第二章在內的多個地方都有涉及。
拉格朗日乘子法可以用來找到在一個或多個約束條件下多元函數的駐點(stationary point)。
約束問題根據約束條件的不同可以分為兩類,我們首先考慮第一類問題。
考慮這樣一個問題:對於一個關於兩個變數的函數,有一個約束條件,要求找到的最大值。
對於這個問題有兩種做法。
第一種比較初級的做法是我們可以嘗試解約束條件來用一個函數表示兩個函數之間的關係。我們可以把這個函數代入,通過對關於求導來得到駐值,並且進一步得到。
這種做法有兩個問題。首先,我們可能找不到約束條件的解析解,無法找到使得。其次,這種做法對兩個變數區別對待,打破了兩個變數之間的對稱性。
另一種相對不那麼初級、更加優雅的做法就是拉格朗日乘子法。
我們主要從幾何的角度試圖給出一個直觀的解釋。對於一個維變數,的幾何意義是維空間里一個維的曲面(surface)。
關於為什麼代表的曲面少了一個維度,這是因為對於個維度里任何一個維度,根據,我們都可以用剩下的個維度來表示它。
下圖中給出了一個三維空間里二維曲面(矩形)的例子。棕色曲面代表了約束曲面,紫色球體的表面可以理解為使得函數取值相等的點的集合,被稱為等於某一定值的等值面(level set)。紫色箭頭代表這個球可以不斷變大,隨著球半徑的增大,在球表面的點所取得的值也越來越大。
考慮約束曲面上的一點以及它附近的曲面上另一點。在點附近進行泰勒展開(Taylor expansion)可以得到。由於都在曲面上因此,。,因此正交(orthogonal)於。由均在曲面上可知平行於曲面,因此正交於曲面。在上圖的例子中我們可以看到棕色箭頭正交於棕色平面。
我們想要在約束平面上找到一點使得的值最大化。滿足這一條件的點必定有正交於約束平面。否則我們可以從這一點出發在約束平面上找到另一點使得得到的值更大。
由於均正交於約束平面,因此它們互相平行於對方。所以存在標量使得。被稱為拉格朗日乘子。如果在我們能取到的最大值,則必然有。
為了方便起見,我們通常會引入拉格朗日函數(Langrange function):。這個函數妙的地方在於所需要滿足的條件都可以用拉格朗日函數來表達,即①,②。
如果我們需要的話,我們可以找到同時關於和的駐點。在拉格朗日乘子法里,我們通常並不在意的值,這就是待定乘子法里「待定」二字的來源。
書中給出了一個拉格朗日乘子法的應用例子,寫得很清楚了,在此不做贅述。
在上面這個問題中約束曲面恆等於,不難發現對於所有的這樣形式的問題我們都可以通過把它們變成同一類約束條件。這類約束條件被稱為等式約束(equality constraint)。
另一類約束條件為不等式約束(inequality constraint),即。
根據具體的駐點有和兩種情況。兩種情況導致了兩種可能的解。
第一種情況下,我們稱呼約束條件為不活躍的(inactive)。在這種情況下我們只需要。同樣我們可以用拉格朗日函數來表達需要滿足的條件,只需要令。
第二種情況下,我們稱呼約束條件為活躍的(active)。這種情況下問題類似於等式約束,我們可以用的拉格朗日函數來表達需要滿足的條件。然而這種情況下拉格朗日乘子的符號變得非常重要。在區域的最大值只有在梯度指離所在區域情況下(見下圖)才能得到,否則我們總能在區域找到一個使得。因為這樣的原因,。所以我們可以用情況下的拉格朗日函數來表示需要滿足的條件。
不管約束條件是否活躍,我們都有。因此我們可以把原問題(在滿足的情況下找到的最大值)轉換成如下的一個新問題:
在滿足的情況下找到拉格朗日函數的最大值。
上述約束條件被稱為KKT條件(Karush-Kuhn-Tucker conditions)。
如果我們要做的是在滿足不等式約束的情況下找到的最小值,那麼過程是一樣的,只是問題變成了在滿足KKT條件的情況下找到拉格朗日函數的最小值。
上述討論都是基於單個約束條件,我們可以把拉格朗日乘子法用於多個約束條件。
假設我們要在滿足等式約束以及不等式約束的情況下找到的最大值,那麼我們可以把問題轉化為:在滿足
的情況下優化拉格朗日函數
- 。
我們也可以把拉格朗日乘子法的應用拓展到泛函導數約束的情況,在此不做討論。
Nocedal和Wright寫的《數值優化》(Numerical Optimization)一書中對拉格朗日乘子法做了更加詳細的介紹。
2. Probability Distributions
上圖描繪了許多不同的概率分布以及它們之間的關係。在這一章節里我們會介紹伯努利分布(Bernoulli distribution)、貝塔分布(beta distribution)、多項分布(multinomial distribution)、狄利克雷分布(Dirichlet distribution),並且更加深入地學習高斯分布。
伴隨重要統計概念的引入,我們希望能深入了解這些分布的動機和性以及分布與分布之間的聯繫。
這些概率分布的一個重要作用是密度估計(density estimation):給定一個集合的數據點,我們想要對於隨機變數的概率分布進行建模。為了方便起見,如沒有另行聲明,我們假設數據點服從獨立一致分布。
數學家阿達馬(Jacques Solomon Hadamard,他和另一個數學家普森在1896年分別獨立給出了一個素數定理的證明,對黎曼猜想有關的工作做出了突出貢獻。傳說證明了黎曼猜想的人能獲得永生。阿達馬活了97歲,普森活了95歲。)提出對物理現象的數學模型應該具備以下三個特點:
- 存在一個解(存在性)
- 解是唯一的(唯一性)
- 解的行為連續依賴於初始條件(穩定性)
滿足上述三個條件的問題被稱為適定問題(well-posed problem),否則被稱為不適定問題(ill-posed problem)。
我們需要注意密度估計這個問題在根本上是不適定問題。對於有限數據點的集合,有無限的概率分布可能會產生這個數據集。事實上對於一個概率分布來說,只要它在這個數據點的概率不為,就可能是產生數據點的概率分布。
當我們預先假設產生數據點的概率分布為高斯分布、均勻分布、伯努利分布等等的時候,我們所做的其實無異於模型選擇。
我們可以把概率分布分為兩類:參數分布(parametric distribution)和非參數分布(nonparametric distribution)。
參數分布是指由少量自適應參數決定的概率分布。如高斯分布完全由期望和方差來決定。否則就叫費參數分布。
對於如何決定參數分布的參數我們有頻率論和貝葉斯論兩種截然不同的途徑。
從頻率論的角度來說我們可以根據數據集優化目標來決定參數的具體值。在第二講里對於似然函數最大化的極大似然估計就是這樣一個例子。
從貝葉斯論的角度來說我們先給出一個參數的先驗分布,然後基於觀察到的數據集通過貝葉斯公式做後驗更新。
參數分布的局限性在於它假設了一個分布的具體泛函形式(如假設數據分布為一個高斯分布),而在某些應用里這可能是不適合的。我們因此有時候會用到非參數分布,做非參數估計。
在非參數分布里分布的形式通常依賴於數據集的大小。我們用的模型里仍然包含參數,但它們不再是具體某一概率分布的參數(如高斯分布的期望和方差),而被用於控制模型的複雜度(complexity)。在2.5里我們會對非參數估計做進一步深入的討論。
推薦閱讀:
※十圖詳解tensorflow數據讀取機制(附代碼)
※為什麼要對數據進行歸一化處理?
※CTR預估[八]: Algorithm-GBDT: Parameter Space Estimation and Function Space Estimation