线性回归简介
- 1、情景描述
- 2、线性回归
1、情景描述
假设,我们现在有这么一张图:
其中,横坐标x表示房子的面积,纵坐标y表示房价。我们猜想x与y之间存在线性关系: y = k x + b y=kx+b y=kx+b
现在,思考一个问题:如何找到一条直线,使得这条直线尽可能地拟合图中的所有数据点?
这个找最佳拟合直线的过程称为做线性回归
简而言之,线性回归就是在N维空间中找一个类似直线方程y=kx+b
一样的函数来拟合数据
线性回归模型则是利用线性函数对一个或多个自变量(x)和因变量(y)之间的关系进行拟合的模型
这里有一个问题,线性等于直线吗?
线性函数的定义是零阶或一阶多项式。特征是二维时,线性模型在二维空间构成一条直线;特征是三维时,线性模型在三维空间中构成一个平面;以此类推,具体见下文线性回归的定义及推导
还有一个问题,那就是如何评判找的哪条直线才是最优的?详见文章最小二乘法:传送门
2、线性回归
1)线性回归的定义及推导
定义:对于一个有n个特征的样本而言,它的线性回归方程如下:
y = f ( x 1 , x 2 , . . . , x n − 1 ) = ω 0 + w 1 x 1 + w 2 x 2 + . . . + w n − 1 x n − 1 y = f(x_1,x_2,...,x_{n-1}) = \omega_0 + w_1x_1 + w_2x_2 +...+w_{n-1}x_{n-1} y=f(x1,x2,...,xn−1)=ω0+w1x1+w2x2+...+wn−1xn−1
其中, w 0 w_0 w0~ w n − 1 w_{n-1} wn−1统称为模型的参数,表示样本有n个特征,有时也用 θ \theta θ或 β \beta β表示
w 0 w_0 w0称为截距, w 1 w_1 w1~ w n − 1 w_{n-1} wn−1称为回归系数(Regression Coefficients), x 1 x_1 x1~ x n − 1 x_{n-1} xn−1为样本的输入向量,y为样本的输出向量; x 0 x_0 x0始终等于1
根据简单场景推导n个特征的样本线性回归方程过程如下:
假设我们有2个样本:(
x
1
x_1
x1=1,
y
1
y_1
y1=1)、(
x
2
x_2
x2=2,
y
2
y_2
y2=3),我们猜测其关系符合:
y
=
k
x
+
b
y = kx + b
y=kx+b
将样本代入函数:
{
k
∗
1
+
b
=
1
k
∗
2
+
b
=
3
\begin{cases} k * 1 + b = 1 \\ k * 2 + b = 3 \end{cases}
{k∗1+b=1k∗2+b=3
按照从
x
0
x_0
x0~
x
n
−
1
x_{n-1}
xn−1的顺序排列:
{
b
∗
1
+
k
∗
1
=
1
b
∗
1
+
k
∗
2
=
3
\begin{cases} b*1 + k*1 = 1 \\ b*1 + k*2 = 3 \end{cases}
{b∗1+k∗1=1b∗1+k∗2=3
对应到2个特征的线性回归方程模板:
{
b
∗
x
01
+
k
∗
x
11
=
y
1
b
∗
x
02
+
k
∗
x
12
=
y
2
\begin{cases} b*x_{01} + k*x_{11} = y_1 \\ b*x_{02} + k*x_{12} = y_2 \end{cases}
{b∗x01+k∗x11=y1b∗x02+k∗x12=y2
将方程转换为矩阵:
[
1
1
1
2
]
[
b
k
]
=
[
1
3
]
\left[ \begin{matrix} 1 & 1 \\ 1 & 2 \end{matrix} \right] \left[ \begin{matrix} b \\ k \end{matrix} \right] = \left[ \begin{matrix} 1 \\ 3 \end{matrix} \right]
[1112][bk]=[13]
其中,
x
0
x_0
x0始终为1。再次对应到2个特征的线性回归方程模板:
[
1
x
11
1
x
12
]
[
b
k
]
=
[
y
1
y
2
]
\left[ \begin{matrix} 1 & x_{11} \\ 1 & x_{12} \end{matrix} \right] \left[ \begin{matrix} b \\ k \end{matrix} \right] = \left[ \begin{matrix} y_1 \\ y_2 \end{matrix} \right]
[11x11x12][bk]=[y1y2]
根据上述过程,推广到一般场景:
[
1
x
11
x
21
⋯
x
n
−
1
,
1
1
x
12
x
22
⋯
x
n
−
1
,
2
⋮
⋮
⋮
⋱
⋮
1
x
1
m
x
2
m
⋯
x
n
−
1
,
m
]
[
ω
0
ω
1
⋮
ω
m
−
1
]
=
[
y
1
y
2
⋮
y
m
]
\left[ \begin{matrix} 1 & x_{11} & x_{21} & \cdots & x_{{n-1},1} \\ 1 & x_{12} & x_{22} & \cdots & x_{{n-1},2} \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 1 & x_{1m} & x_{2m} & \cdots & x_{{n-1},m} \end{matrix} \right] \left[ \begin{matrix} \omega_0 \\ \omega_1 \\ \vdots \\ \omega_{m-1} \end{matrix} \right] = \left[ \begin{matrix} y_1 \\ y_2 \\ \vdots \\ y_m \end{matrix} \right]
11⋮1x11x12⋮x1mx21x22⋮x2m⋯⋯⋱⋯xn−1,1xn−1,2⋮xn−1,m
ω0ω1⋮ωm−1
=
y1y2⋮ym
简化:
X
ω
=
y
X\omega=y
Xω=y
其中,y为m
×
\times
× 1的矩阵向量,表示模型的理论输出;X为m
×
\times
× n的矩阵向量,表示模型的样本输入,m表示样本数,n表示样本的特征数;
ω
\omega
ω为n
×
\times
× 1的矩阵向量,表示模型有n个特征
2)线性回归的解
线性回归的解析解 ω \omega ω推导:
假设Y是样本的输出矩阵向量,维度为m
×
\times
× 1,则根据勒让德最小二乘准则有:
J
(
ω
)
=
∣
∣
y
−
Y
∣
∣
2
=
∣
∣
X
ω
−
Y
∣
∣
2
=
(
X
ω
−
Y
)
T
(
X
ω
−
Y
)
J(\omega) = ||y-Y||^2 = ||X\omega-Y||^2=(X\omega-Y)^T(X\omega-Y)
J(ω)=∣∣y−Y∣∣2=∣∣Xω−Y∣∣2=(Xω−Y)T(Xω−Y)
根据数学知识,函数导数为0处取极值:
∂
∂
ω
J
(
ω
)
=
2
X
T
X
ω
−
2
X
T
Y
=
0
\frac{\partial}{\partial\omega}J(\omega)=2X^TX\omega-2X^TY=0
∂ω∂J(ω)=2XTXω−2XTY=0
解得:
ω
=
(
X
T
X
)
−
1
X
T
Y
\omega=(X^TX)^{-1}X^TY
ω=(XTX)−1XTY
3)线性回归解的几何意义
线性回归的解是通过最小二乘法求解的。其几何意义是:求解 Y Y Y在 X X X的列向量空间中的投影
几何意义的推导后续视情况补充