拟合曲线实现.docxVIP

  • 4
  • 0
  • 约1.17千字
  • 约 5页
  • 2023-07-07 发布于山东
  • 举报
使偏差平方和最小的原则称为最小二乘原则,按照该原则拟合曲线称为最小二乘法。首先我了解了线性回归相关数学原理。 线性回归:线性回归假设数据集中特征与结果存在着线性关系;等式:y = mx + c y为结果,x为特征,m为系数,c为误差 在数学中m为梯度c为截距。这个等式为我们假设的,我们需要找到m、c使得mx+c得到的结果与真实的y误差最小,这里使用平方差来衡量估计值与真实值得误差(如果只用差值就可能会存在负数); 用于计算真实值与预测值的误差的函数称为:平方损失函数(squard loss function);这里用L表示损失函数,所以有: 整个数据集上的平均损失为: 我们要求得最匹配的m与c使得L最小; 数学表达式可以表示为: 最小二乘法用于求目标函数的最优值,它通过最小化误差的平方和寻找匹配项。这里将用最小二乘法用于求得线性回归的最优解。数据集有1…N个数据组成,每个数据由、构成,x表示特征,y为结果;这里将线性回归模型定义为: 平均损失函数定义有: 要求得L的最小,其关于c与m的偏导数定为0,所以求偏导数,得出后让导数等于0,并对c与m求解便能得到最小的L此时的c与m便是最匹配该模型的; 关于c的偏导数,把L的等式中不包含c的项去掉得: 整理式子把不包含下标n的往累加和外移得到: 对c求偏导数得: 关于m的偏导数: 求关于m的偏导数,因此把L等式中不包含项去掉得: 整理式子把不包含下标n的往累加和外移得到: 对m求偏导数得: 令关于c的偏导数等于0,求解: 从上求解得到的值可以看出,上面式子中存在两个平均值,因此该等式也可以改写成: 令关于m的偏导数等于0,求解: 关于m的偏导数依赖于c,又因为已经求得了关于c偏导数的解,因此把求关于c偏导数的 解代数关于m的偏导数式子得: 合并含有m的项化简: 求解: polyfit(n,x,y,poly_n,a)拟合y=a0+a1*x+a2*x^2+……+apoly_n*x^poly_n polyfit(n,x,y,poly_n,a) 拟合y=a0+a1*x+a2*x^2+……+apoly_n*x^poly_n n是数据个数 xy是数据值 poly_n是多项式的项数 返回a0,a1,a2,……a[poly_n],系数比项数多一(常数项) 为变量申请空间 为变量申请空间 高斯消元法计算得到 n 次多项式的系数n: 系数的个数 高斯消元法计算得到 n 次多项式的系数 n: 系数的个数 ata: 线性矩阵 sumxy: 线性方程组的Y值 p: 返回拟合的结果 /*==================== 实验结果: Matlab实现: 载入数据 载入数据 对数据进行转置,并进行最小二程拟合得到拟合系数 对数据进行转置,并进行最小二程拟合 得到拟合系数 绘制图像得:

文档评论(0)

1亿VIP精品文档

相关文档