总结:交叉验证

目录

WHAT

WHY


WHAT

交叉验证(Cross-Validation),简称CV。

也称循环估计,是一种统计学上将数据样本切割成较小子集的使用方法。

引入三个名词:

训练集:学习样本数据集,匹配参数确立模型。

验证集:调整训练出的模型的参数,还用来确定网络结构或控制模型复杂程度的参数。

测试集:测试模型。

三个重要指标:

偏差(Bias):准确度。学习得出的模型的期望预测与真实结果的偏离程度(平均预测值与真实值之差),用于刻画算法本身的拟合程度

方差(Variance):稳定性。使用同规模的不同训练集在训练时带来的性能变化(预测值与平均预测值之差的平方的期望),用于刻画数据扰动带来的影响。

误差(Error):整个模型的准确度。

注意:

1、Error=Bias^2+Variance+Noise

2、Bias与Variance往往不能兼顾。两个都是low是理想的状态(可见下图),但是如果要降低Bias,一定程度上Variance会提高,反之亦然。

     根本原因:我们更希望的情况是用有限的样本数据集去估计预测无限的真实数据集。当我们不断地提高模型的准确度(Bias降低),就会出现过拟合的情况,模型的泛化能力就会降低,降低模型在真实数据中的表现,增加模型的不确定性(Variance提高)。反之,如果在学习模型的过程中增加更多的限制,就可以降低模型的Variance(Variance降低),提高模型的稳定性,但会使得模型的Bias增大(Bias提高)。

    总结:过拟合高偏差,欠拟合高方差。

    那么,如何避免这两种极端情况呢???

    (1)避免欠拟合:寻找更好的特征(具有代表性),使用更多的特征(增大输入向量的维度)。

    (2)避免过拟合:增大数据集(降低噪声比重),减少数据特征(减少数据维度),正则化方法(在目标函数或代价函数上加上正则项),交叉验证方法(本贴的重点部分)

  三大CV方法:Hold-out Method、K-fold Cross Validation、Leave-One-Out Cross Validation

这里详细介绍K-fold Cross Validation(k折交叉验证)

1、将原始数据分为k组(一般是均分),

      每个子集分别做一次验证集,其余的k-1组子集数据作为训练集

       得到k个模型

2、用这k个模型最终的验证集的分类准确率的平均数作为此k-CV下分类器的性能指标

3、评估这k个模型的效果,挑选最好的超参数(超参数是在开始学习过程之前设置值的参数,而不是通过训练得到的参数数据。)。

4、使用最优的超参数,然后将k份数据全部作为训练集重新训练模型,得到最终模型。

WHY

1、交叉验证用于评估模型的预测性能,尤其是训练好的模型在新数据上的表现,可以在一定程度上减小过拟合。

2、从有限的数据中获取尽可能多的有效信息。

3、仅使用训练集衡量模型性能的一个方便技术,不用建模后才使用测试集。

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值