侧边栏壁纸
  • 累计撰写 131 篇文章
  • 累计创建 16 个标签
  • 累计收到 4 条评论

目 录CONTENT

文章目录

【最优化:建模、算法与理论】-- 最小二乘问题

最小二乘法(Least Squares method),又称最小平方法,它通过最小化误差的平方和寻找数据的最佳拟合函数

最小二乘问题分为两种:线性最小二乘法,和非线性最小二乘法,取决于在所有未知数中的残差是否为线性

  • 线性最小二乘问题发生在统计回归分析中;它有一个解析解
  • 而非线性的问题通常经由迭代细致化来解决。

线性最小二乘法

二元方程模型(帮助理解)

二元一次方程的一般形式是:

y=ax+by=ax+b

其中,a,ba,b 是实数或复数,x,yx,y 是未知数。

现在问题假设有 mm 个样本数据点 (x1,y1),(x2,y2),...,(xm,ym)(x_1, y_1), (x_2, y_2), ..., (x_m, y_m),其中 xix_i 是自变量,yiy_i 是因变量。我们希望用一条直线拟合这些数据点

基本思想是,找到一组参数( β0\beta_0 斜率和 β1\beta_1 截距),使得这组参数下的拟合直线与所有数据点之间的平方误差之和最小。也就是说,最小二乘法通过最小化残差平方和来估计参数。用数学公式描述就是:

Q=minin(yieyi)2Q=\min \sum_i^n\left(y_{i e}-y_i\right)^2

其中, yie y_{\text {ie }} 表示根据 y=β0+β1xy=\beta_0+\beta_1 x 估算值yiy_i 是观察得到的真实值

所以可知优化的损失函数为:

Q=minin(yiβ0β1x)2Q=\min \sum_i^n(y_i -\beta_0-\beta_1 x)^2

现在需要确定 β0\beta_0 β1\beta_1,使损失函数最小,即对公式进行求导,函数的极小值点为偏导为0的点

Qβ0=2in(yiβ0β1xi)(1)=0Qβ1=2in(yiβ0β1xi)(xi)=0\begin{aligned} & \frac{\partial Q}{\partial \beta_0}=2 \sum_i^n\left(y_i-\beta_0-\beta_1 x_i\right)(-1)=0 \\ & \frac{\partial Q}{\partial \beta_1}=2 \sum_i^n\left(y_i-\beta_0-\beta_1 x_i\right)\left(-x_i\right)=0\end{aligned}

将这两个方程稍微整理一下,使用克莱姆法则,很容易求解得出:

β0=xi2yixixiyinxi2(xi)2β1=nxiyixiyinxi2(xi)2\begin{gathered}\beta_0=\frac{\sum x_i^2 \sum y_i-\sum x_i \sum x_i y_i}{n \sum x_i^2-\left(\sum x_i\right)^2} \\\beta_1=\frac{n \sum x_i y_i-\sum x_i \sum y_i}{n \sum x_i^2-\left(\sum x_i\right)^2}\end{gathered}

这就是最小二乘法的解法,就是求得平方损失函数的极值点。需要注意的一点是 β0\beta_0常数项对应的系数,此处相当于添加了一个特征值 x0x_0x0x_0 恒为 1 ,也就是目标函数中的 β0\beta_0 可以看成 β0x0\beta_0 x_0, 这样的话就不用单独考虑常数项了(在后面的多元线性模型就用到了该性质)。

多元模型

假设现在有 mm 个样本,每个样本有 n1n − 1特征,其中 x0=1{x}_{0}=1 将所有样本点代入多元模型中得:

h1=θ0x0+θ1x1,1+θ2x1,2++θn1x1,n1 h2=θ0x0+θ1x2,1+θ2x2,2++θn1x2,n1hm=θ0x0+θ1xm,1+θ2xm,2++θn1xm,n1\begin{aligned}& \mathrm{h}_1=\theta_0{x}_{0}+\theta_1 \mathrm{x}_{1,1}+\theta_2 \mathrm{x}_{1,2}+\ldots+\theta_{\mathrm{n}-1} \mathrm{x}_{1, \mathrm{n}-1} \\& \mathrm{~h}_2=\theta_0{x}_{0}+\theta_1 \mathrm{x}_{2,1}+\theta_2 \mathrm{x}_{2,2}+\ldots+\theta_{\mathrm{n}-1} \mathrm{x}_{2, \mathrm{n}-1} \\& \vdots \\& \mathrm{h}_{\mathrm{m}}=\theta_0{x}_{0}+\theta_1 \mathrm{x}_{\mathrm{m}, 1}+\theta_2 \mathrm{x}_{\mathrm{m}, 2}+\ldots+\theta_{\mathrm{n}-1} \mathrm{x}_{\mathrm{m}, \mathrm{n}-1}\end{aligned}

对于多元模型,我们通常将其转化为矩阵更为便捷,于是上述方程可以用矩阵表示为:

h=Xθh=X\theta

其中,hhm×1m\times1 的向量代表真实值θ\thetan×1n\times1 的向量是参数XXm\timesn 维的矩阵是输入mm 代表样本的个数 nn 代表样本的特征数目标损失函数用矩阵表示为:

