机器学习基础-Linear Regression
线性回归推导
简介
一般的,我们可以设线性回归的表示形式为\(y=Xw\)。这里我们为了简洁起见,使用增广形式,把bias作为1个作用在\(1\)上的权重,\(X\)是一个\(N\times M+1\)的矩阵,\(N\)是batch size,\(M\)是feature dimension;而\(w\)是权重,也是我们要学习的目标,\(w\)是\(M+1\times 1\)的列向量;对应的,我们已知的label信息\(y\),是\(N\times 1\)的列向量。
我们采用平方损失函数。
形式化定义
Formula:
\[y=f(X;w)=Xw
\]
Taget:
\[\newcommand{\argmin}{\arg\!\min} \argmin_w\ ||Xw-y||^2
\]
从最小化残差角度求\(w\)
记残差为 \(e=Xw-y\),那么有:
\[e^Te=||Xw-y||^2
\]
\[e^Te=(Xw-y)^T(Xw-y)
\]
\[e^Te=w^TX^TXw-w^TX^Ty-y^TXw-y^Ty
\]
\[e^Te=w^TX^TXw-2w^TX^Ty-y^Ty
\]
\[\nabla=\frac{\partial(e^Te)}{\partial w}=2X^TXw-2X^Ty
\]
当梯度等于0,求得此时\(w\)
\[w=(X^TX)^{-1}X^Ty
\]
这里面有几点需要解释,
- 由于\(e^Te\)展开之后是个二次型,肯定是凸的,所以我们令导数为零能求得最值。
- 由于残差平方和是个标量,所以\(w^TX^Ty,y^TXw\)是一回事,所以可以合并
- 求\(w\)的时候可以用乘法求导的公式,第一项求导第二项不求+第一项不求第二项求,对\(w\)求微分,然后除过去。结果是一样的,而且也会有合并项的过程,结果是一致的。
- 以上的结果只能在\(X^TX\)能求逆矩阵的情况下进行,如果不是满秩矩阵,不能求逆,我们采用梯度下降的方法更新w,求得近似解。\(w_{t+1}=w_{t}-\lambda \nabla\)