• 过拟合与过拟合的经典例子


    本站原创文章,转载请说明来自 《老饼讲解-机器学习》 ml.bbbdata.com

    过拟合是机器学习中最常遇到的问题,本文解析什么叫过拟合

      01. 什么是过拟合  

    本节通过概念解析与可视化例子,讲述什么是过拟合

         什么是过拟合    


    过拟合是指在由于过度拟合训练数据,
    导致模型过于复杂,以致于在测试数据上预测效果不好

     正因此,过拟合也称为缺失泛化能力

         过拟合例子    


    常用于解析过拟合的有两个例子
     曲线拟合  


    可以看到,过拟合时,模型虽然在训练数据上拟合得更好,但拟合出的曲线已经偏离了原本形态

        平面分类  
     


    可以看到,过拟合时,模型虽然在训练数据上达到更好的效果,
    但这种"更好的效果"是通过"勉强而为之"换取而来的,它对模型真实应用时有害无益

      02. 过拟合的具体例子解说  

    这里我们展示一个曲线拟合中出现过拟合的实验例子,从而更深刻理解过拟合

       实验例子   


    现有数据点如下:
     
     

    我们用三次多项式 y=−0.1016�3+0.0175�2+0.9239�−0.1175y=−0.1016x3+0.0175x2+0.9239x−0.1175  对数据点拟合如下:
     

     
      蓝色为数据点,红色为多项式曲线
    如果觉得还有些误差,不尽人意,
      还可以强行用10次多项式 把每个点都拟合到位(拉格朗日插值法),
     如下:
     可以看到,10次多项式对训练数据已经是0误差拟合
      虽然10次多项式对训练数据的拟合误差为0,但它却未必是我们想要的曲线
    我们不妨把该10次多项式的曲线画出,如下:
     


    可以看到整条拟合曲线非常的跌宕!
    虽然它精确经过了每一个数据点,
    但在非历史数据点上,预测效果反而不如3次多项式~!
    这就是过拟合,也称为缺失泛化能力


       实验总结   


    从这例子,我们看到了两个问题
    强行拟合历史数据导致整体震荡    
     
    由于强行拟合,导致函数在数据点之间剧烈震荡,失去了预测的效果
     
       强行拟合历史数据会复现不合理的错误
     
    观察原始数据点,应该是一个三角函数sin的数据,
    而在  x = -0.6 处,虽然数据点的 y 值是 -1.2,
    但这实际上这更可能是一个采集错误的数据点
    而10次多项式过于追求拟合,反而把这个错误数据点的错误也完美无遗的重现了出来
    反观3次多项式,它兼顾了整体的平滑,成功忽略了这个错误点
  • 相关阅读:
    网络地址转换NAT
    MySQL FLOAT、DOUBLE、DECIMAL(小数类型)
    C++模板元编程详细教程(之一)
    2023年9月13日
    《WEBGL编程指南》练习记录(一)
    RationalDMIS2022车削件(轴类)测量:回转体检测
    大新闻!【比特熊故事汇】升级2.0
    蓝桥杯每日一题2023.10.22
    zookeeper如何保证单一系统镜像
    JVM——一些零散的概念(后续学习深入了再补充)
  • 原文地址:https://blog.csdn.net/ywj_1991/article/details/133875388