练习一下自己的Markdown的公式书写速度
给定数据集 $D={(x_1,y_1),(x_2,y_2),\cdots,(x_m,y_m)}$,其中$x_i={x_{i1},x_{i2},\cdots,x_{in}}$, $y_i\in\mathbb{R}$。 线性回归试图学得$f(x_i)=wx_i+b$,使$f(x_i)$与$y_i$之间的差别尽可能小。如何确定$w$和$b$,关键在于如何衡量$f(x_i)$与$y_i$之间的差别,可以通过均方误差最小化
$$E(w,b)=\displaystyle \sum^m_{i=1}(y_i-f(x_i))^2$$
基于均方误差最小化来进行模型求解的方法称为“最小二乘法”
在现行回归中,最小二乘法就是试图找到一条直线,是所有样本到直线上的欧氏距离之和最小。
- 一元线性回归
这里$E(w,b)$是关于$w$和$b$的凸函数,当它关于$w$和$b$的导数均为零时,得到$w$和$b$的最优解。
求$w$和$b$的偏导:
$$\frac{\partial E(w,b)}{\partial w} = 2 \begin{bmatrix} w\displaystyle \sum^m_{i=1}x^2_i-\displaystyle \sum^m_{i=1}(y_i-b)x_i \end{bmatrix}$$
$$\frac{\partial E(w,b)}{\partial b} = 2 \begin{bmatrix}
mb-\displaystyle \sum ^m_{i=1}(y_i-wx_i)\end{bmatrix}
$$
令偏导为0:
$$
w= \frac{\displaystyle \sum^{m}{i=1}y_i(x_i-\overline{x})}{\displaystyle \sum^m{i=1}x^2_i-\frac{1}{m}(\displaystyle \sum^m_{i=1}x_i)^2}
$$
$$b=\frac{1}{m}\displaystyle \sum^m_{i=1}y_i-wx_i$$
- 多元线性回归
$$X = \begin{bmatrix}
X_{11} &X_{12} &\cdots &X_{1n} &1 \
X_{21} &X_{22} &\cdots &X_{2n} &1 \
\cdots &\cdots &\cdots &\cdots &\cdots \
X_{m1} &X_{m1} &\cdots &X_{mn} &1
\end{bmatrix}$$
$$Y = \begin{bmatrix}
w_1\ w_2\ \cdots\ w_{n+1}
\end{bmatrix}$$
$$y = \begin{bmatrix}
y_1\ y_2\ \cdots\ y_m
\end{bmatrix}$$
矩阵$X$的每一行的前$n$个元素代表一条数据标签,共有$m$个数据。最后一行元素恒置为1,为了求导的方便,把$w_{n+1}$当做现行模型中的偏置(bias)。即$f(x)=XW$。
$$loss=\displaystyle \sum^m_{i=1}(y_i-x_iw)^2$$
注:由于 $y_i-x_iw$ 是个实数c,
$loss=c1c1+c2c2+\cdots+cm*cm$ 。
可写成$C^TC$。上式可改写成矩阵相乘的方式。
$$loss=(y-XW)^T(y-XW)=y^Ty-y^TXW-W^TX^Ty+W^TX^TXW$$
我们要求$loss$最小时,$w$的取值,所以对$w$求偏导,使其为0。
注:补充矩阵求导的知识,熟记两个公式。
$\frac{\partial (A^TW^TB)}{\partial W} = BA^T$ 这种情况是对带T的求导,左右两边互换位置,不加$T$
$\frac{\partial (A^TWB)}{\partial W} = AB^T$ 这种情况是 对不带$T$的求导,其他元素加$T$,不换位置
求偏导过程如下所示:
$\frac{\partial (y^TXW)}{\partial W} = (y^TX)^T = X^Ty$
$\frac{\partial (W^TX^Ty)}{\partial W} = X^Ty$
$\frac{\partial W^TX^TXW}{\partial W} = X^TXW+(W^TX^TX)^T = 2 X^TXW$
$\frac{\partial (y^Ty-y^XW-W^TX^Ty+W^TX^TXW)}{\partial W} = 2 X^XW-2 X^TY$
故求得$2X^TXW=2X^TY\Rightarrow W=(X^TX)^-1X^Ty$
求得的$W$即为最优权值。
- 局部加权线性回归