1. 程式人生 > >最小二乘法(least squares)

最小二乘法(least squares)

建議有時間的把問題下面的所有答案都過一遍,這樣可以通過不同的切入點來更好的理解。

最小二乘法,也叫最小平方法,在古漢語中“平方”稱為“二乘”,“最小”指的是引數的估計值要保證各個觀測點與估計點的距離的平方和達到最小。(記得贇哥解釋過,這個方法起源於日本,就直接拿過來用了,其實最小平方法更好理解一點)

最小二乘作為一種損失函式,也用做曲線擬合(曲線擬合求引數也是利用最小化平方的方法,其實也是作為一種損失函式,兩個作用可以認為是一致的)

在直線的 y = ax + b中,通過給定的幾個點(x1, y1), (x2, y2), (x3, y3)然後求出引數 (a, b), 根據給出的點列出方程組,然後令:
S

(a,b)(y1(ax1+b))2+(y2(ax2+b))2+(y3(ax3+b))2
然後使 S(a,b) 最小化, 對a 和 b 分別求偏導,令其等於0, 求得a 和 b 的估計值。

上面這個過程是不是跟極大似然估計(MLE)的過程有點像,下面我們再回顧一下MLE做一下對比:
首先MLE使在已知分佈的條件下根據一些樣本來估計引數的方法:
將 y = ax + b 擴充套件到多維的情況,
f(x)=dj=1xjwj+ϵ=xw+ϵ
其中xj1×d, w1×n, y1×n, X =(x1, x2, …, xn), 假設ϵi(0,σ2), 則 yi(

xw,σ2), 現在要估計w的值:

argmaxwL(w)=lni=1n1σ2πexp(12(yixiwσ)2)=12σ2i=1n(yixiw)2nlnσ2π
argminwf(w)=ni=1(yixiw)2=yXw22
這不就是最小二乘麼(公式來源於: https://www.zhihu.com/question/20447622/answer/25186207

其實最小二乘就是歐式距離的損失函式的主體部分, 就是最小平方誤差的方法來估計引數的方法。

對於多維的曲線擬合線性求解方法(https://en.wikipedia.org/wiki/Linear_least_squares_(mathematics)

):
nj=1Xijβj=yi,(i=1,2,,m)
寫成向量形式就是:
Xβ=y
則損失函式:
S(β)=yXβ2

估計值 β̂ 
β̂ =argminβS(β),
β求微分得:
β̂