多项式拟合曲线
一、整体流程总步骤
- 1. 采集离散实验数据点 ($x_i,y_i$)
- 2. 设定多项式拟合模型(一次、二次、高次多项式)
- 3. 构造误差平方和函数
- 4. 利用最小二乘法求解多项式系数
- 5. 得到拟合多项式方程
- 6. 代入连续x值,绘制光滑拟合曲线
二、分步绘图示意图
- 图1:原始离散数据点。坐标系:横轴x,纵轴y。在坐标系中标记若干散乱黑点:$(x_1,y_1),(x_2,y_2),…,(x_n,y_n)$。特点:只有孤立散点,没有连线,点分布呈大致上升/下降/弯曲趋势。
- 图2:假设多项式模型。以二次多项式(抛物线)为例:拟合模型设定为:$y=a_0+a_1 x+a_2 x^2$。在图1散点基础上,画出一条试探性抛物线,可以看出曲线没有贴合所有散点,存在明显竖向偏差(残差)。竖向线段:每个数据点到抛物线的垂直距离,即为拟合残差e_i。
- 图3:最小二乘优化(调整曲线使总误差最小)。数学准则:最小化残差平方和
$$Q=\\sum_{i=1}^n e_i^2=\\sum_{i=1}^n(y_i-a_0-a_1 x_i-a_2 x_i^2)^2$$
- 通过求偏导令$\\dfrac{\\partial Q}{\\partial a_0}=0,\\dfrac{\\partial Q}{\\partial a_1}=0,\\dfrac{\\partial Q}{\\partial a_2}=0$,解线性方程组,得到最优系数$a_0,a_1,a_2$。绘图表现:曲线自动微调位置与曲率,使所有残差的平方总和达到最小值。
- 图4:最终多项式拟合曲线。代入求解出的系数,得到确定多项式方程,在x取值区间内取大量密集连续x,算出对应y,连成一条光滑连续曲线。效果:光滑曲线整体穿过散点群中心趋势,不需要经过每一个离散数据点,体现数据整体变化规律。
三、不同阶数拟合对比
– 一次多项式(直线拟合):直线贴合散点趋势,无法体现弯曲变化
– 二次多项式(抛物线拟合):可捕捉单峰、单谷弯曲趋势
– 高次多项式:曲线波动变多,容易出现过拟合,曲线强行穿过大部分散点。
多项式逼近曲线
泰勒多项式拟合曲线(泰勒展开逼近)完整过程,如下:
1. 选定目标函数与展开点。设已知光滑曲线函数 $y=f(x)$,选择在定点 $x=x_0$ 处做泰勒展开,用多项式去近似代替原曲线。
2. n阶泰勒多项式公式。在 $x_0$ 点的n阶泰勒多项式:
$$T_n(x)=f(x_0)+f'(x_0)(x-x_0)+\\frac{f''(x_0)}{2!}(x-x_0)^2+\\dots+\\frac{f^{(n)}(x_0)}{n!}(x-x_0)^n$$
阶数 n 越高,多项式在 $x_0$ 附近越贴近原曲线。
3. 逐阶拟合逼近过程(可视化变化)
- 0阶泰勒多项式(常数近似)$T_0(x)=f(x_0)$,是一条水平直线,仅在 $x_0$ 处与原曲线相交。
- 1阶泰勒多项式(线性近似,切线)$T_1(x)=f(x_0)+f'(x_0)(x-x_0)$,就是曲线在 $x_0$ 点的切线,贴合一小段曲线。

- 2阶泰勒多项式(抛物线近似)
- 增加二阶导数项,曲线变成抛物线,不仅相切,曲率也和原曲线一致,拟合范围变大。

- 3阶及更高阶泰勒多项式
- 不断增加高阶导数项,多项式曲线弯曲形态越来越接近原函数,在展开点 $x_0$ 邻域内拟合误差持续减小。

4. 拟合误差
原函数与泰勒多项式之间存在余项(误差项):
$$f(x)=T_n(x)+R_n(x)$$
在离 $x_0$ 很近的区间内,余项很小,拟合效果好;远离展开点时误差会明显增大。
5. 最终拟合效果
– 低阶泰勒多项式:只在展开点附近局部近似;
– 阶数足够高时,在收敛区间内,泰勒多项式可以很好拟合整条曲线片段。
泰勒逼近在机器学习中的应用
设损失函数为 $L(\\boldsymbol{\\theta}),\\boldsymbol{\\theta}$ 为模型参数向量,当前迭代点为$ \\boldsymbol{\\theta}_k$。
一、一阶泰勒展开(梯度下降原理)
在 $\\boldsymbol{\\theta}_k $处做一阶泰勒近似:
$L(\\boldsymbol{\\theta}_k+\\Delta\\boldsymbol{\\theta})$
$\\approx L(\\boldsymbol{\\theta}_k)+\\nabla L(\\boldsymbol{\\theta}_k)^T \\Delta\\boldsymbol{\\theta}$
其中:
– $\\nabla L(\\boldsymbol{\\theta}_k)$:损失函数在当前点的梯度
– $\\Delta\\boldsymbol{\\theta}$:参数更新增量
要让损失减小,需使 $\\nabla L^T \\Delta\\boldsymbol{\\theta}<0$,取增量沿负梯度方向:
$\\Delta\\boldsymbol{\\theta}=-\\eta \\nabla L(\\boldsymbol{\\theta}_k)$
得到梯度下降更新公式:
$\\boldsymbol{\\theta}_{k+1}=\\boldsymbol{\\theta}_k-\\eta \\nabla L(\\boldsymbol{\\theta}_k)$
$\\eta$为学习率。
二、二阶泰勒展开(牛顿法原理)
保留到二阶项,泰勒展开式:
$L(\\boldsymbol{\\theta}_k+\\Delta\\boldsymbol{\\theta})$
$\\approx L(\\boldsymbol{\\theta}_k)
+\\nabla L(\\boldsymbol{\\theta}_k)^T$ $\\Delta\\boldsymbol{\\theta}
+\\frac12 \\Delta\\boldsymbol{\\theta}^T \\boldsymbol{H}_k \\Delta\\boldsymbol{\\theta}$
$\\boldsymbol{H}_k=\\nabla^2 L(\\boldsymbol{\\theta}_k) $是海森矩阵,代表曲面曲率。
对$ \\Delta\\boldsymbol{\\theta} $求导并令导数为0,求得极小值点:
$\\nabla L(\\boldsymbol{\\theta}_k)+\\boldsymbol{H}_k \\Delta\\boldsymbol{\\theta}=0$
解得最优增量:
$\\Delta\\boldsymbol{\\theta}=-\\boldsymbol{H}_k^{-1}\\nabla L(\\boldsymbol{\\theta}_k)$
牛顿法参数更新公式:
$\\boldsymbol{\\theta}_{k+1}=\\boldsymbol{\\theta}_k-\\boldsymbol{H}_k^{-1}\\nabla L(\\boldsymbol{\\theta}_k)$
拟牛顿法不直接计算海森逆矩阵 $\\boldsymbol{H}_k^{-1}$,而是用迭代方式近似估计,降低计算开销。




