線性擬合即給定一組輸入樣本,求一個M階多項式
的參數向量
,使得擬合誤差最小。這個M階多項式雖然是關於x的非線性(當
時)函數,但是是關於待求參數向量
的線性函數,所以叫“線性”擬合。而擬合誤差根據具體應用可以選用不同的標准,最常見、也是教科書上提供的一種誤差標准叫做最小化方差,由這個標准導出的就是最小二乘法(Lease Square, LS);還有一種誤差標准在軌跡點的擬合上用的比較多,應用於直線擬合情況,它的目標是最小化點到直線的距離和,本質上這也是一種最小二乘法。
最小化方差
我們將要擬合的多項式簡寫為,其中向量
。
因此,可以寫出目標函數
這是一個關於的二次函數,通過對其求導數令結果等於0,即可求解。
得到
注意到是個數,它的轉置是它本身,因此上式等價於
如果我們定義兩個記號,上式可進一步簡化,記號定義如下:
則上式可進一步簡化為:
最后解得
對於直線擬合即M=1的情形,給出如下結論:
最小化點到直線的距離和
對於直線擬合問題,上面的最小化方差方法有幾個缺點。第一,它假定了y的系數不為0,即直線不能垂直於x軸。第二,經過試驗驗證,當輸入樣本近似分布於一條垂直於x軸的直線附近時,擬合結果往往很不穩定。特別的,第三,對於軌跡點擬合問題,最小化方差沒有很好的物理解釋,而最小化點到直線的距離則可以很好的解釋結果,而且也不存在第一點和第二點中的問題。
對於以上第三點的說明,考慮這樣一個問題,假設輸入樣本為一系列的經緯度數據,x表示經度(或維度)值,y表示維度(或經度)值。現在要擬合出一條直線來近似求出軌跡點的前進方向。此時,用最小化點到直線的距離擬合出的結果似乎更能說明問題,而且當軌跡點垂直於x軸時,擬合結果也更穩定。下面具體說明求解過程。
設直線方程為,此時的優化目標為(為了使得目標函數連續可導,轉化為最小化距離的平方和):
不失一般性,假設,則上式無約束優化問題變為帶等式約束的優化問題:
利用拉格朗日方法求解,拉格朗日函數為:
根據拉格朗日方法,需要先對a、b、c參數求導,令導數等於0:
由(13)式可得:
記、
,則
,其中
,帶入拉格朗日函數得:
因此,
利用與前面類似的技巧,記
則
上式可簡化為:
推出:
可以看出,是矩陣A的特征向量,而
是對應的特征值。我們只需要求出A的特征向量,即得到參數a和b的值,然后帶入(14)式即可求得c。
A是2X2的矩陣,我們知道它有兩個特征值和兩個特征向量,因此此問題有兩個解。因為A是實對稱矩陣,他的兩個特征向量是正交的,這說明有兩條互相垂直的直行分別對應原問題的兩個局部極值點。其中,較小特征值對應的特征向量即為最優解。
值得注意的是,拉格朗日方法中,要求,因此,在求出矩陣A的特征向量之后,還需要對特征向量歸一化。由於我們的目的是求出直線參數a、b和c,其實歸不歸一化求出來的結果是一樣的。