1、前言
a、本文主性最小二乘的標准形式,非線性最小二乘求解可以參考Newton法
b、對於參數求解問題還有另外一種思路:RANSAC算法。它與最小二乘各有優缺點:
--當測量值符合高斯分布(或者說測量誤差符合期望為0的高斯分布),使用最小二乘比較合適,可以獲得比較穩定且很高的精度。
而當誤差服從高斯分布的情況下, 最小二乘法等價於極大似然估計。
--當測量值離散性比較大,存在很多outliers,那么使用最小二乘求解就會存在很大的誤差,此時使用RANSAC算法更合適。
線性最小二乘只適用於參數模型會線性關系的情形,RANSAC則沒有此限制。
c、線性最小二乘又分為齊次線性最小二乘和非齊次線性最小二乘。
2、非齊次方程組的最小二乘解
a、非齊次線性最小二乘的標准形式:
AX = B (1)
其中A、B分別為測量數據構成的矩陣與向量,X為待求參數向量。這里主要針對方程數多於未知元素的情形--超定方程組。
b、為什么要用最小二乘求解參數:
舉例:
,其中
為測量已知量,
為待求量。
那么只需要三組
就可以求出
。實際情況是某次實驗不止測了三組數據:
如何在(1,2,3,29)(2,1,1,13)(3,2,4,37)(2,4,2,33)(4,2,1,23)這些測量數據中求出最准確的
?
結論:當數據存在冗余,且數據噪聲偏差不大的情況下適合用最小二乘求解。
c、如何轉化為最小二乘形式:
例1:y = ax+b,已知(x,y)求(a,b)?
轉化為標准形式:
![]()
帶入測量數據:
![]()
例2:
,已知
,求(a,b)?
轉化為標准形式:
帶入測量數據:
例3:
,
求
??
轉化為標准形式:
帶入測量數據:
總結:對於線性表達式,通過適當的變型即可,如例1。
在例2中,通過選取
和
為基實現了線性化。
對於非線性表達式,可以通過合適的基、變型,有時候也可以轉化為標准形式,如例2、例3。
在例3中,對參數p矩陣選取合適的基實現了線性化。
即選取基:
、
、
、
、
、
那么矩陣p在該組基下:
c、標准形式下最小二乘的求解:
對於(1)式,最小二乘的求解,相當於求解正規方程:
![]()
標准形式下最小二乘解為:
![]()
d、證明:
方法1:
AX = B ,對於實際測量數據,(AX – B),即殘差將不為0,為了得到最准確的解,應使殘差的范數最小:
![]()
對E展開:
令E的導數等於0,即可求出X:
方法2:
根據(4)式 (B - AX)所構成的向量需要垂直於A的列空間,此時距離最短,E最小:
A(AX - B)= 0 (5)
根據(5)式:
3、齊次方程組的最小二乘解
a、齊次線性最小二乘的標准形式:
AX = 0 (6)
其中A為測量數據構成的矩陣與向量,X為待求參數向量。
這里主要針對方程數多於未知元素的情形--超定方程組。
這個模型和
是等價的。
b、齊次方程組的最小二乘解的約束
因平凡解 X = 0不是我們感興趣的解,因此我們主要是尋求該方程組的非零解。
注意,如果 X 是這個方程組的解,那么對於任何標量k,使得kX也是解,因此可以建立一個合理的約束:||X||=1的解:
齊次最小二乘相當於求解:
且
或者求解:
![]()
c、齊次方程組的最小二乘解
通過前面a、b兩部分的說明,此時問題的標准形式為:求使||AX||最小化並滿足||X|| = 1時的X。其結論為:
最小特征值對應的特征向量即為待求解
證明:
對A矩陣SVD分解(可參加我另外一篇博客),令
,那么問題變成:
且
![]()
由於:
,即U矩陣不影響范數。
同時:
,和U矩陣一樣,V矩陣不影響范數。
那么(7)式變為:
且
![]()
令 ||y|| = 1,則(8)式變為:
且
![]()
由SVD分解的規則可知,D是對角元素按降序排列的一個對角矩陣,
因此該問題的解是
,它具有一個非零元素1並在最后的位置上。
就是V的最后一列。
4、加權最小二乘問題
這是對非齊次方程組的最小二乘問題的補充。
對於每一組測量數據,都存在(4)式所定義的誤差E,當對不同的E進行加權時,便成了加權最小二乘問題。
此時,(5)式應變為:
,(2)應變為:
,其中C為加權矩陣。
加權最小二乘問題的解為:
5.1、帶約束方程組的最小二乘解(1)
如果3、齊次方程組的最小二乘模型存在約束,即:
且
,且
![]()
求解思路分析:
對C矩陣進行SVD分解,
,如果C不是方陣,如何行數少於列數那就在C矩陣后面一行行補0。
如果對角矩陣D有r個非零對角元素,此時C的秩為 r 且C的行空間由
的前 r 行生成,則C的行空間的正交補
由
余下的行生成,記
為
的消去前 r 列得到的矩陣,則
,對比
,可以得到:
X的解由
的列生成,把所有滿足這一條件的 X 記為:
。
由於
的列具有正交性,因此:
此時,(10)變成:
且
![]()
(10)求解算法總結:
a、如果C的行數少於列數,則在C矩陣的后面添加若干行0從而擴展成方陣,通過對C進行SVD分解,求出
![]()
b、分解的時候將非零元素排在D矩陣的前面,將矩陣V消去前 r 列(r為D矩陣對角線上非零元素個數)得到矩陣
。
c、根據3、齊次方程組的最小二乘模型的求解方法求解(11)。
5.2、帶約束方程組的最小二乘解(2)
5.3、帶約束方程組的最小二乘解(3)

