误差分析

error 来源有biasvariance

误差分析_第1张图片

误差分析_第2张图片

误差分析_第3张图片
注:LS反了

当N比较大时,样本分布比较集中
误差分析_第4张图片

误差分析_第5张图片

误差分析_第6张图片

误差分析_第7张图片

模型越复杂拟合获得的散布越广
误差分析_第8张图片

为什么比较复杂的model散布就比较开?
因为简单的model比较不会受data的影响,正如复杂的系统稳定性就比较弱
误差分析_第9张图片
image.png

越复杂的模型,散布就比较开,但是平均起来是更接近的
误差分析_第10张图片

越复杂的模型,bias越小,variance越大
应为一个简单的model,他的function set就限定比较小,可能就根本没有包含target,而复杂的model就会包含target
误差分析_第11张图片

误差分析_第12张图片

误差分析_第13张图片

增加数据的方法:

  • 一是正常地获取数据
  • 二是,根据自己对这个问题的理解,制造假的data,即数据增强,例如在做手写辨识时,将已有的data图片进行旋转获得新的data,做动物识别时,可以将图片进行左右翻转获得新的data。还有就是声音辨识,将男女声音用变声器互相转化。将录音室的声音转化为公共场所的声音(加一些杂音)。
    正则化:
    正则化只保留那些平滑一些的曲线,但是可能误删正确的曲线。


    误差分析_第14张图片

    测试集的误差会小于未有测试集(泛化性)的误差
    如何解决测试集的误差和真实测试集的误差不同?:


    误差分析_第15张图片

    交叉验证:
    将训练集分为小训练集+验证集,用小训练集训练不同的model,用验证集得到具有最小err的Model,并用整个训练集去训练这个Model,这样得到的public testing set 的Err就和private testing ser的Err差不多。但是呢,不要刻意让训练集得到的模型贴近于测试集的数据,因为这样做相当于把public Testing Set 当做了训练集。在测试性能之前,不要把测试集暴露给训练集。

交叉验证方法:(取平均误差)


误差分析_第16张图片

你可能感兴趣的:(误差分析)