美文网首页
周志华《机器学习》之三:模型评估

周志华《机器学习》之三:模型评估

作者: 多多乐 | 来源:发表于2017-04-25 10:26 被阅读0次

评估方法

所谓的评估方法,可以看做是如何分配已有的数据,去训练和测试模型。书中介绍了三种主要的评估方法,分别为留出法交叉验证法自助法(bootstrap)。

留出法就是将数据分为两部分,分别拿来训练和测试,通常是七三开。可以随机划分若干次,取每次结果的平均;

交叉验证将数据分为k部分,其中k-1部分训练,剩余一部分测试,这样重复k次,保证每一小部分都测试过一遍,也是取结果的平均。在样本量较小时,可以让k等于样本量,于是变为所谓的留一交叉验证;

bootstrap法对样本有放回的抽样,先获得和原样本量一样大的样本集用于训练,再用未被抽到的样本测试(原样本中约有36.8%的样本未被抽到)。要注意bootstrap法改变了数据分布形态,会带来误差,因此样本量足够时常用留出法和交叉验证法。甚至在样本量很大时,单一次留出法的评估结果就非常接近模型真实参数了。

通过评估确定算法以及算法的参数后,需要用所有数据重新训练一下模型,这个模型就是最终版本。(这一部分其实困扰我很久,就是我们在评估模型时,每次训练模型参数都是不一样的,虽然用平均正确率等指标作为整体评价,但参数选择哪次训练数据的?还是说取参数的平均?看了书中调参这部分后终于明白了,其实是没分清算法的参数和模型的参数这两个概念。首先我们要确定算法,比如是用逻辑回归还是SVM;然后确定算法的参数,比如逻辑回归是用几次方程,SVM选择哪种核函数;明确的算法和参数就是一个模型,比如我们可以获得逻辑回归一次方程模型、二次模型等等。再通过评估方法评价每种模型的表现结果,选择表现最好的模型;最后将所有数据都放到模型中训练,得到最终的模型的参数。)

性能度量

明确评估方法后,接下来就要确定根据哪些指标度量评估方法的结果(对评估方法结果的评估)。回归任务常用“均方误差”,不必多言;分类任务常用三种度量手段:错误率与精度查准率、查全率与F1ROC与AUC

错误率与精度就是计算一下分类错误与正确的样本所占比例,最简单直观,但挖掘的还不够深;

查准率(precision,等同于阳性预测值)、查全率(recall,等同于敏感度)分别代表模型标记阳性中真阳性的比例,以及模型能够标记出的真阳性占所有真阳性的比例。F1指标是综合查准率和查全率的度量指标,F1 = 2 * P * R / (P + R),P为查准率,R为查全率。以查全率为横轴、差准率为纵轴可以画出P-R曲线。根据我们对准确率和查全率重视程度的不同,还可以规定F1的系数,使重视程度可以从F1中体现(此时应为F1的一般形式),具体系数用到时再翻书;

ROC比较熟悉了,P-R曲线其实也类似,都有对敏感度的度量,只不过ROC还关注假阳性率,P-R则关注阳性预测值。ROC和P-R都可以算曲线下面积,P-R的F1指标可以类比ROC的约登指数。我认为一般用ROC就够了。

代价曲线可以反映模型的期望总体代价,每一条ROC曲线对应一条代价曲线。代价曲线的具体意义和价值还不是很明白,以后用到时再来研究补充。

比较检验

这一部分其实就是对性能度量指标做统计检验,从而得出统计结论。比如单样本T检验,比较指标是否与设定值有显著差异;配对T检验(交叉验证T检验)、配对卡方检验(McNemar检验)比较不同算法在相同数据集上结果是否有显著差异;Friedman检验比较多个算法,再用Nemenyi进行事后检验。

整体来看模型的评估是自上而下的系统的过程。大前提是选择合适的算法及参数,再根据数据情况,选择合适的划分方法;接下来明确性能度量指标,通过重复的训练与测试,获得当前算法参数下模型的一组度量指标;最后对不同模型的度量指标进行统计检验,得出结论,即哪种算法参数下的模型更好。

偏差与方差

模型的推广能力,即泛化性能,有很多影响因素。归纳起来主要有三点:一是算法本身的拟合能力。比如选择的算法可能过于简单,无论怎么调参都无法抓住数据内部规律;二是算法对数据的拟合程度。比如算法本身合格,但选择参数过于捕捉或疏于捕捉训练数据的细节,也导致在新样本上效果不好;三是问题本身的难度,即无论任何算法都无法企及的与真实结果的差距。

泛化误差可以评价泛化性能,由偏差、方差和噪声组成。噪声反映了问题本身的难度,如同随机扰动般无法优化;偏差是通过某一训练集确定了模型后,训练集在该模型下的期望输出与真实标记的差别,反映了算法本身的拟合能力;方差是某一训练集确定了模型后,另一个训练集在该模型下的输出与训练集的标记之间的差别,反映了数据扰动的影响。

随着模型训练程度的加深,即对训练数据拟合的越来越优,偏差会越来越小;同时对应的方差有一个先减小后增大的过程,即模型由欠拟合逐渐到合适的拟合再逐渐过拟合。

相关文章

  • 周志华《机器学习》之三:模型评估

    评估方法 所谓的评估方法,可以看做是如何分配已有的数据,去训练和测试模型。书中介绍了三种主要的评估方法,分别为留出...

  • 机器学习笔记(2)

    参考书:周志华《机器学习》 第二章 模型评估与选择 Part1 训练误差与泛化误差 1.误差:模型的预测输出与真实...

  • 3.1.1.5 模型评估与选择

    模型评估与选择 原理 《机器学习》周志华 2.1 经验误差与过拟合 通常我们把分类错误的样本数占样本总数的比例称为...

  • 3.machine_learning_eval_metric

    机器学习评估与度量指标 -from周志华《机器学习》 1.1机器学习基本概念 这里的内容主要包括:性能度量、比较检...

  • 机器学习-周志华 学习笔记(模型评估与选择)

    机器学习的目的 最后的最后,我们会用模型对新的数据进行预测,希望得到好的结果。因此我们要得到泛化能力好的模...

  • 机器学习(2)

    本章节是对我学习完机器学习(周志华)第二章 所做出来的总结。 第二章 模型评估与选择 2.1 经验误差与过拟合 错...

  • Spark机器学习笔记

    Spark机器学习笔记 机器学习 机器学习是数据通过算法构建出模型并对模型进行评估,评估的性能如果达到要求就拿这个...

  • 3.1.1.1 线性模型

    线性模型 (Linear Model) : 原理 《机器学习》周志华 3.1 线性回归 最小均方误差(square...

  • 一文深度解读模型评估方法

    本文将总结机器学习最常见的模型评估指标。训练学习好的模型,通过客观地评估模型性能,才能更好实际运用决策。模型评估主...

  • 【Spark Mllib】性能评估 ——MSE/RMSE与MAP

    推荐模型评估 本篇我们对《Spark机器学习1.0:推荐引擎——电影推荐 》模型进行性能评估。 MSE/RMSE ...

网友评论

      本文标题:周志华《机器学习》之三:模型评估

      本文链接:https://www.haomeiwen.com/subject/mivpzttx.html