机器学习线性回归与最小二乘法

机器学习线性回归与最小二乘法

假设有一些数据点,我们用一条直线对这些点进行拟合(该线称为最佳拟合直线),这个拟合过程就叫做回归。

一元线性回归

对于训练样本(x_i, y_i) (1 \le i \le m),线性回归试图学得f(x)=wx+b,使得f(x_i)尽可能逼近y_i。训练样本(x_i, y_i)只有一个特征属性,所以这种线性回归叫做一元线性回归。

现在的问题是如何确定w和b,关键在于如何衡量f(x_i)y_i之间的差别,我们使用残差平方和E_{(w,b)}来度量预测值与真实值之间的误差。求解w和b使E_{(w,b)}最小化的过程称为线性回归模型的最小二乘参数估计,下面是推导过程:

    \[E_{(w,b)}=\sum_{i=1}^m(y_i-f(x_i))^2=\sum_{i=1}^m(y_i-(wx_i+b))^2=\sum_{i=1}^m(y_i^2+w^2x_i^2+2wbx_i+b^2-2wx_iy_i-2by_i)\]

E_{(w,b)}分别对w和b求一阶偏导:

    \[\frac{\partial E_{(w,b)}}{\partial w}=\sum_{i=1}^m(2wx_i^2+2bx_i-2x_iy_i)=2(w\sum_{i=1}^mx_i^2-\sum_{i=1}^m(y_i-b)x_i)\]

    \[\frac{\partial E_{(w,b)}}{\partial b}=\sum_{i=1}^m(2wx_i+2b-2y_i)=2(mb-\sum_{i=1}^m(y_i-wx_i))\]

E_{(w,b)}是关于w和b的凸函数,当它关于w和b的导数均为0时,得到最优解。

\frac{\partial E_{(w,b)}}{\partial w}=0,即

(1)   \[2(w\sum_{i=1}^mx_i^2-\sum_{i=1}^m(y_i-b)x_i)=0 \]

\frac{\partial E_{(w,b)}}{\partial b}=0,即

(2)   \[2(mb-\sum_{i=1}^m(y_i-wx_i))=0 \]

由(2)可得:

    \[mb=\sum_{i=1}^m(y_i-wx_i)\]

    \[b=\frac 1m\sum_{i=1}^m(y_i-wx_i)=\frac 1m\sum_{i=1}^my_i-\frac wm\sum_{i=1}^mx_i\]

\bar{y}=\frac 1m\sum_{i=1}^my_i\bar{x}=\frac 1m\sum_{i=1}^mx_i,则

(3)   \[b=\bar{y}-w\bar{x} \]

将(3)代入(1):

    \[w\sum_{i=1}^mx_i^2-\sum_{i=1}^m(y_i-\bar{y}+w\bar{x})x_i=0\]

    \[w(\sum_{i=1}^m(x_i^2-\bar{x}x_i))=\sum_{i=1}^m(y_i-\bar{y})x_i\]

(4)   \[w=\frac {\sum_{i=1}^m(y_i-\bar{y})x_i}{\sum_{i=1}^m(x_i^2-\bar{x}x_i)} \]

将(4)代入(3)则可解得b。

多元线性回归

多元线性回归就是一元线性回归的一般化,即每个训练样本包括d个特征属性。线性回归试图学得如下模型:

    \[f(x)=w_1x_1+w_2x_2+\cdots+w_dx_d+b\]

我们依然使用最小二乘法来最小化m个训练样本的残差平方和,推导过程如下:

    \[X=\begin{bmatrix} x_{11} & x_{12} & \cdots & x_{1d} & 1 \\\ x_{21} & x_{22} & \cdots & x_{2d} & 1 \\\ \vdots & \vdots & \vdots & \vdots & \vdots \\\ x_{m1} & x_{m2} & \cdots & x_{md} & 1 \end{bmatrix}\]

    \[w=\begin{bmatrix}w_1 \\ w_2 \\\ \vdots \\\ w_d \\\ b \end{bmatrix}\]

    \[Y=\begin{bmatrix}y_1 \\\ y_2 \\\ \vdots \\\ y_m \end{bmatrix}\]

    \[f(X)=Xw\]

    \[E_{(w)}=(Y-Xw)^T(Y-Xw)\]

经过与一元线性回归类似的推导过程,可解得:

    \[w=(X^TX)^{-1}X^TY\]

则对于某个输入样本

    \[X_i=\begin{bmatrix}x_{i1} \\\ x_{i2} \\\ \vdots \\\ x_{id} \\\ 1 \end{bmatrix}\]

其预测结果为:

    \[f(X_i)=X_i^Tw=X_i^T(X^TX)^{-1}X^TY\]

其中涉及矩阵求导等详细的推导过程我们会在后续文章中补充。

发表评论

电子邮件地址不会被公开。 必填项已用*标注