您的位置:首页 > 汽车 > 新车 > 应用数学与机器学习基础 - 数值计算之线性最小二乘实例篇

应用数学与机器学习基础 - 数值计算之线性最小二乘实例篇

2024/10/5 17:02:09 来源:https://blog.csdn.net/benny_zhou2004/article/details/140263981  浏览:    关键词:应用数学与机器学习基础 - 数值计算之线性最小二乘实例篇

序言

线性最小二乘法,作为统计学与数据科学中的基石之一,自其诞生以来便在科学研究、工程技术、经济预测等众多领域展现出了强大的应用价值。这一方法的核心思想在于,通过最小化误差的平方和来寻找数据的最佳函数匹配,即找到一个线性模型,使得该模型预测值与观测值之间的差的平方和最小。
简而言之,它提供了一种量化并优化模型预测准确性的有效手段,使得我们能够基于有限的数据点,构建出最能反映数据内在规律的线性关系。

线性最小二乘实例(Linear Least Squares)

  • 要解决问题
    • 假设,我们希望找到最小化公式1 x \boldsymbol{x} x值: f ( x ) = 1 2 ∥ A x − b ∥ 2 2 —公式1 f(\boldsymbol{x})=\frac{1}{2}\left\|\boldsymbol{A} \boldsymbol{x}-\boldsymbol{b}\right\|_2^{2}\quad\textbf{\footnotesize{---公式1}} f(x)=21Axb22公式1
    • 专门线性代数算法能够高效地解决这个问题;但是,我们也可以探索如何使用基于梯度的优化算法来解决这个问题,这可以作为这些技术是如何工作的一个简单的例子。
  • 基于梯度的优化算法
    • 首先,我们计算梯度: ∇ x f ( x ) = A T ( A x − b ) = A T A x − A T b —公式2 \nabla_xf(\boldsymbol{x})=\boldsymbol{A}^T(\boldsymbol{A} \boldsymbol{x}-\boldsymbol{b})=\boldsymbol{A}^T \boldsymbol{A} \boldsymbol{x}-\boldsymbol{A}^T \boldsymbol{b}\quad\textbf{\footnotesize{---公式2}} xf(x)=AT(Axb)=ATAxATb公式2
    • 然后,我们可以采用小的步长,按照这个梯度下降。见算法1中的详细信息。
  • 牛顿法二次近似算法
    • 我们也可以使用牛顿法解决这个问题。因为在这个情况下真正的函数是二次的,牛顿法所用的二次近似是精确的,该算法会在一步后收敛到全局最小点。
    • 现在假设我们希望最小化同样的函数,但受 x ⊤ x ≤ 1 \boldsymbol{x}^\top\boldsymbol{x}\leq 1 xx1的约束。
    • 要做到这一点,我们引入 Lagrange \text{Lagrange} Lagrange L ( x , λ ) = f ( x ) + λ ( x ⊤ x − 1 ) —公式3 L(\boldsymbol{x},\lambda)=f(\boldsymbol{x})+\lambda(\boldsymbol{x}^\top\boldsymbol{x}-1)\quad\textbf{\footnotesize{---公式3}} L(x,λ)=f(x)+λ(xx1)公式3
    • 现在,我们解决以下问题: min ⁡ x max ⁡ λ , λ ≥ 0 L ( x , λ ) —公式4 \min\limits_x\max\limits_{\lambda,\lambda\ge0}L(\boldsymbol{x},\lambda)\quad\textbf{\footnotesize{---公式4}} xminλ,λ0maxL(x,λ)公式4
    • 可以用 Moore-Penrose \text{Moore-Penrose} Moore-Penrose伪逆: x = A + b \boldsymbol{x}=\boldsymbol{A}^+\boldsymbol{b} x=A+b找到无约束最小二乘问题的最小范数解。
    • 如果这一点是可行的,那么这也是约束问题的解。否则,我们必须找到约束是活跃的解。
    • 关于 x \boldsymbol{x} x Lagrangian \text{Lagrangian} Lagrangian微分,我们得到方程: A ⊤ A x − A ⊤ b + 2 λ x = 0 —公式5 \boldsymbol{A}^\top\boldsymbol{Ax}-\boldsymbol{A}^\top\boldsymbol{b}+2\lambda\boldsymbol{x}=0\quad\textbf{\footnotesize{---公式5}} AAxAb+2λx=0公式5
    • 这就告诉我们,该解的形式将会是: x = ( A ⊤ A + 2 λ I ) − 1 A ⊤ b —公式6 \boldsymbol{x}=(\boldsymbol{A}^\top\boldsymbol{A}+2\lambda\boldsymbol{I})^{-1}\boldsymbol{A}^\top\boldsymbol{b}\quad\textbf{\footnotesize{---公式6}} x=(AA+2λI)1Ab公式6
      • λ \lambda λ的选择必须使结果服从约束。我们可以关于 λ \lambda λ进行梯度上升找到这个值。
      • 为了做到这一点,观察: ∂ ∂ λ L ( x , λ ) = x ⊤ x − 1 —公式7 \frac{\partial}{\partial\lambda}L(\boldsymbol{x},\lambda)=\boldsymbol{x}^\top\boldsymbol{x}-1\quad\textbf{\footnotesize{---公式7}} λL(x,λ)=xx1公式7
      • x \boldsymbol{x} x的范数超过 1 1 1时,该导数是正的,所以为了跟随导数上坡并相对 λ \lambda λ增加 Lagrangian \text{Lagrangian} Lagrangian,我们需要增加 λ \lambda λ
      • 因为 x ⊤ x \boldsymbol{x}^\top\boldsymbol{x} xx的惩罚系数增加了,求解关于 x \boldsymbol{x} x的线性方程现在将得到具有较小范数的解。
      • 求解线性方程和调整 λ \lambda λ的过程一直持续到 x \boldsymbol{x} x具有正确的范数并且关于 λ \lambda λ的导数是 0 0 0

