最小二乘法拟合直线
📌 问题定义
已知一组二维点:
\[(x_1, y_1), (x_2, y_2), \dots, (x_n, y_n)
\]
我们希望找到一条直线:
\[y = ax + b
\]
使得它与这些点的“误差平方和”最小。
📌 误差函数(损失函数)
定义残差:
\[e_i = y_i - (ax_i + b)
\]
目标函数(最小二乘):
\[S(a, b) = \sum_{i=1}^n e_i^2 = \sum_{i=1}^n (y_i - ax_i - b)^2
\]
📌 对参数求偏导
对 \(a, b\) 求偏导,并令其为零。
- 对 \(a\):
\[\frac{\partial S}{\partial a} = \sum_{i=1}^n -2x_i (y_i - ax_i - b) = 0
\]
整理:
\[\sum_{i=1}^n x_i y_i - a \sum_{i=1}^n x_i^2 - b \sum_{i=1}^n x_i = 0
\]
- 对 \(b\):
\[\frac{\partial S}{\partial b} = \sum_{i=1}^n -2 (y_i - ax_i - b) = 0
\]
整理:
\[\sum_{i=1}^n y_i - a \sum_{i=1}^n x_i - nb = 0
\]
📌 正规方程组
得到两个方程:
\[\begin{cases} \sum x_i y_i = a \sum x_i^2 + b \sum x_i \\ \sum y_i = a \sum x_i + nb \end{cases}
\]
📌 解方程
令:
\[\bar{x} = \frac{1}{n}\sum_{i=1}^n x_i, \quad \bar{y} = \frac{1}{n}\sum_{i=1}^n y_i
\]
解得:
\[a = \frac{\sum (x_i - \bar{x})(y_i - \bar{y})}{\sum (x_i - \bar{x})^2}
\]
\[b = \bar{y} - a \bar{x}
\]
✅ 最终结果
最小二乘拟合直线:
\[y = ax + b
\]
其中:
- 斜率:
\[a = \frac{\sum (x_i - \bar{x})(y_i - \bar{y})}{\sum (x_i - \bar{x})^2}
\]
- 截距:
\[b = \bar{y} - a\bar{x}
\]

浙公网安备 33010602011771号