,其中
為測量已知量,
為待求量。
,已知
,求(a,b)?![[x,{x^2}]\left[{\begin{array}{*{20}{c}}
a\\
b
\end{array}}\right]=[y]](/image/aHR0cDovL2xhdGV4LmNvZGVjb2dzLmNvbS9naWYubGF0ZXg_JTVieCUyYyU3YnglNWUyJTdkJTVkJTVjbGVmdCU1YiU3YiU1Y2JlZ2luJTdiYXJyYXklN2QlN2IqJTdiMjAlN2QlN2JjJTdkJTdkJTBhYSU1YyU1YyUwYWIlMGElNWNlbmQlN2JhcnJheSU3ZCU3ZCU1Y3JpZ2h0JTVkJTNkJTVieSU1ZA==.png)
![\left[{\begin{array}{*{20}{c}}
{{x_1}}&{x_1^2}\\
{{x_2}}&{x_2^2}\\
{{x_3}}&{x_3^2}\\
{{x_4}}&{x_4^2}
\end{array}}\right]\left[{\begin{array}{*{20}{c}}
a\\
b
\end{array}}\right]=\left[{\begin{array}{*{20}{c}}
{{y_1}}\\
{{y_2}}\\
{{y_3}}\\
{{y_4}}
\end{array}}\right]](/image/aHR0cDovL2xhdGV4LmNvZGVjb2dzLmNvbS9naWYubGF0ZXg_JTVjbGVmdCU1YiU3YiU1Y2JlZ2luJTdiYXJyYXklN2QlN2IqJTdiMjAlN2QlN2JjJTdkJTdkJTBhJTdiJTdieF8xJTdkJTdkJTI2JTdieF8xJTVlMiU3ZCU1YyU1YyUwYSU3YiU3YnhfMiU3ZCU3ZCUyNiU3YnhfMiU1ZTIlN2QlNWMlNWMlMGElN2IlN2J4XzMlN2QlN2QlMjYlN2J4XzMlNWUyJTdkJTVjJTVjJTBhJTdiJTdieF80JTdkJTdkJTI2JTdieF80JTVlMiU3ZCUwYSU1Y2VuZCU3YmFycmF5JTdkJTdkJTVjcmlnaHQlNWQlNWNsZWZ0JTViJTdiJTVjYmVnaW4lN2JhcnJheSU3ZCU3YiolN2IyMCU3ZCU3YmMlN2QlN2QlMGFhJTVjJTVjJTBhYiUwYSU1Y2VuZCU3YmFycmF5JTdkJTdkJTVjcmlnaHQlNWQlM2QlNWNsZWZ0JTViJTdiJTVjYmVnaW4lN2JhcnJheSU3ZCU3YiolN2IyMCU3ZCU3YmMlN2QlN2QlMGElN2IlN2J5XzElN2QlN2QlNWMlNWMlMGElN2IlN2J5XzIlN2QlN2QlNWMlNWMlMGElN2IlN2J5XzMlN2QlN2QlNWMlNWMlMGElN2IlN2J5XzQlN2QlN2QlMGElNWNlbmQlN2JhcnJheSU3ZCU3ZCU1Y3JpZ2h0JTVk.png)
,
??![\left[{\begin{array}{*{20}{c}}
u\\
v
\end{array}}\right]=\left[{\begin{array}{*{20}{c}}
x&y&1&0&0&0\\
0&0&0&x&y&1
\end{array}}\right]\left[{\begin{array}{*{20}{c}}
{{p_1}}\\
{{p_2}}\\
{{p_3}}\\
{{p_4}}\\
{{p_5}}\\
{{p_6}}
\end{array}}\right]](/image/aHR0cDovL2xhdGV4LmNvZGVjb2dzLmNvbS9naWYubGF0ZXg_JTVjbGVmdCU1YiU3YiU1Y2JlZ2luJTdiYXJyYXklN2QlN2IqJTdiMjAlN2QlN2JjJTdkJTdkJTBhdSU1YyU1YyUwYXYlMGElNWNlbmQlN2JhcnJheSU3ZCU3ZCU1Y3JpZ2h0JTVkJTNkJTVjbGVmdCU1YiU3YiU1Y2JlZ2luJTdiYXJyYXklN2QlN2IqJTdiMjAlN2QlN2JjJTdkJTdkJTBheCUyNnklMjYxJTI2MCUyNjAlMjYwJTVjJTVjJTBhMCUyNjAlMjYwJTI2eCUyNnklMjYxJTBhJTVjZW5kJTdiYXJyYXklN2QlN2QlNWNyaWdodCU1ZCU1Y2xlZnQlNWIlN2IlNWNiZWdpbiU3YmFycmF5JTdkJTdiKiU3YjIwJTdkJTdiYyU3ZCU3ZCUwYSU3YiU3YnBfMSU3ZCU3ZCU1YyU1YyUwYSU3YiU3YnBfMiU3ZCU3ZCU1YyU1YyUwYSU3YiU3YnBfMyU3ZCU3ZCU1YyU1YyUwYSU3YiU3YnBfNCU3ZCU3ZCU1YyU1YyUwYSU3YiU3YnBfNSU3ZCU3ZCU1YyU1YyUwYSU3YiU3YnBfNiU3ZCU3ZCUwYSU1Y2VuZCU3YmFycmF5JTdkJTdkJTVjcmlnaHQlNWQ=.png)
![\left[{\begin{array}{*{20}{c}}
{{u_1}}\\
{{v_1}}\\
{{u_2}}\\
{{v_2}}\\
{...}\\
{{u_n}}\\
{{v_n}}
\end{array}}\right]=\left[{\begin{array}{*{20}{c}}
{{x_1}}&{{y_1}}&1&0&0&0\\
0&0&0&{{x_1}}&{{y_1}}&1\\
{{x_2}}&{{y_2}}&1&0&0&0\\
0&0&0&{{x_2}}&{{y_2}}&1\\
{...}&{...}&{...}&{...}&{...}&{...}\\
{{x_n}}&{{y_n}}&1&0&0&0\\
0&0&0&{{x_n}}&{{y_n}}&1
\end{array}}\right]\left[{\begin{array}{*{20}{c}}
{{p_1}}\\
{{p_2}}\\
{{p_3}}\\
{{p_4}}\\
{{p_5}}\\
{{p_6}}
\end{array}}\right]](/image/aHR0cDovL2xhdGV4LmNvZGVjb2dzLmNvbS9naWYubGF0ZXg_JTVjbGVmdCU1YiU3YiU1Y2JlZ2luJTdiYXJyYXklN2QlN2IqJTdiMjAlN2QlN2JjJTdkJTdkJTBhJTdiJTdidV8xJTdkJTdkJTVjJTVjJTBhJTdiJTdidl8xJTdkJTdkJTVjJTVjJTBhJTdiJTdidV8yJTdkJTdkJTVjJTVjJTBhJTdiJTdidl8yJTdkJTdkJTVjJTVjJTBhJTdiLi4uJTdkJTVjJTVjJTBhJTdiJTdidV9uJTdkJTdkJTVjJTVjJTBhJTdiJTdidl9uJTdkJTdkJTBhJTVjZW5kJTdiYXJyYXklN2QlN2QlNWNyaWdodCU1ZCUzZCU1Y2xlZnQlNWIlN2IlNWNiZWdpbiU3YmFycmF5JTdkJTdiKiU3YjIwJTdkJTdiYyU3ZCU3ZCUwYSU3YiU3YnhfMSU3ZCU3ZCUyNiU3YiU3YnlfMSU3ZCU3ZCUyNjElMjYwJTI2MCUyNjAlNWMlNWMlMGEwJTI2MCUyNjAlMjYlN2IlN2J4XzElN2QlN2QlMjYlN2IlN2J5XzElN2QlN2QlMjYxJTVjJTVjJTBhJTdiJTdieF8yJTdkJTdkJTI2JTdiJTdieV8yJTdkJTdkJTI2MSUyNjAlMjYwJTI2MCU1YyU1YyUwYTAlMjYwJTI2MCUyNiU3YiU3YnhfMiU3ZCU3ZCUyNiU3YiU3YnlfMiU3ZCU3ZCUyNjElNWMlNWMlMGElN2IuLi4lN2QlMjYlN2IuLi4lN2QlMjYlN2IuLi4lN2QlMjYlN2IuLi4lN2QlMjYlN2IuLi4lN2QlMjYlN2IuLi4lN2QlNWMlNWMlMGElN2IlN2J4X24lN2QlN2QlMjYlN2IlN2J5X24lN2QlN2QlMjYxJTI2MCUyNjAlMjYwJTVjJTVjJTBhMCUyNjAlMjYwJTI2JTdiJTdieF9uJTdkJTdkJTI2JTdiJTdieV9uJTdkJTdkJTI2MSUwYSU1Y2VuZCU3YmFycmF5JTdkJTdkJTVjcmlnaHQlNWQlNWNsZWZ0JTViJTdiJTVjYmVnaW4lN2JhcnJheSU3ZCU3YiolN2IyMCU3ZCU3YmMlN2QlN2QlMGElN2IlN2JwXzElN2QlN2QlNWMlNWMlMGElN2IlN2JwXzIlN2QlN2QlNWMlNWMlMGElN2IlN2JwXzMlN2QlN2QlNWMlNWMlMGElN2IlN2JwXzQlN2QlN2QlNWMlNWMlMGElN2IlN2JwXzUlN2QlN2QlNWMlNWMlMGElN2IlN2JwXzYlN2QlN2QlMGElNWNlbmQlN2JhcnJheSU3ZCU3ZCU1Y3JpZ2h0JTVk.png)
和
為基實現了線性化。
、
、
、
、
、![\left[{\begin{array}{*{20}{c}}
0&0&0\\
0&0&1
\end{array}}\right]](/image/aHR0cDovL2xhdGV4LmNvZGVjb2dzLmNvbS9naWYubGF0ZXg_JTVjbGVmdCU1YiU3YiU1Y2JlZ2luJTdiYXJyYXklN2QlN2IqJTdiMjAlN2QlN2JjJTdkJTdkJTBhMCUyNjAlMjYwJTVjJTVjJTBhMCUyNjAlMjYxJTBhJTVjZW5kJTdiYXJyYXklN2QlN2QlNWNyaWdodCU1ZA==.png)
![{p_1}\left[{\begin{array}{*{20}{c}}
1&0&0\\
0&0&0
\end{array}}\right]+{p_2}\left[{\begin{array}{*{20}{c}}
0&1&0\\
0&0&0
\end{array}}\right]+{p_3}\left[{\begin{array}{*{20}{c}}
0&0&1\\
0&0&0
\end{array}}\right]+...{p_6}\left[{\begin{array}{*{20}{c}}
0&0&0\\
0&0&1
\end{array}}\right]](/image/aHR0cDovL2xhdGV4LmNvZGVjb2dzLmNvbS9naWYubGF0ZXg_JTdicF8xJTdkJTVjbGVmdCU1YiU3YiU1Y2JlZ2luJTdiYXJyYXklN2QlN2IqJTdiMjAlN2QlN2JjJTdkJTdkJTBhMSUyNjAlMjYwJTVjJTVjJTBhMCUyNjAlMjYwJTBhJTVjZW5kJTdiYXJyYXklN2QlN2QlNWNyaWdodCU1ZCUyYiU3YnBfMiU3ZCU1Y2xlZnQlNWIlN2IlNWNiZWdpbiU3YmFycmF5JTdkJTdiKiU3YjIwJTdkJTdiYyU3ZCU3ZCUwYTAlMjYxJTI2MCU1YyU1YyUwYTAlMjYwJTI2MCUwYSU1Y2VuZCU3YmFycmF5JTdkJTdkJTVjcmlnaHQlNWQlMmIlN2JwXzMlN2QlNWNsZWZ0JTViJTdiJTVjYmVnaW4lN2JhcnJheSU3ZCU3YiolN2IyMCU3ZCU3YmMlN2QlN2QlMGEwJTI2MCUyNjElNWMlNWMlMGEwJTI2MCUyNjAlMGElNWNlbmQlN2JhcnJheSU3ZCU3ZCU1Y3JpZ2h0JTVkJTJiLi4uJTdicF82JTdkJTVjbGVmdCU1YiU3YiU1Y2JlZ2luJTdiYXJyYXklN2QlN2IqJTdiMjAlN2QlN2JjJTdkJTdkJTBhMCUyNjAlMjYwJTVjJTVjJTBhMCUyNjAlMjYxJTBhJTVjZW5kJTdiYXJyYXklN2QlN2QlNWNyaWdodCU1ZA==.png)




是等價的。
最小特征值對應的特征向量即為待求解
,那么問題變成:
且 
,即U矩陣不影響范數。
,和U矩陣一樣,V矩陣不影響范數。
且

且

,它具有一個非零元素1並在最后的位置上。
就是V的最后一列。
,(2)應變為:
,其中C為加權矩陣。

,如果C不是方陣,如何行數少於列數那就在C矩陣后面一行行補0。
的前 r 行生成,則C的行空間的正交補
余下的行生成,記
的消去前 r 列得到的矩陣,則
,對比
。
且
