线性回归模型

在机器学习和统计领域,线性回归模型是最简单的模型之一。

在现实生活中,往往需要分析若干变量之间的关系,如碳排放量与气候变暖之间的关系、某一商品广告投入量与该商品销售量之间的关系等。

回归分析:分析不同变量之间存在关系的研究。

回归模型:刻画不同变量之间关系的模型。如果这个模型是线性的,则称为线性回归模型

一旦确定了回归模型,就可以进行预测等分析工作,如从碳排放量预测气候变化程度、从广告投入量预测商品销售量等。

线性回归模型的决策函数为:

$$y = ax + b$$

其中,$a,x$ 为向量,$y,b$ 为标量。模型训练的目的是为了求解参数 $w,b$。

求解最佳参数,需要一个标准来对结果进行衡量,为此我们需要定量化一个目标函数式,使得计算机可以在求解过程中不断地优化。

将训练集数据(设数量为 $m$)代入模型,都可以得到一组预测值 $f(x_{i})$,对比已有的真实值 $y_{i}$,可以定义平方损失函数如下:

$$L(w,b) = \frac{1}{m}\sum_{i=1}^{m}\left ( f(x_{i}) - y_{i} \right )^{2} = \frac{1}{m}\sum_{i=1}^{m}\left ( wx_{i} + b - y_{i} \right )^{2}$$

现在的任务是求解最小化 $L$ 时 $w$ 和 $b$ 的值,即核心目标优化式为

$$(w^{*},b^{*}) = arg \; \min_{w,b} \sum_{i=1}^{m}\left ( wx_{i} + b - y_{i} \right )^{2}$$

求解方式有两种:

1)最小二乘法

   二乘就是平方的意思,这个方法就是最小平方和的意思。现在要求一个多元函数的极小值,其必要条件就是各个变量的一阶偏导数为 $0$。

   所以可对 $L(w,b)$ 参数 $w$ 和 $𝑏$ 分别求导,令其偏导数值为零,再求取参数 $w$ 和 $b$ 的取值。

$$\frac{\partial L}{\partial w} = \frac{1}{m}\sum_{i=1}^{m} 2(wx_{i} + b - y_{i}) \cdot x_{i} = \frac{2}{m} \left ( w\sum_{i=1}^{m}x_{i}^{2} - \sum_{i=1}^{m}(y_{i} - b)x_{i} \right ) \\
\frac{\partial L}{\partial b} = \frac{1}{m}\sum_{i=1}^{m} 2(wx_{i} + b - y_{i}) =  \frac{2}{m} \left ( \sum_{i=1}^{m}(wx_{i} - y_{i} )\right ) + 2b$$

   令上面两式为 $0$,可解得出

$$b = \frac{1}{m}\sum_{i=1}^{m}(y_{i} - wx_{i}) = \frac{1}{m}\sum_{i=1}^{m}y_{i} - w \cdot \frac{1}{m}\sum_{i=1}^{m}x_{i} = \bar{y} - w \cdot \bar{x}$$

   将 $b = \bar{y} - w \cdot \bar{x}$ 代入第一个式子,可得

$$w\sum_{i=1}^{m}x_{i}^{2} - \sum_{i=1}^{m}(y_{i} - \bar{y} + w \cdot \bar{x})x_{i} = 0 \\
\Rightarrow w\sum_{i=1}^{m}(x_{i}^{2} - x_{i}\bar{x}) - \sum_{i=1}^{m}(y_{i}x_{i} - \bar{y}x_{i}) = 0 \\
\Rightarrow w = \frac{\sum_{i=1}^{m}x_{i}y_{i} - m\bar{x}\bar{y}}{\sum_{i=1}^{m}x_{i}^{2} - m\bar{x}^{2}}$$

   下面全部写成向量形式,重新推导一遍。

   首先令

$$\hat{w} = \begin{bmatrix}
w\\
b
\end{bmatrix} ,\;
\hat{x}_{i} = \begin{bmatrix}
x_{i}\\
1
\end{bmatrix}$$

   那么损失函数可以写为(系数不影响最值,所以去掉):

$$L(w,b) = \sum_{i=1}^{m}\left ( \hat{x_{i}}^{T}\hat{w} - y_{i} \right )^{2}$$

   设向量 $y$ 由所有样本输出组成,向量 $\hat{y}$ 由模型预测输出组成,即

$$y = \begin{bmatrix}
y_{1} \\
y_{2} \\
\vdots \\
y_{m}
\end{bmatrix} \;\;\;\;\;\;
\hat{y} = \begin{bmatrix}
\hat{x_{1}}^{T}\hat{w} \\
\hat{x_{2}}^{T}\hat{w} \\
\vdots \\
\hat{x_{m}}^{T}\hat{w}
\end{bmatrix} = \begin{bmatrix}
\hat{x_{1}}^{T} \\
\hat{x_{2}}^{T} \\
\vdots \\
\hat{x_{m}}^{T}
\end{bmatrix}\hat{w} = X\hat{w}$$

   损失函数可以进一步写为

$$L(w,b) = (\hat{y} - y)^{2} = (\hat{y} - y)^{T}(\hat{y} - y)$$

   展开得

$$L(w,b) = (X\hat{w} - y)^{T}(X\hat{w} - y) \\
= \left ( \hat{w}^{T}X^{T} - y^{T} \right )\left ( X\hat{w} - y \right ) \\
= \hat{w}^{T}X^{T}X\hat{w} - \hat{w}^{T}X^{T}y - y^{T}X\hat{w} + y^{T}y  \\
= \hat{w}^{T}X^{T}X\hat{w} - 2\hat{w}^{T}X^{T}y + y^{T}y$$

   对 $\hat{w}$ 求偏导得

$$\frac{\partial L}{\partial \hat{w}} = 2X^{T}X\hat{w} - 2X^{T}y = -2 X^{T}\left ( y - X\hat{w}\right )$$

   令偏导数为 $0$ 得

$$X^{T}\left ( y - X\hat{w}\right ) = 0$$

   假设 $X^{T}X$ 是非奇异矩阵,则可解得

$$\hat{w} = \left ( X^{T}X \right )^{-1}X^{T}y$$

 

2)梯度下降法

   梯度下降核心内容是对自变量进行不断的更新(针对 $w$ 和 $b$ 求偏导),使得目标函数不断逼近最小值的过程。

   选取 $w,b$ 的初值,这样的话就会避免了上面那些繁琐的求解 $w,b$ 的过程。

$$w \leftarrow w - \alpha \frac{\partial L}{\partial w}  \\
b \leftarrow b - \alpha \frac{\partial L}{\partial b}$$

线性回归得到的方程也是一个超平面,线性回归和线性分类本质是一样的,都是寻找合适的超平面能很好得代表空间中的样本。

线性分类就是在线性回归的模型上再套一个二值函数。

 

posted @ 2020-10-05 07:31  _yanghh  阅读(1403)  评论(1编辑  收藏  举报