给定一系列散点(xi,yi)分布符合线性回归,求回归方程式h(x) = wx+b
已知条件:
X=[x1,x2,x3, ......xn]T;
Y=[y1,y2,y3,......yn]T;
预期的回归方程为: h(x) = wx+b
设εi为散点到预测值h(xi)到实际观测值yi的距离
εi=h(xi)-yi
那么ε=[ε1,ε2,ε3,...εn ]T应该符合正态分布
即概率P(εi) = 1/δ√2π e-(εi-μ)2/2δ2
设θ = [w,b]T;
X = [X,1]=
[[x1,x2,x3, ......xn],
[1,1,1,......1]]T;
Xi = [xi,1];
那么有Y=Xθ
Y: nx1阶, X: nx2阶, Xi1x2阶, θ: 2x1阶
1.使用似然函数推导
似然函数L(θ)=∏P(εi)
什么叫似然?
参考http://blog.sina.com.cn/s/blog_e8ef033d0101oa4k.html
因此 我们希望求得的线性回归方程能够使得似然函数L(θ)取到最大值
由于P(εi)始终是大于0的
对两边L(θ)=∏P(εi)同时取㏑
l(θ) = ∑㏑P(εi)
l(θ) = ∑㏑1/δ√2π e-(εi-μ)2/2δ2
这里μ=mean(ε),μ为ε的平均值,取0(高斯正态分布)
l(θ)=∑㏑1/δ√2π e-(εi)2/2δ2
由于εi=h(xi)-yi,那么εi=Xiθ - yi
l(θ)=∑㏑1/δ√2π e-(Xiθ - yi)2/2δ2
l(θ)=∑㏑1/δ√2π - ∑(Xiθ - yi)2/2δ2
...
l(θ)为凹函数(证明后续补上)
似然函数取最大,即l(θ)导数为0即可
...
对l(θ)=∑㏑1/δ√2π - ∑(Xiθ - yi)2/2δ2左右两边求导
l'(θ) = (- ∑(Xiθ - yi)2/2δ2)'
0 = (-1/2(Xθ-Y)T(Xθ-Y))'
0 = (-1/2(θTXT-YT)(Xθ-Y))'
0 = (-1/2(θTXTXθ-YTXθ - YTXθ+YTY))'
0=-1/2(2XTXθ-(YTX)T-XTY)
0=XTXθ-XTY
所以
θ=(XTX)-1XTY
2.使用最小二乘法推导
什么叫做最小二乘法?
最小二乘法也叫作最小平方法,主要是通过最小化误差的平方和寻找数据的最佳函数匹配.
均方误差MSE最小即可.
MSE=∑1/nε2=∑1/n(Xiθ - yi)2
MSE=∑1/n(wxi + b - yi)2
参考https://blog.csdn.net/zfjBIT/article/details/90635103
对其求二阶导数
(MSE)''=1/n∑[ ∂MSE / ∂w ∂w, ∂MSE / ∂w ∂b;
∂MSE / ∂b ∂w,∂MSE / ∂b ∂b]
=2/n∑[xi2, xi;xi,1]
这里[xi2, xi;xi,1]是正定矩阵
因此MSE是凸函数,有最小值
推导如下:
设z=[i,j]T为非零向量,则
zT[xi2, xi;xi,1]z=i2xi2 + 2ijxi + j2=(ixi+j)2>0
由此可知(MSE)''为正定函数.
n为数据个数,常数,不影响,划去
mse=∑ε2=∑(Xiθ - yi)2
求导:(这里是标量对矩阵求导)
∂mse / ∂θ = (∑(Xiθ - yi)2) / ∂θ
∂mse / ∂θ = ((Xθ - Y)T(Xθ - Y)) / ∂θ
∂mse / ∂θ = ((θTXT - YT)(Xθ - Y)) / ∂θ
∂mse / ∂θ = ((θTXTXθ - θTXTY - YTXθ + YTY)) / ∂θ
∂mse / ∂θ = ((2XTXθ - XTY - (YTX)T))
∂mse / ∂θ = 2XTXθ - 2XTY
由于MSE是凸函数,当 ∂mse / ∂θ = 0时,MSE取最小值
2XTXθ - 2XTY=0
θ=(XTX)-1XTY
网友评论