非數學專業,只是用得到,所以學一下。
首先來看一下非線性最優化問題,一般有這麼幾類。
找到乙個合適的x,是的f(x)最小:
minxf(
x)沒有任何約束的最優化問題,這個一般解法有 梯度下降法、牛頓法、擬牛頓法等。
minxf(
x)subject to hi
(x)=
0i∈[
1,n]
minxf
(x)subject to hi
(x)=
0gj(
x)<=0i
∈[1,
m],j
∈[1,
n]上面的式子是說, 在滿足m個等式 即 hi
(x)=
0 和 n個不等式 gj
(x)<=
0 的條件下求f(x)的最小值。
對於第二類問題,可以轉化為一下問題
minf(x
)=mi
n[f(
x)+∑
i=1n
λihi
(x)]
λi 為拉格朗日乘子。 令 ∂
f(x)
/∂x=
0 , ∂f
(x)/
∂λ=0
,該最優化問題即可的解。
上面公式中的x是乙個向量,多維的資料難以繪圖和理解,這裡以二維為例。有這樣的最優化問題:
minz
=minf(
x,y)
s.t.
g(x,
y)=c
如果將 z=f(x,y)繪製成乙個三維影象,可以想象必定有波峰有波谷,如果想用二維影象繪製這個函式,只能以等高線的形式(想象一下等高線地形圖),下圖給出了等高線圖。因為極值點必須是乙個可行解,即必須滿足g(
x,y)
=c這個條件,所以極值點處的等高線必定和g(
x,y)
=c相較於一點。 假設兩條線不相切,那麼必定有另外一條等高線與之相切。考慮相切的情況,f(x,y)取得極值,且滿足等式條件。
在相切時,其梯度方向平行,即▽[
f(x,
y)+λ
(g(x
,y)−
c)]=
0λ≠0
給出乙個新的函式 f(
x,y)
=▽[f
(x,y
)+λ(
g(x,
y)−c
)]=0
在求其極值的時候,令 ▽f
(x,y
)=0 ,即可的解。
# 第三類與kkt條件
在滿足kkt條件時,可以將帶有不等式的非線性最優化問題轉化為無約束的最優化問題。
首先將原目標公式和等式不等式合為乙個公式f(
x,λ,
μ)=f
(x)+
∑iλi
hi(x
)+∑j
μjgj
(x)
並需滿足以下條件
(1) ∂f
(x,λ
,μ)/
∂x=0
這個條件是計算最優化問題的核心。 使用梯度下降法可以迭代求解。
(2) λi
≠0這個條件保證等式約束是成立的,如果該值為零,相當於丟失了約束條件。
(3) μj
>=
0 ,原條件中 gj
(x)<=
0 ,公式加上乙個小於等於0的數,符合最小化的方向。如果加乙個正數,則與最小化方向相反,所以 這個條件保證了 μj
gj(x
) 小於等於0 。
(4) uj
gj(x
)=0 ,該條件表明只有在該項取最大值時,整個公式取極小值才是真正的極小值。 這個式子最大為0, 所以要求其為0。
進一步思考, 這兩項相乘為0,那麼至少有一項為0, 如果是 uj
為0 ,說明這個條件並未生效,就是說整個函式的極小值並不在這個條件的邊界上。 如果gj
(x)=
0 極小值說明在這個條件的邊界上。
(5)原本的約束條件 gj
(x)<=
0 , hi
(x)=
0 證明見 參考文獻[1]
[1]
[2]
[3]
拉格朗日乘子法(有約束優化問題)
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!拉格朗日乘子法 lagrange multiplier 和kkt karush kuhn tucker 條件是求解約束優化問題的重要方法,在有等式約束時使用拉格朗日乘子法,在有不等約束時使用kkt條件。前提是 只有當目標函式為凸函式時,使用這兩種方...
非線性規劃求極值 fmincon函式運用
參考 求解問題標準型 min f x s.tx0 變數初始值 c x 非線性不等式 ceq x 非線性等式 a x b 線性不等式 aeq x beq 線性等式 lb x ub 變數約束條件 呼叫形式如下 x fmincon fun,x0,a,b,aeq,beq,lb,ub,nonlcon matl...
無約束極值 線性分類器和線性回歸基礎
總結無約束極值的基本內容以及線性分類器和回歸的基礎知識,包含梯度下降 相比於約束極值問題,無約束極值問題去掉了約束,因此表述方式非常簡單 mi nf x x en 1 現假設f x 有一階連續偏導,極小值點為x x k 為第k次接近。在x k 點沿著方向p k 做射線,有 x k 1 x k p k...