最小二乘法是統計學中重要的概念,這篇文章將講解它擬合曲線的性質以及它與投影矩陣的聯絡
拿最小二乘法擬合直線來舉例
將誤差的平方和作為總誤差,總誤差最小時可求得最佳擬合直線
若設y為ax+b,分別對a和b求導,因為這種函式大多為凹函式,所以取偏導為0時有極值,這裡不再展開。
這種求誤差方式是從一維影象上求向量模的最小值,但我們可從高緯度來審視這種方法,先把y-yi列出來
ax1+b=y1-e1
ax2+b=y2-e2
ax3+b=y3-e3
ax4+b=y4-e4
行列式?那我們可以把它轉換成矩陣
這不就是ax=b嗎,更準確的說y1,y2,y3,y4是我們的擬合物件,e1,e2,e3,e4是誤差,這個公式是ax=b-e
若ax=b有解則e=0,此時的x就是我們所需的答案,但往往資料集要遠超變數的數目,b在列空間之外,我們沒法通過空間內的向量去擬合空間外的向量,所以我們要去擬合最接近b的向量,如果拿二維平面(列空間)和三位向量(b)來舉例,最接近b的向量就是b在平面上的投影,此時e^2最小,它就是點到平面的最短距離的平方。
現在假設ax-b垂直於列空間展開的平面,即ax-b在a的零空間中,故at(ax-b)=0
atax=atb—>x=(ata)^-1*atb
此時x中的係數即為最佳擬合係數,這種矩陣演算法給計算機提供了乙個快速計算係數的方法,但計算上還是可能出現問題,設ax=0的解為x1,則x1也是atax=0的解,同時atax=0的解也是xtatax=0,(ax)^2=0的解。所以rank(a)=rank(ata),對m*n矩陣(n>m)時以及a不可逆時,ata不可逆,也就是說沒法直接求解。但atax=atb中的x必定存在,因為b的範圍必在at的零空間和a列空間的線性組合中,設零空間向量x0,b=ax+x0,atb=atax+atx0=atax
投影矩陣 最小二乘法和SVD分解
投影矩陣廣泛地應用在數學相關學科的各種證明中,但是由於其概念比較抽象,所以比較難理解。這篇文章主要從最小二乘法的推導匯出投影矩陣,並且應用svd分解,寫出常用的幾種投影矩陣的形式。已知有乙個這樣的方程組 ax b 其中,a in r x,b in r n 如上圖所示,b 不在 ran a 中,ax ...
投影 最小二乘法介紹
假設a是二維空間乙個子空間,現在我們要求解 ax b 但是就像下面這張圖,b 並不在 a 的列空間裡,所以也就沒解 但是沒辦法吼,領導就是要乙個解,那咋辦?我們只能找乙個最接近的解,我們在二年級的時候學過,b 到 a 上肯定是垂線段最短,所以我們就畫個垂線。這下得到了乙個誤差向量 e 和乙個向量 p...
最小二乘法矩陣
usr bin env python coding utf 8 import numpy as np defcalc left k mat k 獲得左側k矩陣 param k return k mat for i in range k 1 now line for j in range k 1 re...