【机器学习】第二章 模型评估与选择

本文探讨了经验误差、过拟合和欠拟合现象,介绍了评估模型性能的方法如测试误差、K-fold交叉验证,以及如何通过测试集选择和调参。重点讲解了回归和分类任务的性能度量,包括AUC和ROC曲线在比较学习器性能中的作用。
摘要由CSDN通过智能技术生成


2.1经验误差与过拟合

精度+错误率=1

  • 过拟合(overfitting):模型的准确率在训练集上表现良好,在测试集或其他数据上表现较差。这是由于“过度学习”了训练集的某些特征,没有很好学习到样本的普遍特征,所以在新的数据上不能做出很好的判断。过拟合不可避免,因为P=NP显然是不成立的。我们只能缓解过拟合,无法避免。
  • 欠拟合(underfitting):没有学好训练集的规律。欠拟合很好解决。e.g.对于决策树,增加分支;对于神经网络,增加训练轮数即可。

由于过拟合的存在,训练集上的误差不适合作为标准,而泛化误差不能直接获取。如何进行模型选择(model selection)就成为一个问题。

2.2评估方法

我们可以选用一个测试集来评估模型的测试误差(testing error),以测试误差代替泛化误差进行模型选择。

为了确保能验证模型是否真正学到了“普遍规律”,测试集的数据应当尽量与训练集的数据互斥
那么,如何获取这样的测试集?

  1. 留出法(hold-out):直接将数据集D一分为二,一份作训练集,一份作测试集。
    划分时要注意两个问题:
    A.数据分布的一致性,这点通常通过“分层采样”来实现。
    B.分割方式带来的误差,这点要通过随机划分,重复实验取平均值来尽量避免。
    C.训练集和测试集的比例:测试集小时,评估结果的方差较大;训练集小时,评估结果的偏差较大.
  2. K-fold交叉验证
    特殊:留一法——准确,但数据集太大时计算开销过大
  3. 自助法(bootstrap):
    优点是训练集和原样本数据量相同,避免了样本规模带来的误差;缺点是改变了数据的分布(有一些数据被重复采样放进训练集了)

得到了测试误差,接下来就是调参(parameter tuning),确定最终模型。

调参不可能穷尽所有可能,一般设定参数范围和步长,得到少量候选值,从中选出最终值。但是很多算法参数非常多,即便这样折中,工作量依然很大。

模型评估与选择中用于评估测试的数据集常称为“验证集" (validation set).
例如,在研究对比不同算法的泛化性能时,我们用测试集上的判别效果来估计模型在实际使用时的泛化能力,而把训练数据另外划分为训练集和验证集,基于验证集上的性能来进行模型选择和调参.

2.3性能度量

评估学习器的泛化误差需要标准。

  • 回归预测任务:经常采用均方误差
  • 分类任务:错误率,精度,查准率,查全率,F1;ROC 与 AUC
    “平衡点”(Break-Event Point,简称BEP)是“查准率= 查全率时的取值

进行学习器的比较时,与P -R 图相似,若一个学习器的ROC曲线被另一个学习器的曲线完全“包住"则可断言后者的性能优于前者;若两个学习器的ROC曲线发生交叉,则难以一般性地断言两者孰优孰劣.此时如果一定要进行比较,则较为合理的判据是比较RO C曲线下的面积,即AUC (Area Under
ROC Curve)

  • 代价敏感错误率与代价曲线
  • 比较检验
  • 偏差与方差分解
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值