拟合算法简介

插值和拟合区别简述

插值算法是要严格经过样本点,在数据样本点的损失为0,但是对于拟合来说仅仅是在数据样本点中寻找出所存在的规律,用一条和数据样本点相似趋势函数进行表示,具有一定的损失。并不是损失越小效果越好,因为损失过小可能造成过拟合的情况,对于拟合来说,能在一定程度上避免过拟合,但是并不是不存在过拟合。

线性拟合函数

线性函数:

y ˆ i = k x i + b \text{\^{y}}_i=kx_i+b yˆi=kxi+b

线性损失函数通常用均方误差:

k ˆ , b ˆ = a r g   m i n k , b ( ∑ i = 1 n ( y i − y ˆ i ) 2 ) \text{\^{k}},\text{\^{b}}=arg~\underset{k,b}{min}(\sum_{i=1}^n(y_i-\text{\^{y}}_i)^2) kˆ,bˆ=arg k,bmin(i=1n(yiyˆi)2)

所以我们的目标函数就是使损失函数尽可能的小,那么就有了:

L = ∑ i = 1 n ( y i − k x i − b ) 2 L=\sum_{i=1}^{n}(y_i-kx_i-b)^2 L=i=1n(yikxib)2

现在要找使 L L L最小的 k , b k,b kb 我们通常使用最小二乘法,就是求导数的极值点(凸函数)就是最优解:
在这里插入图片描述

拟合优度的引入

特别注意只适用于参数线性函数,因为 S S T = S S E + S S R SST=SSE+SSR SST=SSE+SSR证明时需要线性推导依赖于参数线性函数,若不是参数线性函数就一般使用均方误差来衡量拟合程度。若出现 R 2 < 0 R^2<0 R2<0说明模型拟合结果还没有一条平均线效果好
在这里插入图片描述

拟合优度的证明

在这里插入图片描述

参数线性函数

在这里插入图片描述
y = a 2 x + b , y = a 2 b x y=a^2x+b,y=\frac{a^2}{b}x y=a2x+b,y=ba2x均是非参数线性函数

MATLAB代码模拟

MATLAB验证使用:

load xy.mat

plot(x,y,'o')
xlabel('x的值')
ylabel('y的值')
n = size(x,1);
k = (n*sum(x.*y)-sum(x)*sum(y))/(n*sum(x.*x)-sum(x)*sum(x));
b = (sum(x.*x)*sum(y)-sum(x)*sum(x.*y))/(n*sum(x.*x)-sum(x)*sum(x));
hold on % 继续在之前的图形上来画图形
grid on % 显示网格线
f=@(x) k*x+b;%定义线性函数
plot([2.5,7],[f(2.5),f(7)]);
legend('样本数据','拟合函数','location','SouthEast')
y_hat = k*x+b; % y的拟合值
SSR = sum((y_hat-mean(y)).^2); % 回归平方和
SSE = sum((y_hat-y).^2); % 误差平方和
SST = sum((y-mean(y)).^2); % 总体平方和
SST-SSE-SSR;
R_2 = SSR / SST

xy.mat:
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

cftool模拟

tool名称:Curvel Fitting
在这里插入图片描述
生成代码和保存图像:
在这里插入图片描述

不收敛

给出了近2个世纪的美国人口统计数据(单位:百万人)

t = 1790:10:2000;
x =[3.9,5.3,7.2,9.6,12.9,17.1,23.2,31.4,38.6,50.2,62.9,76.0,92.0,106.5,123.2,131.7,150.7,179.3,204.0,226.5,251.4,281.4];

在这里插入图片描述

没有收敛:
在这里插入图片描述
改变优化算法初始值就可以了(多试试)。
在这里插入图片描述

原因:主要是因为模拟的函数并不是凸函数造成在梯度下降算法求最优解的时候陷入了极值点或者陷入了鞍点,但是不是最值点,所以需要调整初始值。

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

「 25' h 」

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值