最小二乘法least square

上研究生的时候接触的第一个Loss function就是least square。最近又研究了一下,做个总结吧。

定义看wiki就够了。公式如下

E(w)=12n=1N{yxWT}2 E(w)=12∑n=1N{y−xWT}2

其中 y y代表类标列向量, x x代表特征行向量, W W代表回归或者分类参数矩阵。通过令欧式距离最小化优化得到最优的 W W

我遇到的第一个问题是,这个公式是怎么得到的,motivation是什么。我个人倾向于最大似然这个角度来解释。具体如下:

假设回归或分类模型公式如下:

y=WTx+ϵ y=WTx+ϵ

ϵN(0,σ2) ϵ∼N(0,σ2)代表加性高斯噪声,所以 yN(WTx,σ2) y∼N(WTx,σ2)。这时通过独立观测 x x得到一系列的观测值 X=(x1,y1).,(xN,yN) X=(x1,y1)….,(xN,yN),则可写出对应的似然函数

p(yX,w,σ)=ΠNn=1N(WTx,σ2) p(y∣X,w,σ)=Πn=1NN(WTx,σ2)

两边同取自然对数,则

ln(p(yX,w,σ))=i=1Nln(N(WTx,σ2)) ln(p(y∣X,w,σ))=∑i=1Nln(N(WTx,σ2))

N(WTx,σ2)=12πσ2exp((yWTx2)2σ2) N(WTx,σ2)=12πσ2exp⁡(−(y−WTx)22σ2)

ln(p(yX,w,σ))=12σ2n=1N{ynWTxn}212ln(2πσ2) ln(p(y∣X,w,σ))=−12σ2∑n=1N{yn−WTxn}2−12ln(2πσ2)

最大似然函数,求解W,

W=argminW12σ2n=1N{ynWTxn}212ln(2πσ2) W∗=argminW−12σ2∑n=1N{yn−WTxn}2−12ln(2πσ2)

上式中第二项与 W W无关,可以省略,故

W=argminW12σ2n=1N{ynWTxn}2 W∗=argminW−12σ2∑n=1N{yn−WTxn}2

把上式中的 σ2 σ2取掉,就是我们熟悉的最小二乘法啦。

求解时,对对数似然函数求偏导(注意矩阵求导的规则)

ln(p(yX,w,σ))=Nn=1{ynWTxn}xTn ∇ln(p(y∣X,w,σ))=−∑n=1N{yn−WTxn}xnT 令上式为0,则有

n=1NynxTn=WTn=1NxnxTn ∑n=1NynxnT=WT∑n=1NxnxnT

两边同取矩阵的逆,则有:  Nn=1xnyTn=Nn=1xnxTnW ∑n=1NxnynT=∑n=1NxnxnTW

如果用 Y Y表示类标矩阵, X X表示特征矩阵,则有  XYT=XXTW XYT=XXTW  W=(XXT)1XYT W=(XXT)−1XYT

上面的公式称为normal equation。可以求得 W W的封闭解,但是只要做过实验的都知道,如果 X X的维数稍微一大,求逆的过程非常非常非常慢,且要消耗非常非常多的资源。所以 W W一般用梯度下降法求解。

最大似然法在一定程度上证明了最小二乘法的合理性,但是事实上在历史上最小二乘的出现早于前者,所以可以从其它的角度思考一下最小二乘的合理性。比如最小二乘的几何意义,这篇文章讲的挺好的,看了之后受益匪浅。


from: http://bucktoothsir.github.io/blog/2015/12/04/leastsquare/

你可能感兴趣的:(计算机视觉CV)