一種對拉格朗日乘子的直觀理解

2021-06-22 09:31:22 字數 818 閱讀 9702

假如你面前有一座山,山上有一條複雜的小路,如果你爬山的時候只能順著小路走,那麼什麼時候你發現自己到了某個至高點呢?很明顯,當你發現自己不論是往前走,還是往後退時,高度總是下降的,那麼這時你就位於乙個區域性的最高點了。

把這個思想抽象為數學表達,那就是,當函式上某點的梯度在約束曲線切向沒有分量時,你就到達區域性最高點了;換句話說,如果函式的梯度在約束曲線切向有分量,那麼你就可以繼續順著這個分量移動以達到乙個更高的高度。我們知道,約束曲線的切向是正交於法向的,所以這實際就是說函式的梯度要和曲線的法向平行。

約束曲線的法向是什麼?假如乙個約束曲線表達為g=0, 那麼所謂曲線的法向,其實是曲面g在等高線g=0處的梯度!所以兩個梯度平行,意味著grad(f)=k grad(g). 這個係數k就被稱為拉格朗日乘子。

而求函式在約束曲線下的最大值,實際上也就是解方程組:

grad(f) = l grad(g)

g=0為了簡便與形式的統一,我們引入朗格朗日函式: l(f,g,k) = f+kg, 那麼以上方程組實際上等價為:

grad_x(l) = 0

dl/dk = 0

值得注意的是,如果我們的約束曲線變成了曲面g>=0,同時要求解只能在g=0上,那麼乘子k的符號其實是有限定的,它必須保證兩個梯度方向相反(即對偶可行性條件)。為什麼要這樣?其實很明顯,因為我們一方面已經約束了解只能在g=0上,另一方面又允許進一步探索g>0的區域,那麼如果 grad(f) 和 grad(g) 同向,則意味著我們可以進入g>0的區域以提高f的取值,這點就與解只能在g=0上相矛盾。所以只有grad(f) 和 grad(g) 反向時,進一步提高f的值意味著步入g<0的領域,但那是不允許的,所以這就保證了解只可能出現在g=0上。

對拉格朗日乘子法的理解

我們什麼時候用拉格朗日乘子法?在求二次優化 或者寬泛點說,凸優化 的時候,一般寫法是,我們要求乙個函式的min,然後這個函式一般是凸函式,然後,這個函式的自變數還有好幾個約束 等式約束and不等式約束 我們的拉格朗日式子寫出來,寫出來的是用原函式減去alpha 等式約束,減去beta 不等式約束 因...

主成分分析 PCA 的一種直觀理解

源自知乎的乙個答案,網上很多關於pca的文章,不過很多都只講到了如何理解方差的投影,卻很少有講到為什麼特徵向量就是投影方向。本文從形象角度談一談,因為沒有證明,所以不會嚴謹,但是應該能夠幫助形象理解pca背後的原理。從定義來理解特徵向量的話,就是經過乙個矩陣變換後,空間沿著特徵向量的方向上相當於只發...

對矩陣的直觀理解

1.空間 是容納運動的乙個物件集合,而變換則規定了對應空間的運動。事實上,不管是什麼空間,都必須容納和支援在其中發生的符合規則的運動 變換 你會發現,在某種空間中往往會存在一種相對應的變換,比如拓撲空間中有拓撲變換,線性空間中有線性變換,仿射空間中有仿射變換,其實這些變換都只不過是對應空間中允許的運...