1)最小二乘法——求方差的平方和為極小值時的參數。
要盡全力讓這條直線最接近這些點,那么問題來了,怎么才叫做最接近呢?直覺告訴我們,這條直線在所有數據點中間穿過,讓這些點到這條直線的誤差之和越小越好。這里我們用方差來算更客觀。也就是說,把每個點到直線的誤差平方加起來;接下來的問題就是,如何讓這個S變得最小。這里有一個概念,就是求偏導數,通過偏導求極小值(方差)。比如導數就是求變化率,而偏導數則是當變量超過一個的時候,對其中一個變量求變化率。,我們都是在做不到完美的情況下,求那個最接近完美的解。
2)朗格朗日乘子法——求帶有拉格朗日算子的目標復合函數極小值時的參數
舉個例子:某工廠在生產過程中用到兩類原材料,其中一種單價為2萬/公斤,另一種為3萬/公斤,而工廠每個月預算剛好是6萬。就像下面的公式:
經過分析,工廠的產量f跟兩種原材料(x1,x2)具有如下關系(我們暫且不管它是如何來的,而且假定產品可以按任意比例生產)
請問該工廠每個月最少能生產多少?
回到工廠的例子,其實就是求函數f的極值。上面我們提到,極值點可以通過求偏導(變化率為0的地方為極值點)來實現,函數f(x1,x2)對x1,x2分別求偏導,那么得出的結論是:x1,x2都為0的時候最小,單獨看這個函數,這個結論對的,很顯然這個函數的最小值是0(任何數的平方都是大於或等於0),而且只有x1和x2同時為0的時候,取得最小值。但問題是它不滿足上面的限制條件。
怎么辦呢?拉格朗日想到了一個很妙的辦法,既然h(x1,x2)為0,那函數f(x1,x2)是否可以加上這個h(x1,x2)再乘以一個系數呢?任何數乘以0當然是0,f(x1,x2)加上0當然保持不變。所以其實就可以等同於求下面這個函數的極值:
我們對x1,x2以及λ分別求偏導(極值點就是偏導數均為0的點)
解上面的方程組得到x1=1.071,x2=1.286 然后代入f(x1,x2)即可。
這里為什么要多加一個乘子λ呢,試想一下,如果λ是個固定的數(比如-1),我們也能通過上面的方程式1,2求解得到x1,x2,但是我們就得不到方程式3,其實也就是沒有約束條件了。所以看到沒有,拉格朗日很聰明,他希望我們在求偏導(極值點)以后,還能保留原有的約束條件。我們上面提到,單獨對函數求極值不能保證滿足約束條件,拉格朗日這么一搞,就能把約束條件帶進來,跟求其他變量的偏導結果放在一起,既能滿足約束條件,又能保證是約束條件下的極值。借用金星的一句話:完美!
當然這是一個約束條件的情況,如果有多個約束條件呢?那就要用多個不同的λ(想想為什么),正如最上面的那個定義那樣,把這些加起來(這些0加起來也是0)。