《机器学习》阅读心得--二、模型评估与选择

二、模型评估与选择

2.1 经验误差与过拟合

  学习器(学习到的模型)在训练集上输出结果与真实结果之间的误差称为“经验误差”,而在新样本上的输出结果与真实结果之间的误差称为“泛化误差”。
  经验误差与泛化误差之间并不存在着简单的单调关系。如果过分追求经验误差的减小,会使得学习器过于特化,丢失其一般性,不能很好的应用在新的样本上。这种情况称为“过拟合”。与之相对的是“欠拟合”,学习器尚未充分学习到训练样本的规律。过拟合是不可避免的。

2.2 评估方法

  评估方法主要是将一个初始数据集合理的划分为训练集和测试集,在训练后进行测试。目前有以下几种评估方法:
  1. 留出法:
  直接将数据集划分为两个互斥的集合,分别作为训练集和测试集。单次留出法得到的结果往往不够稳定,需要进行多次随机划分、重复试验后取平均值作为评估结果。问题在于:当测试集过小时,评估结果不够稳定;当训练集过小时,训练出的学习器和利用原始数据集训练出的学习器相差过大。
  2. 交叉验证法:
  将数据集划分为K个大小相似的互斥子集。每次用k-1个子集作为训练集,剩下的一个作为测试集。如此可重复进行K次,最后取平均值。这里称为“K折交叉验证”。如果采用不同的划分方式,比如重复划分p次,则称为“p次k折交叉验证”。这样有利于减小因样本划分不同而引入的误差。
  如果测试集中只包含一个样本,那么交叉验证法将退化为留一法。由于训练集比原始集只少了一个样本,训练出来的模型和期望模型比较相似。但是当数据量过大时,计算量是非常大的。
  3. 自助法:
  将原始数据集D中的样本进行拷贝,有放回的放到训练集中。数学证明,最终有36.8%的样本始终没有进入训练集中。这部分样本可以作为测试集。这种方式比较适合数据量较小的情况。但是问题是,它会改变数据的原始分布,这会引入数据的估计偏差。
  4.调参:
  机器学习的参数一般分为两种。一种是算法的参数,数量不多,可以人工设定。一种是模型的参数,数量很多,可能达到上百亿个。这种一般是通过学习产生多个候选的模型,并且参数调的好不好对后期结果影响很大。

2.3 性能度量

2.3.1 错误率和精度:

  错误率E(f;D)是分类错误的样本数占样本总数的比例,精度acc(f;D)是分类正确的样本数占样本总数的比例,显然有

E(f;D)+acc(f;D)=1

2.3.2 查准率、查全率与F1:
真实情况预测正例预测反例
正例TP(真正例)FN(假反例)
反例FP(假正例)TN(真反例)

  查准率P的定义为

P=TPTP+FP

  查全率R的定义为
R=TPTP+FN

  P-R图能够显示学习器在样本总体上的查准率和查全率。BEP值(P=R时的取值)越大,说明学习器越好。如果要继续深化的话,F1度量(PR调和平均值)可以作为比较学习器好坏的工具
1F1=12(1P+1R)

2.3.3 ROC与AUC:

  ROC曲线用来研究学习器在不同任务下的“期望泛化性能”的好坏。纵轴是“真正例率”(TPR),横轴是“假正例率”(FPR),定义如下

TPR=TPTP+FN
FPR=FPTN+FP

  通过比较两个学习器ROC曲线的面积,可以判断面积大的学习器性能较好。AUC(Area Under ROC Curve)即为ROC曲线面积。

2.3.4 代价敏感错误率与代价曲线

  不同类型的错误所造成的后果是不同的。为权衡不同类型错误所造成的损失,可为错误赋予“非均等代价”(unequal cost),如下表

真实类别预测第0类预测第1类
第0类0cost01
第1类cost100

  ROC曲线可以转换为代价曲线。

2.4 比较检验

  统计假设检验为学习器性能比较提供了依据。基于假设检验的结果可得出,若在测试集上学习器A比B好,那么A的泛化性能是否在统计意义上优于B,以及这个结论的置信度。
  检验的方式有假设检验、交叉验证t检验、McNemar检验、FriedMan检验与Nemenyi后续检验。大体思路都是计算某个数值是否落在某个区间内,则以置信度 α 接受这个假设,否则则拒绝。具体不展开。