J(θ)=hY2=XθY2=(XθY)T(XθY)\mathrm{J}(\theta)=\|{h}-{Y}\|^2=\|{X} \theta-{Y}\|^2=({X} \theta-{Y})^{{T}}({X} \theta-{Y})

其中 YY 是样本的输出向量, 维度为 m×1m\times1

先对 J(θ)\mathrm{J}(\theta) 化简:

=(XθY)T(XθY)=(θTXTYT)(XθY)=θTXTXθθTXTYYTXθ+YTY=θTXTXθ2θTXTY+YTY\begin{aligned} & =(X \theta-Y)^{\mathrm{T}}(X \theta-Y) \\ & =\left(\theta^T X^T-Y^T\right)(X \theta-Y) \\ & =\theta^T X^T X \theta-\theta^T X^T Y-Y^T X \theta+Y^T Y \\ & =\theta^T X^T X \theta-2 \theta^T X^T Y+Y^T Y \end{aligned}

然后利用该式对向量 θ\theta 求导:

(θTATAθ2θTATY+YTY)θ=(θTATAθ2θTATY)θ=(θTATAθ)θ2ATY(1)\begin{aligned} & \frac{\partial\left(\theta^T A^T A \theta-2 \theta^T A^T Y+Y^T Y\right)}{\partial \theta} \\ & =\frac{\partial\left(\theta^T A^T A \theta-2 \theta^T A^T Y\right)}{\partial \theta} \\ & =\frac{\partial\left(\theta^T A^T A \theta\right)}{\partial \theta}-2 A^T Y\tag{1} \end{aligned}

由矩阵的求导法则:

d(xTAx)dx=d(xT)dxAx+d(xTAT)dxx=(A+AT)x\frac{d\left(\mathbf{x}^T \mathbf{A} \mathbf{x}\right)}{d \mathbf{x}}=\frac{d\left(\mathbf{x}^T\right)}{d \mathbf{x}} \cdot \mathbf{A} \mathbf{x}+\frac{d\left(\mathbf{x}^T \mathbf{A}^T\right)}{d \mathbf{x}} \cdot \mathbf{x}=\left(\mathbf{A}+\mathbf{A}^T\right) \mathbf{x}

对等式(1)继续化简为:

(θTXTXθ)θ2XTY=(XTX+XTX)θ2XTY=2(XTXθXTY)\begin{aligned} & \frac{\partial\left(\theta^T X^T X \theta\right)}{\partial \theta}-2 X^T Y \\ & =\left(X^T X+X^T X\right) \theta-2 X^T Y \\ & =2\left(X^T X \theta-X^T Y\right) \end{aligned}

令上式结果等于0可得:

θJ(θ)=2XTXθ2XTY=0\frac{\partial}{\partial \theta} \mathrm{J}(\theta)=2 \mathrm{X}^{\mathrm{T}} \mathrm{X} \theta-2 \mathrm{X}^{\mathrm{T}} \mathrm{Y}=0

解得 θ=(XTX)1XTY\theta=\left(\mathrm{X}^{\mathrm{T}} \mathrm{X}\right)^{-1} \mathrm{X}^{\mathrm{T}} \mathrm{Y} ,只要带入数据,就可以直接算出 θ\theta

最小二乘法的问题

观察上面的结论可知如果 (XTX)1(\mathrm{X}^{\mathrm{T}} \mathrm{X})^{-1}奇异矩阵时(不可逆),此时解析解无法进行计算。导致该问题的可能的原因是 XX 中的列向量线性相关,数据中存在特征冗余,某些特征可以根据其它特征的线性组合来得到。

此外,当 (XTX)1(\mathrm{X}^{\mathrm{T}} \mathrm{X})^{-1} 为病态矩阵(ill-conditioned matrix) 时,最小二乘法也会失效,在求解方程组时对数据的微小扰动比较敏感,结果缺乏稳定性。

为了改善这些问题,又提出了以下几种改进的线性最小二乘法:

  • 岭回归(Ridge Regression):岭回归是一种正则化方法,通过在目标函数中增加一个正则项来限制参数的大小。这种方法可以有效地解决过拟合问题。
  • Lasso回归:Lasso回归也是一种正则化方法,它使用L1正则化来对参数进行限制,将一些参数收缩到零,从而实现特征选择的目的。
  • 弹性网络(Elastic Net):弹性网络是一种结合了L1正则化和L2正则化的方法,可以综合Lasso回归和岭回归的优点,具有较好的特征选择能力和模型稳定性
  • 最小角回归(Least Angle Regression,LARS):最小角回归是一种迭代方法,通过一步步地选择重要的特征来构建模型,可以有效地处理高维数据集。
  • 局部加权线性回归(Locally Weighted Linear Regression,LWLR):局部加权线性回归是一种非参数回归方法,它不需要预先设定模型的形式,而是在每个预测点附近进行局部线性拟合,可以适应各种不规则数据集。

这些改进的线性最小二乘法方法都在一定程度上提高了模型的性能和鲁棒性,可以根据不同的数据集和实际需求选择合适的方法。

参考:
详解岭回归与L2正则化
机器学习十大经典算法之最小二乘法
一文让你彻底搞懂最小二乘法(超详细推导)

非线性最小二乘法

0

评论区