机器学习--02算法--01线性回归(1)

本文是线性回归第1篇,最简单的推导方式,求得是一元线性的解析解

下面是一元线性回归的详细求解过程。

y = a x + b ( 1 ) y = ax + b \quad\quad\quad\quad(1) y=ax+b(1)

对于一个样本点 x i x_{i} xi,有预测值为:
y ^ i = a x i + b ( 2 ) \hat{y}_{i} = ax_{i} + b \quad\quad\quad\quad(2) y^i=axi+b(2)

这个样本点的真值为 y i y_{i} yi,要想获得最佳拟合方程,就需要使真值 y i y_{i} yiy_{i} 和 预测值 y ^ i \hat{y}_{i} y^i之间的差值最小,为了后面方便求极值,使用两个值差的平方:
( y i − y ^ i ) 2 ( 3 ) \left ( y_{i} - \hat{y}_{i} \right )^{2} \quad\quad\quad\quad(3) (yiy^i)2(3)
当把所有样本 ( x 1 , x 2 , x 3 , ⋯   , x m ) \left ( x_{1}, x_{2}, x_{3},\cdots , x_{m} \right ) (x1,x2,x3,,xm)考虑进来时,上式则为:
∑ i = 1 m ( y i − y ^ i ) 2 ( 4 ) \sum_{i=1}^{m}\left ( y_{i} - \hat{y}_{i} \right )^{2} \quad\quad\quad\quad(4) i=1m(yiy^i)2(4)
得到上式后,现在的目标就是使上式尽可能的小,将式(2)代入上式,可得:
∑ i = 1 m ( y i − a x i − b ) 2 ( 5 ) \sum_{i=1}^{m}\left ( y_{i} - ax_{i}-b \right )^{2} \quad\quad\quad\quad(5) i=1m(yiaxib)2(5)
此时的目标是找到a和b,使得式(5)尽可能的小,这就转化成了最优化问题:

