• 李宏毅机器学习笔记02(where does the error come from) zr


    model的误差来源分析

    思路:

    1、首先,error的两大来源bias和variance是指什么

    2、然后,bias和variance是怎么产生的

    3、进一步,如何判断你的model是bias大(欠拟合)还是variance大(过拟合),如何解决

    4、最后,结论

     

    1、首先,error的两大来源bias和variance是指什么

      1)、我们知道,不同的model对于同一个training data和同一testing data的performance都是不同的,

    并不是说越复杂的model就会表现得越好,那么误差来源于哪里呢?

      误差的两大来源:biasvariance

          2)、什么是bias和variance呢?

      首先知道什么是误差:前面的学习知道,机器学习就是寻找一个函数,然后给它一个输入,就能得到一个理想的输出。

    f head是理论上找到的最佳函数,f star 是我们用模型预测出来的函数,两者的差值就是误差

        

      接着,我们来看看什么是biasvariance(偏差和方差):

      举个栗子说明,下图是用一定样本数的均值m来估计假设的随机变量的平均值u,这是一种无偏估计(unbiased)。

      

       也就是说,估计值的期望等于假设值(如上文的E(m)=u),即为无偏差,反之有偏差(bias)

    当样本数越来越大时,m就越靠近u。

       方差表达的是数据的离散程度,这里对于方差的估计是有差估计:

      最后,bias和variance的直观理解:

       因此,bias表示的是预测的f bar(预测f star的期望)与f head的距离,variance表示的是每次预测的f star 与f bar的距离(看图)

    2、然后,bias和variance是怎么产生的

      下面结合实际的实验说明,bias和variance是如何产生的。

      由上述得出,我们要知道bias有多大,就要做多次实验,确定多个f star,然后求出f star期望(E(f*))

    那么首先,我们可以设计100组实验,每组实验10个数据,如下图:

      然后思考,对于这样的数据,我们选用什么model比较好呢,哪一个model最后的bias比较小呢?

       接着,我们就开始比较不同model的performance,比如先用一个一次model,就得到了100个不同的 f star(model参数不同)

       进一步可以比较,不同的model中(每种model有100个f star)的表现:

      

       有了很多不同的 f  star 之后,就可以求出期望,与假设的 f head对比,就得到bias了!!

      于是,bias和variance就产生了!

     

      图中看出,简单model可能并不包含目标,因此会造成较大的bias

       variance的产生是在测试数据集的时候发现训练出来的function有很大的误差,此时variance就产生了

      (是因为训练出来的function太扭曲了)

      最后我们可以解释一开头的图片,得到结论:我们理想中的目标是找到一个平衡点,使bias和variance尽可能小。

    3、进一步,如何判断你的model是bias大(欠拟合)还是variance大(过拟合),如何解决

    4、最后,结论

  • 相关阅读:
    代码的未来
    shell脚本中的[]/[[]]区别
    shell脚本判断文件类型
    muduo库安装
    protobuf安装
    讲给普通人听的分布式数据存储(转载)
    Oracle OCCI学习之开篇
    浅谈MySQL索引背后的数据结构及算法(转载)
    5.7版本mysql查询报错:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:...this is incompatible with sql_mode=only_full_group_by
    IDEA启动tomcat报错:java.lang.NoClassDefFoundError: org/springframework/context/ApplicationContext、ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component
  • 原文地址:https://www.cnblogs.com/xxlad/p/11201463.html
Copyright © 2020-2023  润新知