ml
  • Introduction
  • 机器学习基础
    • 机器学习基础_距离
    • 机器学习基础_概率论基础
    • 机器学习基础_线性代数基础
    • 机器学习基础_微积分基础
    • 机器学习基础_最优化理论
    • 机器学习基础_损失函数
  • 特征工程
    • 特征工程_归一化
    • 特征工程_编码
    • 特征工程_特征组合
    • 特征工程_特征选择
    • 特征工程_文本表示模型
    • 特征工程_图像增强
  • 模型评估
    • 模型评估_评估指标
    • 模型评估_AB测试
    • 模型评估_过拟合和欠拟合
    • 模型评估_超参数选择
    • 模型评估_模型评估方法
  • 降维
    • 降维_PCA主成分分析
    • 降维_LDA线性判别分析
  • 监督学习
    • 监督学习_朴素贝叶斯分类
    • 监督学习_决策树
    • 监督学习_K近邻法
    • 监督学习_支持向量机
    • 监督学习_CRF
  • 非监督学习
    • 非监督学习_K均值
    • 非监督学习_Mean_Shift均值漂移聚类
    • 非监督学习_DBSCAN基于密度的聚类方法
    • 非监督学习_Hierarchical_Clustering层次聚类
    • 非监督学习_Spectral_Clustering谱聚类
  • 半监督学习
  • 集成学习
  • 强化学习
Powered by GitBook
On this page
  • 模型评估方法
  • Holdout检验
  • 交叉验证
  • 自助法

Was this helpful?

  1. 模型评估

模型评估_模型评估方法

Previous模型评估_超参数选择Next降维

Last updated 3 years ago

Was this helpful?

[TOC]

模型评估方法

Holdout检验

Holdout检验是最简单也是最直接的验证方法,它将原始的样本集合随机划分成训练集和验证集两部分。

比方说,对于一个点击率预测模 型,我们把样本按照70%~30%的比例分成两部分,70%的样本用于模型训练;30%的样本用于模型验证,包括绘制ROCROCROC曲线、计算精确率和召回率等指标来评估模型性能。

Holdout 检验的缺点很明显,即在验证集上计算出来的最后评估指标与原始分组有很大关系。

为了消除随机性,研究者们引入了“交叉检验”的思想。

交叉验证

k-fold交叉验证:

  1. 首先将全部样本划分成k个大小相等的样本子集;

  2. 依次遍历这k个子集,每次把当前子集作为验证集,其余所有子集作为训练集,进行模型的训练和评估;

  3. 最后把k次评估指标的平均值作为最 终的评估指标。在实际实验中,k经常取10。

留一验证: 每次留下1个样本作为验证集,其余所有样本作为测试集。

样本总数为nnn,依次对nnn个样本进行遍历,进行nnn次验证,再将评估指标求平均值得到最终的评估指标。

在样本总数较多的情况下,留一验证法的时间开销极大。

事实上,留一验证是留p验证的特例。留ppp验证是每次留下ppp个样本作为验证集,而从nnn个元素中选择ppp个元素有CCC种可能,因此它的时间开销更是远远高于留一验证,故而很少在实际工程中被应用。

自助法

不管是Holdout检验还是交叉检验,都是基于划分训练集和测试集的方法进行模型评估的。

然而,当样本规模比较小时,将样本集进行划分会让训练集进一步减小,这可能会影响模型训练效果。

有没有能维诗训练集样本规模的验证方法呢?自助法可以比较好地解决这个问题。 自助法是基于自助采样法的检验方法。

对于总数为nnn的样本集合, 进行nnn次有放回的随机抽样,得到大小为nnn的训练集。

nnn次采样过程中, 有的样本会被重复采样,有的样本没有被抽出过,将这些没有被抽出的样本作为验证集,进行模型验证,这就是自助法的验证过程。

异世界.png