机器学习基础——线性回归数学原理

8 阅读1分钟

概述

对于给定数据集D=(xi,yi)i=1mD={(\mathbf x_i,y_i)}_{i=1}^m,其中xi=(xi1,xi2,...,xid),yiR\mathbf x_i=(x_{i1},x_{i2},...,x_{id}),y_i\in\mathbb R。线性回归的目的是找到一个函数

f(x)=wTx+bf(\mathbf x)=\mathbf w^T\mathbf x+b

使得线性模型的预测值f(x)f(\mathbf x)与真实值yy尽可能接近。通常选用均方误差来判断其接近程度,即

E(f;D)=1mi=1m(f(xi)yi)2=1mi=1m(wTxi+byi)2\begin{aligned} E(f;D)&=\frac1m\sum_{i=1}^m(f(\mathbf x_i)-y_i)^2\\ &=\frac1m\sum_{i=1}^m(\mathbf w^T\mathbf x_i+b-y_i)^2 \end{aligned}

当均方误差最小时,即可求得最优线性回归模型。此时

(w,b)=argminw,bE(w,b)=argminw,bi=1m(f(xi)yi)2=argminw,bi=1m(wTxi+byi)2\begin{aligned} (\mathbf w^*,b^*)&=\arg\min_{\mathbf w,b}E(\mathbf w,b)\\ &=\arg\min_{\mathbf w,b}\sum_{i=1}^m(f(\mathbf x_i)-y_i)^2\\ &=\arg\min_{\mathbf w,b}\sum_{i=1}^m(\mathbf w^T\mathbf x_i+b-y_i)^2 \end{aligned}

w,b\mathbf w^*,b^*表示w,b\mathbf w,b的解。我们只需要求得均方误差EE在最小值时的w,b\mathbf w,b值,因此均方误差的常数项1m\frac1m可忽略。

一元线性回归

当数据集中xi\mathbf x_i的维度为1时,即xi=(xi)\mathbf x_i=(x_i),此时xx为标量,则对于给定数据集D=(xi,yi)i=1mD={(x_i,y_i)}_{i=1}^m,线性回归给出的模型为

f(x)=wx+bf(x)=wx+b

此时ww也是标量。易证E(w,b)=i=1m(wxi+byi)2E(w,b)=\sum_{i=1}^m(wx_i+b-y_i)^2w,bw,b均为开口向上且恒大于0的二次函数,因此我们可以使用二次函数对称轴公式或求导来确定该函数的最小值。这里选择求导的方法。将E(w,b)E(w,b)分别对w,bw,b求导:

E(w,b)w=2i=1m(wxi+byi)xi=2[wi=1mxi2i=1m(yib)xi]E(w,b)b=2i=1m(wxi+byi)=2[mbi=1m(yiwxi)]\begin{aligned} \frac{\partial E(w,b)}{\partial w}&=2\sum_{i=1}^m(wx_i+b-y_i)x_i\\ &=2\left[w\sum_{i=1}^m x_i^2-\sum_{i=1}^m(y_i-b)x_i\right]\\ \frac{\partial E(w,b)}{\partial b}&=2\sum_{i=1}^m(wx_i+b-y_i)\\ &=2\left[mb-\sum_{i=1}^m(y_i-wx_i)\right] \end{aligned}

令上式等于0,得到

b=1mi=1m(yiwxi)=yˉwxˉw=i=1m(xixˉ)(yiyˉ)i=1m(xixˉ)2=i=1m(xiyi)mxˉyˉi=1mxi2mxˉ2\begin{aligned} b&=\frac1m\sum_{i=1}^m(y_i-wx_i)=\bar y-w\bar x\\ w&=\frac{\sum_{i=1}^m(x_i-\bar x)(y_i-\bar y)}{\sum_{i=1}^m(x_i-\bar x)^2}=\frac{\sum_{i=1}^m(x_iy_i)-m\bar x\bar y}{\sum_{i=1}^m x_i^2-m\bar x^2} \end{aligned}

一元线性回归.png

多元线性回归

最小二乘法

对概述中的式子,我们令

X=[x11x12x1d1x21x22x2d1xm1xm2xmd1]=[x1T1x2T1xmT1],y=[y1y2ym],w^=[wb]\mathbf X=\begin{bmatrix} x_{11} & x_{12} & \cdots & x_{1d} & 1\\ x_{21} & x_{22} & \cdots & x_{2d} & 1\\ \vdots & \vdots & \ddots & \vdots & \vdots\\ x_{m1} & x_{m2} & \cdots & x_{md} & 1 \end{bmatrix}=\begin{bmatrix} \mathbf x_1^T & 1\\ \mathbf x_2^T & 1\\ \vdots & \vdots\\ \mathbf x_m^T & 1 \end{bmatrix},\mathbf y=\begin{bmatrix} y_1\\ y_2\\ \vdots\\ y_m \end{bmatrix},\mathbf{\hat w}=\begin{bmatrix} \mathbf w\\ b \end{bmatrix}

f(x)=wTx+b=Xw^w^=argminw^E(w^)=argminw^(yXw^)T(yXw^)\begin{aligned} f(\mathbf x)&=\mathbf w^T\mathbf x+b=\mathbf{X\hat w}\\ \mathbf{\hat w}^*&=\arg\min_{\mathbf{\hat w}}E(\mathbf{\hat w})\\ &=\arg\min_{\mathbf{\hat w}}(\mathbf y-\mathbf{X\hat w})^T(\mathbf y-\mathbf{X\hat w})\\ \end{aligned}

EEw^\mathbf{\hat w}求导得

E(w^)w^=2XT(Xw^y)\frac{\partial E(\mathbf{\hat w})}{\partial \mathbf{\hat w}}=2\mathbf X^T(\mathbf{X\hat w}-\mathbf y)

XTXX^TX是满秩矩阵时,令上式等于0可得

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

将其代入一元线性回归,仍有效。 二元线性回归.gif