2.5 偏差与方差

  根据数学证明可知

E(f;D)=bias2(x)+var(x)+ϵ2

  其中, bias2(x) 为偏差,代表算法预测与真实结果的偏离, var(x) 为方差,刻画了数据扰动对算法的影响, ϵ2 为噪声,刻画了任何算法能达到的泛化误差下界。即泛化误差可分解为偏差、方差、噪声之和。
  当算法训练不足时,偏差是泛化误差的主要因素,当算法充分训练甚至过拟合时,数据的扰动将会变得很明显,方差成为了泛化误差的主要因素。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 机器学习模型评估选择和验证是指评估模型的性能、从多个模型中选择最佳模型,并验证模型的泛化能力。常用的评估方法包括准确率、精确率、召回率、F1 分数、ROC 曲线和 AUC 等。常用的选择方法包括交叉验证、超参数调优、学习曲线分析等。 ### 回答2: 机器学习的目标是通过训练来构建模型,以便能够高效地预测未知数据。但是,模型的准确性不仅取决于所使用的算法,还取决于其它因素,例如数据和参数设置。 模型评估能够帮助我们了解模型性能的好坏。评估算法的过程通常涉及到数据划分、交叉验证和各种评估指标。一般来说,数据划分的过程将数据集拆分成训练集和测试集。用训练集来构建模型并进行参数调整,然后使用测试集来衡量模型的性能。交叉验证是在数据集合上的一个更安全和更可靠的方法,它将原始数据集划分成K个互斥的子集,并使用K-1个子集来训练模型,用剩余的子集来评估模型的性能。 选择正确的模型非常关键,因为模型的性能可以直接影响结果的准确性。选择模型的一个重要因素是如何表示数据集。数据可以使用多种方式表示,而不同的数据表示方式有不同的优劣。选择适当的模型是当然的,但是我们还应该使用技术来优化模型,并防止模型过度拟合或欠拟合。 模型验证是评估模型如何执行任务的最终步骤。验证后,我们可以使用模型进行预测并将其应用于新数据。如果模型的性能不符合要求,可以通过重新评估、更改数据集或改变模型参数来尝试改善。模型验证是机器学习流程中非常重要的一部分,可以确保我们的模型效果良好,从而为我们提供可靠的预测结果。 总之,机器学习是一种建立复杂模型的方法,不同的算法、数据表示方式和参数会影响其性能。为了找到最佳模型,我们需要进行模型评估选择和验证等工作。这些步骤是机器学习流程的关键组成部分,可以帮助我们构建高效且准确的模型,从而应对各种实际应用场景。 ### 回答3: 机器学习是一种人工智能领域的重要技术,它允许计算机从历史数据中学习,建立预测模型,并用于未来的数据预测和决策。模型评估选择与验证是机器学习过程中的重要一环,以保证模型的准确性、稳定性和泛化能力。 模型评估的目的是检验模型的表现,并度量其优劣。常用的评估指标包括精确度、召回率、F1值等,这些指标可以用于比较不同模型之间的性能表现。评估模型时,通常需要将数据集划分为训练集和测试集,训练集用于训练模型,而测试集用于评估模型性能。评估模型的结果可以指导我们调整模型的参数,提高模型的预测精度。 模型选择是在多个模型中选择最合适的模型。常用的模型选择方法包括交叉验证、留一法等。交叉验证是将数据集分成k个子集,每个子集轮流作为测试集进行模型评估,其余部分用于训练模型,最后将测试集误差取平均值作为综合误差来评估模型的性能。 模型验证是对模型的泛化能力的验证。泛化能力是指模型对未知数据的预测精度,即模型是否能够对新数据进行较好的预测。在模型验证中,需要将数据集划分为训练集、验证集和测试集。在训练集中训练模型,在验证集上调整模型参数,并在测试集上验证模型的泛化能力。常用的验证方法包括留存法、k折交叉验证等。 综上所述,模型评估选择与验证对于机器学习中的预测模型非常重要。这些技术可以保证模型的准确性和稳定性,并提高模型的泛化能力,为数据分析和预测提供可靠依据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值