1、情景描述
假设,我们现在有这么一张图:
其中,横坐标x表示房子的面积,纵坐标y表示房价。我们猜想x与y之间存在线性关系: y = k x + b y=kx+b y=kx+b
现在,思考一个问题:如何找到一条直线,使得这条直线尽可能地拟合图中的所有数据点?
这个找最佳拟合直线的过程称为做线性回归
简而言之,线性回归就是在N维空间中找一个类似直线方程y=kx+b
一样的函数来拟合数据
线性回归模型则是利用线性函数对一个或多个自变量(x)和因变量(y)之间的关系进行拟合的模型
这里有一个问题,线性等于直线吗?
线性函数的定义是零阶或一阶多项式。特征是二维时,线性模型在二维空间构成一条直线;特征是三维时,线性模型在三维空间中构成一个平面;以此类推,具体见下文线性回归的定义及推导
还有一个问题,那就是如何评判找的哪条直线才是最优的?详见文章最小二乘法:传送门
2、线性回归
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 ] = [