J ( a , b ) = ∑ i = 1 m ( y i − a x i − b ) 2 ( 6 ) J\left ( a,b \right )=\sum_{i=1}^{m}\left ( y_{i} -ax_{i}-b\right )^{2} \quad\quad\quad(6) J(a,b)=i=1m(yiaxib)2(6)
要求上式的最小值,其实就是求该式的极值,需要对上式进行求导,导数为0的位置就是极值的位置,分别对a和b求导:
∂ J ( a , b ) ∂ a = 0 ( 7 ) \frac{\partial J\left ( a,b \right )}{\partial a} = 0 \quad\quad\quad(7) aJ(a,b)=0(7)
从式(6)可以看出,括号里,a的系数是 x i x_{i} xi,b的系数是-1,明显对b求导更简单,这里先对b求导:
∂ J ( a , b ) ∂ b = ∑ i = 1 m 2 ( y i − a x i − b ) ( − 1 ) = 0 ( 8 ) \frac{\partial J\left ( a,b \right )}{\partial b}=\sum_{i=1}^{m}2\left ( y_{i}-ax_{i}-b \right )\left ( -1 \right )=0 \quad\quad\quad(8) bJ(a,b)=i=1m2(yiaxib)(1)=0(8)
对式(8)化简,去掉其中的-2,得:
∑ i = 1 m ( y i − a x i − b ) = 0 ( 9 ) \sum_{i=1}^{m}\left ( y_{i}-ax_{i}-b \right )=0 \quad\quad\quad(9) i=1m(yiaxib)=0(9)
将式(9)的括号去掉,得:
∑ i = 1 m y i − a ∑ i = 1 m x i − ∑ i = 1 m b = 0 ( 10 ) \sum_{i=1}^{m}y_{i} -a\sum_{i=1}^{m}x_{i}-\sum_{i=1}^{m}b=0 \quad\quad\quad(10) i=1myiai=1mxii=1mb=0(10)
式(10)的第三项其实就是mb,可写为:
∑ i = 1 m y i − a ∑ i = 1 m x i − m b = 0 ( 11 ) \sum_{i=1}^{m}y_{i} -a\sum_{i=1}^{m}x_{i}-mb=0 \quad\quad\quad(11) i=1myiai=1mximb=0(11)
将式(11)的mb拿到一侧,得:
m b = ∑ i = 1 m y i − a ∑ i = 1 m x i ( 12 ) mb=\sum_{i=1}^{m}y_{i} -a\sum_{i=1}^{m}x_{i} \quad\quad\quad(12) mb=i=1myiai=1mxi(12)
式(12)的等式两边同时除以m,得:
b = ∑ i = 1 m y i m − a ∑ i = 1 m x i m ( 13 ) b= \frac{\sum_{i=1}^{m}y_{i}}{m} - \frac{a\sum_{i=1}^{m}x_{i}}{m} \quad\quad\quad(13) b=mi=1myimai=1mxi(13)
式(13),第一项中所有 y i y_{i} yi的和除以m其实就是 y i y_{i} yi的平均值,第二项中所有 x i x_{i} xi的和除以m就是 x i x_{i} xi的平均值,所以,式(13)可写为:
b = y ˉ − a x ˉ ( 14 ) b = \bar{y} - a\bar{x} \quad\quad\quad(14) b=yˉaxˉ(14)
式(14)就是b的结果,然后基于式(6)再对a进行求导:
∂ J ( a , b ) ∂ a = ∑ i = 1 m 2 ( y i − a x i − b ) ( − x i ) = 0 ( 15 ) \frac{\partial J\left ( a,b \right )}{\partial a}=\sum_{i=1}^{m}2\left ( y_{i}-ax_{i}-b \right )\left ( -x_{i} \right )=0 \quad\quad\quad(15) aJ(a,b)=i=1m2(yiaxib)(xi)=0(15)
式(15)可化简为:
∑ i = 1 m ( y i − a x i − b ) x i = 0 ( 16 ) \sum_{i=1}^{m}\left ( y_{i}-ax_{i}-b \right )x_{i} =0 \quad\quad\quad(16) i=1m(yiaxib)xi=0(16)
将b的结果代入上式,得:
∑ i = 1 m ( y i − a x i − y ˉ + a x ˉ ) x i = 0 ( 17 ) \sum_{i=1}^{m}\left ( y_{i}-ax_{i}-\bar{y}+a\bar{x} \right )x_{i} =0 \quad\quad\quad(17) i=1m(yiaxiyˉ+axˉ)xi=0(17)
将上式的 x i x_{i} xi乘到括号里,得:
∑ i = 1 m ( x i y i − a ( x i ) 2 − x i y ˉ + a x ˉ x i ) = 0 ( 18 ) \sum_{i=1}^{m}\left ( x_{i}y_{i}-a\left (x_{i} \right )^{2}-x_{i}\bar{y}+a\bar{x}x_{i} \right ) =0 \quad\quad\quad(18) i=1m(xiyia(xi)2xiyˉ+axˉxi)=0(18)
把上式中含有a的项放到一起,得:
∑ i = 1 m ( x i y i − x i y ˉ ) − a ∑ i = 1 m ( x i 2 − x ˉ x i ) = 0 ( 19 ) \sum_{i=1}^{m}\left ( x_{i}y_{i}-x_{i}\bar{y} \right )-a\sum_{i=1}^{m}\left ( x_{i}^{2}-\bar{x}x_{i} \right ) =0 \quad\quad\quad(19) i=1m(xiyixiyˉ)ai=1m(xi2xˉxi)=0(19)
再把a放到等式的左边,其它部分放到等式右边,可求得a的值为:
a = ∑ i = 1 m ( x i y i − x i y ˉ ) ∑ i = 1 m ( x i 2 − x ˉ x i ) ( 20 ) a = \frac{\sum_{i=1}^{m}\left ( x_{i}y_{i}-x_{i}\bar{y} \right )}{\sum_{i=1}^{m}\left ( x_{i}^{2}-\bar{x}x_{i} \right )} \quad\quad\quad(20) a=i=1m(xi2xˉxi)i=1m(xiyixiyˉ)(20)
此时已经求得了a和b的值,这里对式(20)进一步处理,分子中的第二项可做如下转换:
∑ i = 1 m x i y ˉ = y ˉ ∑ i = 1 m x i = m y ˉ x ˉ = x ˉ ∑ i = 1 m y i = ∑ i = 1 m x ˉ y i ( 21 ) \sum_{i=1}^{m}x_{i}\bar{y}=\bar{y}\sum_{i=1}^{m}x_{i} = m\bar{y}\bar{x} = \bar{x}\sum_{i=1}^{m}y_{i} = \sum_{i=1}^{m}\bar{x}y_{i} \quad\quad\quad(21) i=1mxiyˉ=yˉi=1mxi=myˉxˉ=xˉi=1myi=i=1mxˉyi(21)
其中, x ˉ \bar{x} xˉ y ˉ \bar{y} yˉ是常数,则
m y ˉ x ˉ = ∑ i = 1 m x ˉ y ˉ ( 22 ) m\bar{y}\bar{x} = \sum_{i=1}^{m}\bar{x}\bar{y} \quad\quad\quad(22) myˉxˉ=i=1mxˉyˉ(22)
基于式(21)和式(22)对(20)进行变换,得下式。由式(21)可看出,式(23)分子的第三项和第四项相等,分母的第三项与第四项其实就是将分子的第三项与第四项中的y变为了x。所以,分母的第三项和第四项也是相等的。
a = ∑ i = 1 m ( x i y i − x i y ˉ − x ˉ y i + x ˉ y ˉ ) ∑ i = 1 m ( x i 2 − x ˉ x i − x ˉ x i + x ˉ 2 ) ( 23 ) a = \frac{\sum_{i=1}^{m}\left ( x_{i}y_{i}-x_{i}\bar{y} - \bar{x}y_{i} + \bar{x}\bar{y} \right )}{\sum_{i=1}^{m}\left ( x_{i}^{2}-\bar{x}x_{i} - \bar{x}x_{i} +\bar{x}^{2}\right )} \quad\quad\quad(23) a=i=1m(xi2xˉxixˉxi+xˉ2)i=1m(xiyixiyˉxˉyi+xˉyˉ)(23)
式(23),进一步可以合并为:
a = ∑ i = 1 m ( x i ( y i − y ˉ ) − x ˉ ( y i − y ˉ ) ) ∑ i = 1 m ( x i 2 − 2 x ˉ x i + x ˉ 2 ) ( 24 ) a = \frac{\sum_{i=1}^{m}\left ( x_{i}\left ( y_{i}-\bar{y} \right ) - \bar{x}\left ( y_{i}-\bar{y} \right ) \right )}{\sum_{i=1}^{m}\left ( x_{i}^{2}-2\bar{x}x_{i} +\bar{x}^{2}\right )} \quad\quad\quad(24) a=i=1m(xi22xˉxi+xˉ2)i=1m(xi(yiyˉ)xˉ(yiyˉ))(24)
即:
a = ∑ i = 1 m ( x i − x ˉ ) ( y i − y ˉ ) ∑ i = 1 m ( x i − x ˉ ) 2 ( 25 ) a = \frac{\sum_{i=1}^{m}\left ( x_{i}-\bar{x} \right )\left ( y_{i}-\bar{y} \right )}{\sum_{i=1}^{m}\left ( x_{i}-\bar{x} \right )^{2}} \quad\quad\quad(25) a=i=1m(xixˉ)2i=1m(xixˉ)(yiyˉ)(25)
此时就找了使得式(5)尽可能的小a和b,即:
a = ∑ i = 1 m ( x i − x ˉ ) ( y i − y ˉ ) ∑ i = 1 m ( x i − x ˉ ) 2 , b = y ˉ − a x ˉ ( 26 ) a = \frac{\sum_{i=1}^{m}\left ( x_{i}-\bar{x} \right )\left ( y_{i}-\bar{y} \right )}{\sum_{i=1}^{m}\left ( x_{i}-\bar{x} \right )^{2}},b = \bar{y} - a\bar{x} \quad\quad\quad(26) a=i=1m(xixˉ)2i=1m(xixˉ)(yiyˉ),b=yˉaxˉ(26)
以上就是一元线性回归的详细求解过程,由于是一元,这里的\bar{x}\bar{y}比较容易得到,a和b也容易求得。但是,对于多元线性回归的情况,系数的求解需要使用到矩阵,而更多求解其它目标函数使用的是梯度下降法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值