最小二乘法least square
2016-02-29 20:35
411 查看
上研究生的时候接触的第一个Loss function就是least square。最近又研究了一下,做个总结吧。
定义看wiki就够了。公式如下
E(w)=12∑n=1N{y−xWT}2E(w)=12∑n=1N{y−xWT}2
其中yy代表类标列向量,xx代表特征行向量,WW代表回归或者分类参数矩阵。通过令欧式距离最小化优化得到最优的WW。
我遇到的第一个问题是,这个公式是怎么得到的,motivation是什么。我个人倾向于最大似然这个角度来解释。具体如下:
假设回归或分类模型公式如下:
y=WTx+ϵy=WTx+ϵ
ϵ∼N(0,σ2)ϵ∼N(0,σ2)代表加性高斯噪声,所以y∼N(WTx,σ2)y∼N(WTx,σ2)。这时通过独立观测xx得到一系列的观测值X=(x1,y1)….,(xN,yN)X=(x1,y1)….,(xN,yN),则可写出对应的似然函数
p(y∣X,w,σ)=ΠNn=1N(WTx,σ2)p(y∣X,w,σ)=Πn=1NN(WTx,σ2)
两边同取自然对数,则
ln(p(y∣X,w,σ))=∑i=1Nln(N(WTx,σ2))ln(p(y∣X,w,σ))=∑i=1Nln(N(WTx,σ2))
而N(WTx,σ2)=12πσ2√exp(−(y−WTx2)2σ2)N(WTx,σ2)=12πσ2exp(−(y−WTx)22σ2)
故
ln(p(y∣X,w,σ))=−12σ2∑n=1N{yn−WTxn}2−12ln(2πσ2)ln(p(y∣X,w,σ))=−12σ2∑n=1N{yn−WTxn}2−12ln(2πσ2)
最大似然函数,求解W,
W∗=argminW−12σ2∑n=1N{yn−WTxn}2−12ln(2πσ2)W∗=argminW−12σ2∑n=1N{yn−WTxn}2−12ln(2πσ2)
上式中第二项与WW无关,可以省略,故
W∗=argminW−12σ2∑n=1N{yn−WTxn}2W∗=argminW−12σ2∑n=1N{yn−WTxn}2
把上式中的σ2σ2取掉,就是我们熟悉的最小二乘法啦。
求解时,对对数似然函数求偏导(注意矩阵求导的规则)
∇ln(p(y∣X,w,σ))=−∑Nn=1{yn−WTxn}xTn∇ln(p(y∣X,w,σ))=−∑n=1N{yn−WTxn}xnT 令上式为0,则有
∑n=1NynxTn=WT∑n=1NxnxTn∑n=1NynxnT=WT∑n=1NxnxnT
两边同取矩阵的逆,则有: ∑Nn=1xnyTn=∑Nn=1xnxTnW∑n=1NxnynT=∑n=1NxnxnTW
如果用YY表示类标矩阵,XX表示特征矩阵,则有 XYT=XXTWXYT=XXTW W=(XXT)−1XYTW=(XXT)−1XYT
上面的公式称为normal equation。可以求得WW的封闭解,但是只要做过实验的都知道,如果XX的维数稍微一大,求逆的过程非常非常非常慢,且要消耗非常非常多的资源。所以WW一般用梯度下降法求解。
最大似然法在一定程度上证明了最小二乘法的合理性,但是事实上在历史上最小二乘的出现早于前者,所以可以从其它的角度思考一下最小二乘的合理性。比如最小二乘的几何意义,这篇文章讲的挺好的,看了之后受益匪浅。
from: http://bucktoothsir.github.io/blog/2015/12/04/leastsquare/
定义看wiki就够了。公式如下
E(w)=12∑n=1N{y−xWT}2E(w)=12∑n=1N{y−xWT}2
其中yy代表类标列向量,xx代表特征行向量,WW代表回归或者分类参数矩阵。通过令欧式距离最小化优化得到最优的WW。
我遇到的第一个问题是,这个公式是怎么得到的,motivation是什么。我个人倾向于最大似然这个角度来解释。具体如下:
假设回归或分类模型公式如下:
y=WTx+ϵy=WTx+ϵ
ϵ∼N(0,σ2)ϵ∼N(0,σ2)代表加性高斯噪声,所以y∼N(WTx,σ2)y∼N(WTx,σ2)。这时通过独立观测xx得到一系列的观测值X=(x1,y1)….,(xN,yN)X=(x1,y1)….,(xN,yN),则可写出对应的似然函数
p(y∣X,w,σ)=ΠNn=1N(WTx,σ2)p(y∣X,w,σ)=Πn=1NN(WTx,σ2)
两边同取自然对数,则
ln(p(y∣X,w,σ))=∑i=1Nln(N(WTx,σ2))ln(p(y∣X,w,σ))=∑i=1Nln(N(WTx,σ2))
而N(WTx,σ2)=12πσ2√exp(−(y−WTx2)2σ2)N(WTx,σ2)=12πσ2exp(−(y−WTx)22σ2)
故
ln(p(y∣X,w,σ))=−12σ2∑n=1N{yn−WTxn}2−12ln(2πσ2)ln(p(y∣X,w,σ))=−12σ2∑n=1N{yn−WTxn}2−12ln(2πσ2)
最大似然函数,求解W,
W∗=argminW−12σ2∑n=1N{yn−WTxn}2−12ln(2πσ2)W∗=argminW−12σ2∑n=1N{yn−WTxn}2−12ln(2πσ2)
上式中第二项与WW无关,可以省略,故
W∗=argminW−12σ2∑n=1N{yn−WTxn}2W∗=argminW−12σ2∑n=1N{yn−WTxn}2
把上式中的σ2σ2取掉,就是我们熟悉的最小二乘法啦。
求解时,对对数似然函数求偏导(注意矩阵求导的规则)
∇ln(p(y∣X,w,σ))=−∑Nn=1{yn−WTxn}xTn∇ln(p(y∣X,w,σ))=−∑n=1N{yn−WTxn}xnT 令上式为0,则有
∑n=1NynxTn=WT∑n=1NxnxTn∑n=1NynxnT=WT∑n=1NxnxnT
两边同取矩阵的逆,则有: ∑Nn=1xnyTn=∑Nn=1xnxTnW∑n=1NxnynT=∑n=1NxnxnTW
如果用YY表示类标矩阵,XX表示特征矩阵,则有 XYT=XXTWXYT=XXTW W=(XXT)−1XYTW=(XXT)−1XYT
上面的公式称为normal equation。可以求得WW的封闭解,但是只要做过实验的都知道,如果XX的维数稍微一大,求逆的过程非常非常非常慢,且要消耗非常非常多的资源。所以WW一般用梯度下降法求解。
最大似然法在一定程度上证明了最小二乘法的合理性,但是事实上在历史上最小二乘的出现早于前者,所以可以从其它的角度思考一下最小二乘的合理性。比如最小二乘的几何意义,这篇文章讲的挺好的,看了之后受益匪浅。
from: http://bucktoothsir.github.io/blog/2015/12/04/leastsquare/
相关文章推荐
- 最小二乘法拟合多项式曲线原理
- 机器学习经典算法之-----最小二乘法
- 深入浅出了解最小二乘法及其应用
- 广义线性模型1
- 自动阈值分割-场景中直线个数的检测
- 逻辑回归详谈
- 最小二乘法的一阶、二阶辨识系统
- 回归分析中的参数估计为何是最小二乘法(least squares),不是最小一乘法(least absolute deviations)
- 2 Linear Regression, Gradient descent
- 如何使用MATLAB绘制平滑曲线
- 无约束最优化方法学习笔记
- 数据挖掘笔记-分类-回归算法-最小二乘法
- 线性回归之——最小二乘法 推荐
- 拟合直线 二次函数曲线 最小二乘法 javascript(p5.js)
- 线性回归算法实现(最小二乘法, 梯度下降)
- 最小二乘法推导和证明(matlab代码实现)
- 最小二乘法中的多项式拟合详解
- G2O非线性优化
- 非线性最小二乘法之Gauss Newton、L-M、Dog-Leg
- 题目:影子定位