• 拟合算法


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

    定义:

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

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

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

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

    拟合算法步骤:

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

    分析:

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

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

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

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

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

    如何评价拟合的好坏:

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

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

  • 相关阅读:
    质量属性分析之《淘宝网》
    每日总结(3.7)
    每日总结(3.6)
    读架构漫谈有感
    每日总结(3.5)
    每日总结(3.4)
    laravel 输出时间少了8小时
    laravel 循环添加新的数据之后如何排序
    php trait使用详解
    laravel Guzzle使用
  • 原文地址:https://www.cnblogs.com/wisir/p/11541533.html
Copyright © 2020-2023  润新知