線性最小二乘問題
線性最小二乘問題
線性最小二乘是一種求解線性系統引數的方法,即引數估計的方法。它的特點有:
- 需要已知引數與觀察量之間的線性函式關係
- 存在多餘觀測
線性最小二乘原理
線性關係
對於一個引數估計問題,我們往往不能直接獲得想要的引數值,需要通過間接觀測的方式去反向求解。
例如:
- 為了確定一輛車的平均速度,我們不能直接測量得到,我們是間接的藉助單位時間內的路程,以及時間來反算速度。
- 為了獲得我在世界上的GPS位置,我們總是間接的藉助衛星的位置,以及衛星到我們的距離來推算我們當前的位置。
可以看到很多很多問題不是我們可以直接測量的,再例如,我們想知道一個相機它的焦距,畸變引數,我們難以直接拿儀器測量,我們總是建立我們想要求解的引數X與我們易於觀測量Y之間的函式關係:
F
(
X
)
=
Y
F(X) = Y
F(X)=Y
通過已知的Y和已知的函式關係f(x),反推出X的值。
當我們的已知這個函式關係是線性的時候,我們可以簡化為:
A
X
=
Y
AX = Y
AX=Y
其中A是引數X與觀測Y之間的線性函式關係(線性運算(乘和加)可以由矩陣A表示)。
因此,為了求解我們想要的引數,我們已知觀測Y和線性關係A,就可以求解待求引數X啦。
理解多餘觀測
當我們有了線性關係,在測量足夠的情況下,我們就可以求解出引數X。
如:求解一個條直線的引數k和b:
A X = Y AX = Y AX=Y
[ y 0 y 1 ] = [ x 0 1 x 1 1 ] ∗ [ k b ] \begin{bmatrix} y_0 \\ y_1 \\ \end{bmatrix} = \begin{bmatrix}x_0 & 1 \\ x_1 & 1\\ \end{bmatrix} * \begin{bmatrix} k \\ b \\ \end{bmatrix} [y0y1]=[x0x111]∗[kb]
其中
X
對
應
[
k
b
]
X對應\begin{bmatrix} k \\ b \\ \end{bmatrix}
X對應[kb]
A
對
應
[
x
0
1
x
1
1
]
A對應\begin{bmatrix}x_0 & 1 \\ x_1 & 1\\ \end{bmatrix}
A對應[x0x111]
Y
對
應
[
y
0
y
1
]
Y對應\begin{bmatrix} y_0 \\ y_1 \\ \end{bmatrix}
Y對應[y0y1]
當然我們知道只需要兩組x和y就可以通過矩陣求逆求出k和b了,X = A-1*Y。但這未免也太簡陋了,如果我們有3組,4組甚至10組x,y,我們該怎麼求解k,b呢?如果我們使用給用更多組的x,y我們求得的k和b是不是更加準確。
我們將“除了能唯一確定某個幾何或物理模型的t個必要觀測之外的其餘觀測值”稱為多餘觀測。針對上述問題,多餘兩組的x,y都是多餘觀測。
當存在多餘觀測時,我們就不能像之前那樣對矩陣A求逆了,那怎麼求更準確的k和b呢?
這時候我們就可以藉助最小二乘來求解存在多餘觀測的問題。
理解殘差
在我們利用最小二乘來求解存在多餘觀測的問題之前,我們先介紹殘差,它能更好的幫助我們理解最小二乘的原理。
接著上面的例子將,當我存在多組x,y時,它們並不會乖乖的向我們設想那樣,總在一條直線上,它們可能是這種形式:
即近似的成一條直線,為啥出現近似而非一定呢,這個時候我們就需要介紹更一般(泛)的概念了,我們必須假設我們的到的觀測是一個隨機變數,例如,(你每次拿勺子喝湯,你能夠保證每次搖到的湯重量一致嗎,你只能把這個過程建模成一個隨機過程,即每一次搖到的湯或多或少,它們呈現某種分佈,例如高斯分佈),對於上述問題也是一樣,我們得到的x和y,可能並不一定服從某個k和b,而是大致服從某個k和b。也就是上述圖形。由於隨機誤差的存在,我們可能永遠不能得到準確的k,b。但我們可以基於已有的所有資料(包括多餘觀測)算出一個最優的,最能符合觀測的k,b。這才是我們想要求得的
為了求得所謂的最優,我們先介紹殘差的概念。
殘差的公式可簡寫為:
V
=
A
X
−
Y
V = AX - Y
V=AX−Y
在理想情況下:
0
=
A
X
−
Y
0 = AX - Y
0=AX−Y
但在實際情況中,AX - Y並不等於0,我們定義另一個量V,來代表我們AX估計出的
Y
^
\hat Y
Y^值與觀測值Y之前的差。我們將它畫在圖上:
不能發現,觀測量到其擬合直線之間的y值之差的絕對值,就是殘差V的幾何意義。
最小二乘的“最優”準則
在我們瞭解了殘差V的幾何意義之後,我們不難想象,如果令V最小,就可以確定一條較為準確的直線,如果令
∣
∣
V
∣
∣
2
||V||_2
∣∣V∣∣2即
V
2
V^2
V2,最小,我們也可以確定一條較為準確的直線。我們將令
V
2
V^2
V2最小作為求解準則的方法,稱為最小二乘法(也很好理解,殘差的二乘(平方)最小的方法–最小二乘法)。
我們這裡介紹的最小二乘,可能看起來比較粗暴,有人會問為啥就不能使用|V|最小作為最優原則呢?
其實最小二乘是符合統計意義上的“最優”的,當我們假設觀測量Y(隨機變數)是正態分佈時,為滿足其成正太分佈的條件,那它必須滿足
V
T
V
V^TV
VTV最小。(即最小二乘估計與極大似然估計等價,詳情見:https://blog.csdn.net/u013344884/article/details/79483705)
這時你可能有些模糊了,為了繞開晦澀的概念,你可以簡單理解:
我們理論假設是觀測值的殘差是正太分佈的。
為了讓殘差呈現正太分佈,我們只需讓
V
T
V
V^TV
VTV最小即可確保殘差是呈現正太分佈的。
因此,我們可以求使得
V
T
V
V^TV
VTV最小的引數,為符合最小二乘的最優引數。
最小二乘求解
相關文章
- 非線性最小二乘問題的求解方法
- js 線性最小二乘迴歸線方程JS
- 03 迴歸演算法 - 線性迴歸求解 θ(最小二乘求解)演算法
- 理解最小二乘解
- 梯度下降求解最小二乘梯度
- 二叉樹的最小深度問題二叉樹
- 線性迴歸:最小二乘法實現
- 預測玩家行為動態調整關卡難度——最小二乘問題求解
- 偏最小二乘(pls)迴歸分析 matlabMatlab
- LSGAN:最小二乘生成對抗網路
- 使用最小二乘法進行線性迴歸(Python)Python
- 線性代數 - 矩陣形式下的最小二乘法矩陣
- matlab求解線性規劃問題Matlab
- leetcode.最小棧問題LeetCode
- matlab練習程式(最小二乘多項式擬合)Matlab
- 簡明線性迴歸演算法中的最小二乘法演算法
- Matlab解決線性規劃問題Matlab
- 數值分析:最小二乘與嶺迴歸(Pytorch實現)PyTorch
- ZOJ——Copying Books 最大值最小化問題 (貪心 + 二分)
- 無向圖的最小環問題
- 無向圖的最小環問題[TODO]
- LeetCode 64號問題 最小路徑和LeetCode
- 非線性規劃的經典例題--選址問題
- 03_利用pytorch解決線性迴歸問題PyTorch
- R語言用線性模型進行臭氧預測: 加權泊松迴歸,普通最小二乘,加權負二項式模型,多重插補缺失值|附程式碼資料R語言模型
- 陣列的最小不可組成和問題陣列
- 選擇問題(求第k個最小元素)
- 洛谷題單指南-線性表-P1996 約瑟夫問題996
- 線性規劃的對偶問題——由拉格朗日對偶問題匯出
- 線性結構(二)--陣列陣列
- 冪等性問題
- CSMA/CD 以太幀最小幀長計算問題
- 「典」P5540 最小乘積相關問題
- 樹上最小點覆蓋的一類問題
- 去除重複字母(不同字元的最小序列)問題字元
- 定時器(setTimeout/setInterval)最小延遲的問題定時器
- 手擼機器學習演算法 - 非線性問題機器學習演算法
- 問題 F: 開燈問題(第二講)