本文是线性回归第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}
yi 和 预测值
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)
(yi−y^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=1∑m(yi−y^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=1∑m(yi−axi−b)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=1∑m(yi−axi−b)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)
∂a∂J(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)
∂b∂J(a,b)=i=1∑m2(yi−axi−b)(−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=1∑m(yi−axi−b)=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=1∑myi−ai=1∑mxi−i=1∑mb=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=1∑myi−ai=1∑mxi−mb=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=1∑myi−ai=1∑mxi(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=m∑i=1myi−ma∑i=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)
∂a∂J(a,b)=i=1∑m2(yi−axi−b)(−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=1∑m(yi−axi−b)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=1∑m(yi−axi−yˉ+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=1∑m(xiyi−a(xi)2−xiyˉ+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=1∑m(xiyi−xiyˉ)−ai=1∑m(xi2−xˉ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(xi2−xˉxi)∑i=1m(xiyi−xiyˉ)(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=1∑mxiyˉ=yˉi=1∑mxi=myˉxˉ=xˉi=1∑myi=i=1∑mxˉ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=1∑mxˉ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(xi2−xˉxi−xˉxi+xˉ2)∑i=1m(xiyi−xiyˉ−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(xi2−2xˉxi+xˉ2)∑i=1m(xi(yi−yˉ)−xˉ(yi−yˉ))(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(xi−xˉ)2∑i=1m(xi−xˉ)(yi−yˉ)(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(xi−xˉ)2∑i=1m(xi−xˉ)(yi−yˉ),b=yˉ−axˉ(26)
以上就是一元线性回归的详细求解过程,由于是一元,这里的和比较容易得到,a和b也容易求得。但是,对于多元线性回归的情况,系数的求解需要使用到矩阵,而更多求解其它目标函数使用的是梯度下降法。