机器学习基础-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\]

这里面有几点需要解释,

  1. 由于\(e^Te\)展开之后是个二次型,肯定是凸的,所以我们令导数为零能求得最值。
  2. 由于残差平方和是个标量,所以\(w^TX^Ty,y^TXw\)是一回事,所以可以合并
  3. \(w\)的时候可以用乘法求导的公式,第一项求导第二项不求+第一项不求第二项求,对\(w\)求微分,然后除过去。结果是一样的,而且也会有合并项的过程,结果是一致的。
  4. 以上的结果只能在\(X^TX\)能求逆矩阵的情况下进行,如果不是满秩矩阵,不能求逆,我们采用梯度下降的方法更新w,求得近似解。\(w_{t+1}=w_{t}-\lambda \nabla\)

从最大似然估计角度求\(w\)

Reference

  1. 矩阵求导
  2. 线性回归的两种角度
  3. 线性回归推导
  4. 线性回归理论
  5. Linear regression
  6. 机器学习中矩阵向量求导
  7. 线性回归推导及代码

猜你喜欢

转载自www.cnblogs.com/hearwind/p/9613297.html