当前位置: 首页 > news >正文

有创意的个人网站名字宁波seo快速优化平台

有创意的个人网站名字,宁波seo快速优化平台,上海市建设工程咨询行业协会,摄影网站建设策划书拟合算法 文章目录 拟合算法概念 确定拟合曲线最小二乘法的几何解释求解最小二乘法matlab求解最小二乘法如何评价拟合的好坏计算拟合优度的代码 概念 在前面的篇幅中提到可以使用插值算法,通过给定的样本点推算出一定的曲线从而推算出一些想要的值。但存在一些问题…

拟合算法

文章目录

  • 拟合算法
      • 概念
    • 确定拟合曲线
      • 最小二乘法的几何解释
      • 求解最小二乘法
      • matlab求解最小二乘法
      • 如何评价拟合的好坏
      • 计算拟合优度的代码

概念

在前面的篇幅中提到可以使用插值算法,通过给定的样本点推算出一定的曲线从而推算出一些想要的值。但存在一些问题。一是若样本点过多,那么多项式的次数过高会造成龙格现象;二是为了避免龙格现象而通过分段的思想求得拟合曲线,但这样会导致曲线函数非常复杂。

针对以上问题,在拟合问题中,不需要曲线一定经过给定的点。拟合问题的目标是寻求一个函数(曲线),而该函数尽可能设置得较为简单,使得该曲线在某种准则下与所有的数据点最为接近,即只要保证误差足够小即可,(最小化损失函数),这就是拟合是思想。

确定拟合曲线

给定一组数据[x,y],找出y和x之间的拟合曲线

image-20230811201338259

在matlab上通过画图得出这组数据对应的图像

plot(x,y,'o');

image-20230811205402341

拟合一个曲线去接近样本点,这里我用一个简单的拟合曲线y=kx+b。现在的问题是,k和b取何值时,样本点和拟合曲线最接近。

最小二乘法的几何解释

image-20230811210132216

  • 第一种定义有绝对值,后续不容易求导,因此计算较复杂。所以我们往往使用第二种定义,这正是最小二乘法的思想
  • 我们也不使用三次方,因为三次方计算样本点到拟合曲线的距离会出现负数,那么该距离就会正负抵消
  • 我们也不使用四次方,使用4次方时,若出现某个异常值离曲线较远,那么该拟合曲线受到的影响较大

image-20230811210708976

求解最小二乘法

image-20230811210825318

最终落脚到的两个公式:k</sup>和b<sup>推导公式

  • 该公式通过对k和b一介求导,然后分离系数所得

matlab求解最小二乘法

image-20230811211416247

根据公式不难得出代码

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; %% f=kx+b是匿名函数,该函数图形不需要另外传参数也能形成图形
fplot(f,[2.5,7]);
legend('样本数据','拟合函数','location','southeast');
  1. f函数是匿名函数,该函数图形不需要另外传参数也能形成图形。在matlab中画出图形需要传参。比如正常情况下f函数需要传参x否则不能画出图形,而匿名函数系统会根据需求自己给出一定范围的参数以得画出图形

匿名函数的基本用法

handle = @(arglist) anonymous_function
  • 其中handle为调用匿名函数时使用的名字。

  • arglist为匿名函数的输入参数,可以是一个,也可以是多个,用逗号分隔。

  • anonymous_function为匿名函数的表达式。

  • 注意输入参数和表达式之间要用空格

  1. fplot可用于画出匿名一元函数的图形

基本用法

fplot(f,xinterval) 
  • 将匿名函数f在指定区间xinterval绘图。xinterval = [xmin xmax] 表示定义域的范围

image-20230811214612764

如何评价拟合的好坏

image-20230811214710021

  • 根据SST、SSE、SSR可以证明:
  1. SST=SSE+SSR
  2. 拟合优度:0<=1-SSE/SST<=1;而SSE误差平方和越小,拟合优度R2越接近1。误差越小说明拟合的越好
  3. 注意:拟合优度R2只能用于拟合函数是线性函数,若拟合函数是其他函数,直接看误差平方和即可,SSE越小,说明拟合度越好
  4. 线性函数是指在函数中,参数仅以一次方出现,且不能乘以或除以其他任何的参数,并不能出现参数的复合函数形式。该参数不是指自变量x。比如y=kx+b,该参数指的是区别于自变量x和因变量y以外的参数k和b。

image-20230811221145242

计算拟合优度的代码

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; %% f=kx+b是匿名函数,该函数图形不需要另外传参数也能形成图形
fplot(f,[2.5,7]);
legend('样本数据','拟合函数','location','southeast');
y_hat=k*x+b;
SSR=sum((y_hat-mean(y)).^2); % 回归平方和
SSE=sum((y-y_hat).^2); % 误差平方和
SST=sum((y-mean(y)).^2); % 总体平方和
disp(SST-SSE-SSR);
R_2=SSR/SST; % 拟合优度
disp(R_2);

image-20230811222406484

  • SST-SSE-SSR的结果不为0的原因是在matlab中浮点数做运算一定程度上结果不精准,但结果是5.6843^-14结果是非常小的即非常接近0
    [外链图片转存中…(img-WkmLP3WM-1692188156893)]

  • SST-SSE-SSR的结果不为0的原因是在matlab中浮点数做运算一定程度上结果不精准,但结果是5.6843^-14结果是非常小的即非常接近0

  • 拟合度为0.9635非常接近1了,说明该拟合函数的拟合度较好

http://www.dinnco.com/news/85599.html

相关文章:

  • 建网站的平台网站收录检测
  • 网站规划与建设是什么西安网站seo推广
  • 做网站推销好做吗seo01
  • 建一个网站得多少钱郑州网络推广方法
  • 公众号怎么开通直播功能青岛百度推广seo价格
  • 求一些做里番的网站搜索引擎优化seo课程总结
  • 简单网站建设发帖百度秒收录网站分享
  • 重庆的做网站公司优化软件有哪些
  • 编程和做网站有关系吗中国免费广告网
  • p2p网站的建设百度搜索引擎优化的养成良好心态
  • 网站开发准备工作百度数据平台
  • 怎么设计一个网站网站优化+山东
  • 网页类网站宁波网站建设推广平台
  • 做策划的都上哪些网站搜索资料间cps广告联盟网站
  • 微网站建设招聘竞价托管就选微竞价
  • 做短视频网站用哪家cms如何制作视频网站
  • 睢宁网站建设网站查询访问
  • 怎么做网站自己当站长百度收录比较好的网站
  • 单位门户网站怎么做seo站长工具平台
  • 新服务器做网站如何配置合肥百度推广优化
  • 微网站搭建的步骤和技巧31省市新增疫情最新消息
  • 赛事竞猜网站开发网站推广软件哪个最好
  • dedecms 资源类网站外包seo公司
  • 高埗镇做网站免费友情链接网站
  • 网站制作的重要性免费网站大全
  • 深圳微信网站建设报价搜索引擎优化的报告
  • 中英文微信网站开发营销课程培训视频
  • 嘉兴网站制作公司关键词查找的方法有以下几种
  • 网站建设和网站设计一样吗靠谱的推广平台有哪些
  • 网站的反链要怎么做百度地图在线使用