面试相关 交叉验证

交叉验证

        • 交叉验证:
        • 1. 模型评估
        • 2. 模型选择
        • 3. 交叉验证与过拟合的关系
        • 4. 交叉验证的优缺点
        • 5. 交叉验证的使用场景
        • 6. 留出法:
        • 7. 留一法:

面试被问到交叉验证,今天花了点时间整理了一下交叉验证相关的知识

交叉验证:

N折交叉验证有两个用途:模型评估(周志华《机器学习》p24)和模型选择。模型评估可以看成是模型选择过程中的一个步骤:先对候选的每个模型进行评估,再选出评估表现最好的模型作为最终模型。把这种策略用于划分训练集和测试集,就可以进行模型评估;把这种策略用于划分训练集和验证集,就可以进行模型选择。

交叉验证的核心思想:对数据集进行多次划分,对多次评估的结果取平均,从而消除单次划分时数据划分得不平衡而造成的不良影响。因为这种不良影响在小规模数据集上更容易出现,所以交叉验证方法在小规模数据集上更能体现出优势

面试相关 交叉验证_第1张图片

1. 模型评估

数据集被划分成训练集、测试集两部分,训练集和测试集的划分采用N折交叉的方式。

交叉验证的优势在于:避免由于数据集划分不合理而导致的问题,比如模型在训练集上过拟合,这种过拟合可能不是模型导致的,而是因为数据集划分不合理造成的。这种情况在用小规模数据集训练模型时很容易出现,所以在小规模数据集上用交叉验证的方法评估模型更有优势

2. 模型选择

模型选择,也可以称为超参数选择。数据集需要划分成训练集、验证集、测试集三部分,训练集和验证集的划分采用N折交叉的方式。

  • 验证集是在训练过程中用于检验模型的训练情况,从而确定合适的超参数;
  • 测试集是在训练结束之后,测试模型的泛化能力。

首先在训练集和验证集上对多种模型选择(超参数选择)进行验证,选出平均误差最小的模型(超参数)。选出合适的模型(超参数)后,可以把训练集和验证集合并起来,在上面重新把模型训练一遍,得到最终模型,然后再用测试集测试其泛化能力。

3. 交叉验证与过拟合的关系

当用交叉验证进行模型选择时,可以从多种模型中选择出泛化能力最好的(即最不容易发生过拟合)的模型。从这个角度上讲,交叉验证是避免发生过拟合的手段。同样是解决过拟合的方法,交叉验证与正则化不同:交叉验证通过寻找最佳模型的方式来解决过拟合;而正则化则是通过约束参数的范数来解决过拟合。

当用交叉验证进行模型评估时,交叉验证不能解决过拟合问题,只能用来评估模型的performance。

4. 交叉验证的优缺点

优点:获得对模型更合理更准确的评估,尤其是数据集很小时,更能体现出这个优势。

缺点:增加了计算量。

5. 交叉验证的使用场景

  • 如果当前有多个候选模型,想从中选出一个最合适的模型,就可以用交叉验证的方法进行模型选择,尤其是当数据集很小时。
  • 如果当前只有一个模型,想获得对这个模型的performance最客观的评估,就可以用交叉验证的方法进行模型评估,尤其是当数据集很小时。

6. 留出法:

直接将数据集 D D D 分为两个互斥的集合(训练集 S S S 和测试集 T T T)。划分时要尽可能保持数据分布的一致性,例如在分类任务中至少要使用分层采样,以保持样本的类别比例相似。一般要采用若干次随机划分,重复进行试验评估后取平均值作为留出法的评估结果。

注:若 S S S 包含绝大多数样本,则训练出的模型可能更接近于用 D D D 训练出的模型,但由于 T T T 比较小,评估结果可能不够稳定准确;若 T T T 多包含一些样本,则 S S S D D D 的差别较大,被评估的模型与用 D D D 训练出的模型相比可能有较大差别,从而降低了评估结果的保真性。常见做法是将大约 2 / 3 ~ 4 / 5 2/3~4/5 2/34/5 的样本用于训练,剩余样本用于测试。

7. 留一法:

交叉验证法的一个特例(假定数据集 D D D 中包含 m m m 个样本, k = m k=m k=m)。在绝大多数情况下,留一法中被实际评估的模型与期望评估的用 D D D 训练出的模型很相似,评估结果往往被认为比较准确。但在数据集比较大时,训练 m m m 个模型的计算开销难以忍受。

参考:
[1] https://zhuanlan.zhihu.com/p/113623623
[2] 周志华《机器学习》p24

你可能感兴趣的:(others,算法,机器学习)