最小二乘法 来龙去脉

最小二乘法 来龙去脉最小二乘是每个上过大学的同学都接触过的概念与知识点 当然可能纯文科的同学没接触过 但是一般纯文科的同学也不会看这篇文章好像 最小二乘理论其实很简单 用途也很广泛 但是每次说到最小二乘 总感觉差了点什么似的 好像对于最小二乘的前世今生没有一个特别详细与系统的了解 so 本博主趁着周末的时间 赶紧给详细整理整理 力争把最小二乘是个什么鬼做一个特别详细的说明 争取让学英语学中文学历史学画画唱歌的同学都

最小二乘是每个上过大学的同学都接触过的概念与知识点(当然可能纯文科的同学没接触过,但是一般纯文科的同学也不会看这篇文章好像)。最小二乘理论其实很简单,用途也很广泛。但是每次说到最小二乘,总感觉差了点什么似的,好像对于最小二乘的前世今生没有一个特别详细与系统的了解。so,本博主趁着周末的时间,赶紧给详细整理整理,力争把最小二乘是个什么鬼做一个特别详细的说明,争取让学英语学中文学历史学画画唱歌的同学都能看明白。

1.最小二乘的背景

2.举个最简单的例子理解最小二乘

3.最小二乘的cost function

4.最小二乘法的求解

∂ Q ∂ β 0 = 2 ∑ i n ( y i − β 0 − β 1 x i ) ( − 1 ) = 0 ∂ Q ∂ β 1 = 2 ∑ i n ( y i − β 0 − β 1 x i ) ( − x i ) = 0 \frac{\partial Q}{\partial \beta_0} = 2\sum_i^n(y_i-\beta_0-\beta_1x_i)(-1) = 0 \\ \frac{\partial Q}{\partial \beta_1} = 2\sum_i^n(y_i-\beta_0-\beta_1x_i)(-x_i) = 0 β0Q=2in(yiβ0β1xi)(1)=0β1Q=2in(yiβ0β1xi)(xi)=0

5.矩阵表达形式

如果我们推广到更一般的情况,假如有更多的模型变量 x 1 , x 2 , ⋯   , x m x^1,x^2,\cdots,x^m x1,x2,,xm(注意: x 1 x_1 x1是指 一个样本, x 1 x^1 x1是指样本里的一个模型相关的变量),可以用线性函数表示如下:
y ( x 1 , ⋯   , x m ; β 0 , ⋯   , β m ) = β 0 + β 1 x 1 + ⋯ + β m x m y(x^1,\cdots,x^m;\beta_0,\cdots,\beta_m) = \beta_0+\beta_1x^1 + \cdots + \beta_m x^m y(x1,,xm;β0,,βm)=β0+β1x1++βmxm
对于n个样本来说,可以用如下线性方程组表示:
β 0 + β 1 x 1 1 + ⋯ + β j x 1 j + ⋯ + β m x 1 m = y 1 β 0 + β 1 x 2 1 + ⋯ + β j x 2 j + ⋯ + β m x 2 m = y 2 ⋯ β 0 + β 1 x i 1 + ⋯ + β j x i j + ⋯ + β m x i m = y i ⋯ β 0 + β 1 x n 1 + ⋯ + β j x n j + ⋯ + β m x n m = y n \beta_0 + \beta_1 x_1 ^1 + \cdots + \beta_j x_1 ^j + \cdots + \beta_m x_1^m = y_1 \\ \beta_0 + \beta_1 x_2 ^1 + \cdots + \beta_j x_2 ^j + \cdots + \beta_m x_2^m = y_2 \\ \cdots \\ \beta_0 + \beta_1 x_i ^1 + \cdots + \beta_j x_i ^j + \cdots + \beta_m x_i^m = y_i \\ \cdots \\ \beta_0 + \beta_1 x_n ^1 + \cdots + \beta_j x_n ^j + \cdots + \beta_m x_n^m = y_n β0+β1x11++βjx1j++βmx1m=y1β0+β1x21++βjx2j++βmx2m=y2β0+β1xi1++βjxij++βmxim=yiβ0+β1xn1++βjxnj++βmxnm=yn


如果将样本矩阵 x i h x_i^h xih记为矩阵A,将参数矩阵记为向量 β \beta β,真实值记为向量Y,上述线性方程组可以表示为:

[ 1 x 1 ( 1 ) ⋯ x 1 ( m ) 1 x 2 ( 1 ) ⋯ x 2 ( m ) ⋯ ⋯ ⋯ ⋯ 1 x n ( 1 ) ⋯ x n ( m ) ] ⋅ [ β 0 β 1 ⋯ β m ] = [ y 1 y 2 ⋯ y n ] \left [ \begin{matrix} 1 & x_1^{(1)} & \cdots & x_1^{(m)} \\ 1 & x_2^{(1)} & \cdots & x_2^{(m)} \\ \cdots & \cdots & \cdots & \cdots \\ 1 & x_n^{(1)} & \cdots & x_n^{(m)} \end{matrix} \right ] \cdot \left [ \begin{matrix} \beta_0 \\ \beta_1 \\ \cdots \\ \beta_m \end{matrix} \right ] = \left [ \begin{matrix} y_1 \\ y_2 \\ \cdots \\ y_n \end{matrix} \right ] 111x1(1)x2(1)xn(1)x1(m)x2(m)xn(m)β0β1βm=y1y2yn
A β = Y A \beta = Y Aβ=Y
对于最小二乘来说,最终的矩阵表达形式可以表示为:
m i n ∣ ∣ A β − Y ∣ ∣ 2 min||A\beta – Y||_2 minAβY2
最后的最优解为:
β = ( A T A ) − 1 A T Y \beta = (A^TA)^{-1}A^TY β=(ATA)1ATY




6.注意事项

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/177647.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午7:01
下一篇 2026年3月26日 下午7:02


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号