算法1


从任意点 x \boldsymbol{x} x开始,使用梯度下降关于 x \boldsymbol{x} x最小化 f ( x ) = 1 2 ∥ A x − b ∥ 2 2 f(\boldsymbol{x})=\frac{1}{2}\left\|\boldsymbol{A} \boldsymbol{x}-\boldsymbol{b}\right\|_2^{2} f(x)=21Axb22的算法


伪代码
步长 ϵ \epsilon ϵ)和容差 δ \delta δ)设为小的正数。
w h i l e \bold{while} while ∥ A ⊤ A x − A ⊤ b ∥ 2 > δ \Vert\boldsymbol{A}^\top\boldsymbol{Ax}-\boldsymbol{A}^\top\boldsymbol{b}\Vert_2>\delta AAxAb2>δ d o \bold{do} do
x ← x − ϵ ( A ⊤ A x − A ⊤ b ) \quad\boldsymbol{x} \leftarrow \boldsymbol{x}-\epsilon(\boldsymbol{A}^\top\boldsymbol{Ax}-\boldsymbol{A}^\top\boldsymbol{b}) xxϵ(AAxAb)
e n d \bold{end} end w h i l e \bold{while} while


总结

  • 线性最小二乘法不仅因其数学上的简洁性而广受欢迎,更因其实用性和鲁棒性成为了数据分析和模型拟合的首选工具之一。
  • 在面对复杂多变的现实问题时,该方法通过最小化误差平方和的方式,有效平衡了模型复杂度与拟合精度之间的关系,从而帮助我们从海量数据中提取出有价值的信息和规律。无论是线性回归模型的构建,还是参数估计的精确求解,线性最小二乘法都展现出了其不可替代的重要作用。
  • 随着大数据时代的到来,线性最小二乘法的应用将更加广泛而深入,为科学研究和社会进步提供更加坚实的数据支撑。

往期重要内容回顾

应用数学与机器学习基础 - 数值计算篇

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com