了解一些簡單的數(shù)學概念
首先看一個二元函數(shù)(再復雜一點的函數(shù)就很難直觀地呈現(xiàn)出來)的三維圖像和對應的等高線似袁,其中函數(shù)表達式為:
從導數(shù)到偏導數(shù)
對于一個一元函數(shù)而言,導數(shù)的定義想必大家都很清楚,具體的表達式為:
一元函數(shù)中只有一個自變量屹耐,因此在某個點的導數(shù)即函數(shù)在該點的斜率期奔,高中物理在路程-時間問題中賦予導數(shù)的含義為瞬時速度。
對于一個二元函數(shù)仿畸,偏導數(shù)即固定其他變量時的函數(shù)變化率食棕,也就是沿著坐標軸正方向的變化率:
方向導數(shù)
這里引入偏導數(shù)的原因是因為在多元函數(shù)中朗和,經(jīng)過函數(shù)某一點的切線有無數(shù)條,這些切線共同組成切平面簿晓。借助于“基向量”的思想眶拉,我們通過兩個偏導數(shù)表示出經(jīng)過該點的任意方向切線的導數(shù),這也就是方向導數(shù)憔儿。
現(xiàn)在我們放開對所有變量的限制忆植,記點為二元函數(shù)上一點,自該點引一條射線
, 在該點射線方向鄰域內存在一點
谒臼,那么函數(shù)沿著
方向的方向導數(shù)為:
方向導數(shù)與偏導數(shù)
前面提到方向導數(shù)就是二元函數(shù)
在
點處沿著任一方向的函數(shù)的變化率朝刊,而偏導數(shù)反映了函數(shù)沿著坐標軸方向上的變化率。
借助“基向量”的思想蜈缤,我們可以用偏導數(shù)表示任意方向的方向導數(shù):
梯度
一元函數(shù)在一個點只有一個斜率拾氓,二元函數(shù)在一個點處有一個切平面。在無約束最優(yōu)化問題中底哥,我們希望找到函數(shù)下降速度最快的方向咙鞍,然后不斷逼近函數(shù)的最小值點,如下圖所示:
一言以蔽之趾徽,梯度方向就是函數(shù)值下降最快的方向续滋。
注:為防止不同教材知識的混淆,本篇不明確區(qū)分梯度方向與負梯度方向附较,重在理解拉格朗日乘子法的思想即可吃粒,具體推導可找專業(yè)的數(shù)學資料。
下界與下確界
舉個例子拒课,當我們迭代求解函數(shù)
- 如果我們能找到一個實數(shù)早像,它比這個數(shù)列中所有的數(shù)都要小僻肖,那我們就可以稱它為這個數(shù)列的下界。
- 不難理解卢鹦,一個有界數(shù)列可以找到無數(shù)個不同的下界臀脏,而最大的下界也是下確界。
無約束問題引入
前面提到的梯度下降法和牛頓法都是求解無約束最優(yōu)化問題的常用方法冀自,無約束的最優(yōu)化問題可以抽象為:
當函數(shù)滿足處處一階可導時揉稚,極值點存在的必要條件是該點的一階偏導數(shù)為0,高數(shù)中對于簡單的問題我們可以直接解出滿足為零的所有
熬粗,并代入函數(shù)判斷他是否為極值點搀玖。
當函數(shù)復雜到我們無法輕易求出可能的極值點時,我們通過構造初始值和遞推公式去不斷逼近函數(shù)的極值點驻呐,比較典型的算法包括梯度下降法灌诅、坐標下降法和擬牛頓法等芳来。
梯度下降法和擬牛頓法回顧
假設目標函數(shù)為線性回歸的目標函數(shù):
其中自變量維度為,樣本數(shù)為
,
表示第
個樣本的第
個自變量的取值。
接下來我們需要做的就是找到最佳的參數(shù)組合使得目標函數(shù)值達到最小猜拾。
批量梯度下降法
以批量梯度下降法(BGD)為例即舌,每一步我們都沿著目標函數(shù)的負梯度方向更新參數(shù)值:
牛頓法
牛頓法是求解函數(shù)值等于0的自變量取值的一種迭代算法,因此我們可以使用牛頓法求解滿足函數(shù)一階導為0的參數(shù)值挎袜。
迭代公式如下所示顽聂,具體推導過程可以在牛頓法那篇文章中看。
從無約束最優(yōu)化到有約束最優(yōu)化
前面我們討論的都是無約束情況下的最優(yōu)化盯仪,根據(jù)極值的必要條件(一階導為0)芜飘,我們可以通過構造數(shù)列不斷逼近最優(yōu)值。但是有很多實際問題是有約束的磨总,拉格朗日乘子法就是解決有約束最優(yōu)化的一種常用方法。
直觀理解
上圖中的多個黑色圓圈是二元函數(shù)
現(xiàn)在問題轉化為我們需要在紅線上找到使得函數(shù)值最小化的
的取值汹桦。
由于函數(shù)的等高線是密集的鲁驶,因此我們只需要在滿足函數(shù)等高線和約束曲線相切的點集合中尋找可能的極值點。(相切是極值點的必要非充分條件)
用數(shù)學語言描述
由于在極值點處函數(shù)等高線和約束函數(shù)的梯度都與切平面垂直舞骆,從而他們的梯度方向在同一條直線上钥弯,即:
- 對于約束曲面上的任意點
,該點的梯度
正交于約束曲面
- 在最優(yōu)點處督禽,目標函數(shù)在該點的梯度
正交于約束曲面
我們定義拉格朗日函數(shù)如下脆霎,其中稱為拉格朗日乘子:
我們將拉格朗日函數(shù)求偏導之后就得到上述的梯度公式,因此我們可以將原約束優(yōu)化問題轉化為對拉格朗日函數(shù)的無約束優(yōu)化問題狈惫。
從等式約束到非等式約束
下圖展示了拉格朗日乘子法的幾何含義:在左邊的等式約束()下和右邊的不等式約束
下最小化目標函數(shù)
睛蛛。其中紅色曲線表示
圍成的曲面。
不等于約束
- 對于
的情形,因為
方向向里菱肖,因此約束條件
不起作用客冈,我們只需要通過條件
求得可能的極值即可。
-
的約束類似于前面提到的等式約束蔑滓,但是
的方向和
必須相反郊酒,即存在常數(shù)
使得
當最優(yōu)值落在
區(qū)域時遇绞,約束條件件
不起作用,因此我們令約束條件的乘子
燎窘;當最優(yōu)值落在
邊界上時摹闽,
自然等于0『纸。考慮到這兩種情形付鹿,我們可以推出
。
因此蚜迅,拉格朗日乘子法可以寫成如下的等價形式舵匾,括號的條件也叫做KKT條件。
拉格朗日乘子法的一般寫法
考慮具有個等式約束和
個不等式約束的一般優(yōu)化情形:
引入拉格朗日乘子和
谁不,對應的拉格朗日函數(shù)為:
不等式問題對應的KKT條件為:
拉格朗日對偶性
推導出對偶問題
主問題:
對應的拉格朗日函數(shù)為:
其中為主問題中基于等式和不等式約束的可行域坐梯,那么對于任意的
,都有:
我們通過對偶函數(shù)給出主問題最優(yōu)值的下界
假設主問題的最優(yōu)點為刹帕,對應的最優(yōu)值為
吵血,則對于任意的
、
和可行域內的任一點
都有:
即對偶函數(shù)小于主問題中的每一個函數(shù)值(下界的定義)偷溺,給出了主問題的一個下界蹋辅,并且這個下界的值取決于的值。一個很自然的問題是:基于對偶函數(shù)能獲得的最好下界是什么(下確界的思想)挫掏,這就引入了對偶問題:
為什么要引入對偶問題
- 無論主問題的凸性如何侦另,對偶問題始終是凸優(yōu)化問題
- 凸優(yōu)化問題的研究較為成熟,當一個具體被歸為一個凸優(yōu)化問題尉共,基本可以確定該問題是可被求解的
弱對偶性與強對偶性
假設主問題的最優(yōu)值褒傅,對偶問題的最優(yōu)值為
,根據(jù)下界的定義爸邢,顯然有
樊卓。
- 弱對偶性:
- 強對偶性:
在強對偶性成立時,將拉格朗日函數(shù)分別對原變量和對偶變量求導杠河,再令導數(shù)等于零碌尔,即可得到原變量與對偶變量的數(shù)值關系。于是券敌,對偶問題解決了唾戚,主問題也就解決了。
Reference
[1]https://www.cnblogs.com/lyr2015/p/9010532.html
[2]https://www.cnblogs.com/xinchen1111/p/8804858.html
[3]https://puui.qpic.cn/fans_admin/0/3_1692378290_1568465189769/0
[4]《統(tǒng)計學習方法》
[5]《機器學習》