zoukankan      html  css  js  c++  java
  • 拟合算法

    样本点多余30个时,用拟合而不用插值算法。

    定义:

    与插值问题不同,在拟合问题中不需要曲线一定经过给定的点。拟合问题的目标是寻求一个函数(曲线),使得该曲线在某种准则下与所有的数据点最为接近,即曲线拟合的最好(最小化损失函数)。

    什么时候用插值,什么时候用拟合?

    当样本点n大于30时,成为大样本数据,此时用拟合。大样本的情况下可以用中心极限定理和大数定律,数据的正态性就能得到满足,还能得到它的置信区间。

    所以样本点比较多的时候,优先选择拟合。

    拟合算法步骤:

    先画出样本数据散点图,直到大概趋势,然后选择不同的拟合函数进行拟合,最后评价这些拟合函数的好坏,选择出最好的拟合函数。

    分析:

    怎么求得使损失最小的k和b呢?

    在求极值求偏导,再求二阶导数大于0还是小于0判断是极大值还是极小值,因此用(yi-yi^)^2来表示误差比较容易求导。

    拟合值与真实值的差的平方和最小就是最小二乘法的思想。

    这里是用线性函数作为拟合函数,求偏导求k和b比较容易,但是若是复杂的函数如指数函数作为拟合函数,用求偏导方法求拟合函数的参数就会很复杂,可能就要用到极大似然估计来求。(matlib中有对应的函数,直接调用即可)

    当拟合函数很复杂(指数函数、三角函数)时,求偏导方法失效,就要用到优化算法(智能算法),求最小二乘法,找到最小的点。

    如何评价拟合的好坏:

    拟合优度(可决系数)R^2,但只适用于线性函数(线性函数是只拥有一个变量的一节多项式函数)。

    SSE误差平方和,适合所有拟合函数好坏评价。

  • 相关阅读:
    Linux2.6X内核中文件相关结构体总结
    Linux 内核文件系统与设备操作流程分析
    在linux下删除的共享文件怎么恢复
    fedora17的U盘安装和硬盘安装
    cakephp
    【25.00%】【vijos P1907】飞扬的小鸟
    【14.36%】【codeforces 614C】Peter and Snow Blower
    【14.67%】【codeforces 615D】Multipliers
    【records】10.24..10.30
    【非常高%】【codeforces 733A】Grasshopper And the String
  • 原文地址:https://www.cnblogs.com/wisir/p/11541533.html
Copyright © 2011-2022 走看看