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

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

    定义:

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

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

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

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

    拟合算法步骤:

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

    分析:

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

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

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

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

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

    如何评价拟合的好坏:

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

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

  • 相关阅读:
    android学习---Gallery画廊视图
    王立平--查看SQLite中的数据信息
    java中CyclicBarrier简单入门使用
    [ExtJS5学习笔记]第三十三节 sencha extjs 5 grid表格导出excel
    使用target打开的iframe 获取src的问题
    读《暗时间》的思考
    hdfs
    编译最新的SQLite 3.8.4.3为一个DLL
    使用Highcharts生成折线图_at last
    CentOS7 安装EFK(elasticsearch、fluent、kibana)进行Docker下日志搜集
  • 原文地址:https://www.cnblogs.com/wisir/p/11541533.html
Copyright © 2011-2022 走看看