分类模型评估与选择总结

1.评估分类器性能的度量

  当建立好一个分类模型之后,就会考虑这个模型的性能或准确率如何,这里介绍几种分类器评估度量如下表:

  假设在有标号的元组组成的训练集上使用分类器。P是正元组数,N是负元组数。

度量 公式
准确率、识别率 (TP+TN)/(P+N)
错误率、误分类率 (FP+FN)/(P+N)
敏感度、真正例率、召回率 TP/P
特效型、真负例率 TN/N
精度 TP/(TP+FP)

F、F1、F分数

精度和召回率的调和均值

2*precision*recall/(precision+recall)
Fb、其中b是非负实数 (1+b^2)*precision*recall/(b^2*precision+recall)

    注意:某些度量有多个名称。TP,TN,FP,FN,P,N分别表示真正例,真负例,假正例,假负例,正和负样本数。

    还有四个需要知道的术语。这些术语是用于计算许多评估度量的“构件”,理解它们有助于领会各种度量的含义。

      真正例/真阳性(True Positive,TP):是指被分类器正确分类的正元组。令TP为真正例的个数。

      真负例/真阴性(True Negative,TN):是指被分类器正确分类的负元组。令TN为真负例的个数。

      假正例/假阳性(False Positive, FP):是被错误地标记为正元组的负元组。令FP为假正例的个数。

      假负例/假阴性(False Negative,FN):是被错误地标记为负元组的正元组。令FN为假负例的个数。

    这些词汇总在  混淆矩阵 中:                        

实际的类\预测的类 yes no 合计
yes TP FN P
no FP TN N
合计 P‘ N‘ P+N

      除了基于准确率的度量外,还可以根据其他方面比较分类器:

        速度:这涉及产生和使用分类器的计算开销。

        鲁棒性:这是假的数据有噪声或有缺失值时分类器做出正确预测的能力。通常,鲁棒性用噪声和缺失值渐增的一系列合成数据集评估。

        可伸缩性:这涉及给定大量数据,有效的构造分类器的能力。通常,可伸缩性用规模渐增的一系列数据集评估。

        可解释性:这涉及分类器或预测其提供的理解和洞察水平。可解释性是主观的,因而很难评估。决策树和分类规则可能容易解释,但随着它们变得更复杂,它们的可解释性也随着消失。

      概扩的说:当数据类比较均衡地分布时,准确率效果最好。其他度量,如灵敏度、特效型、精度、F和Fb更适合类不平衡问题,那里主要感兴趣的类是稀少的。

2.如何获得可靠的分类器准确率估计

  a.保持方法和随机二次抽样

    保持:给定数据随机地划分成两个独立的集合:训练集和检验集。使用训练集导出模型,其准确率用检验集估计。估计是悲观的,因为只有一部分初始数据用于导出模型。

    随机二次抽样:将保持方法重复k次,总准确率估计取每次迭代准确率的平均值。

  b.交叉验证

    在k-折交叉验证(k-fold cross-validation)中,初始数据随机地划分成k个互不相交的子集或“折”D1,D2,...,Dk,每个折的大小大致相等。训练和检验进行k次。在第i次迭代,分区Di用做检验集,其余的分区一起用做训练模型。对于分类,准确率估计是k次迭代正确分类的元组总数除以初始数据中的元组总数。  一般建议使用10-折交叉验证估计准确率,因为它具有相对较低的偏倚和方差。

  c.自助法

    自助法从给定训练元组中有放回的均匀抽样。

    常用的一种是.632自助法,其方法如下:假设给定的数据集包含d个元组。该数据集有放回地抽样d次,产生d个样本的自助样本集或训练集。原数据元组中的某些元组很可能在该样本集中出现多次。没有进入该训练集的数据元组最终形成检验集。假设进行这样的抽样多次。其结果是,在平均情况下,63.2%原数据元组将出现在自助样本中,而其余38.8%的元组将形成检验集。

    可以重复抽样过程k次,其中在每次迭代中,使用当前的检验集得到从当前自助样本得到的模型的准确率估计。模型的总体准确率则用下式估计Acc(M)=Σ{0.632*Acc(Mi)_test_set+0.368*Acc(Mi)_train_set} ;其中,Acc(Mi)_test_set是自助样本i得到的模型用于检验集j的准确率。Acc(Mi)_train_set是自助样本i得到的模型用于原数据元组集的准确率。对于小数据集,自助法效果很好。

  d.其他方法

    还有使用统计显著性检验选择模型,基于成本效益和ROC曲线比较分类器 等等方法。

3.提高分类准确率的技术

  a.组合分类方法简介

    组合分类把k个学习得到的模型(或基分类器)M1,M2,...,Mk组合在一起,旨在创建一个改进的复合分类模型M*。使用给定的数据集D创建k个训练集D1,D2,...,Dk,其中Di用于创建分类器Mi。给定一个待分类的新数据元组,每个基分类器通过返回类预测投票。组合分类器基于集分类器的投票返回类预测。常见的有装袋,adaBoost提升,随机森林。

  b.装袋

    算法:装袋。装袋算法——为学习方案创建组合分类模型,其中每个模型给出等权重预测。

    输入:

      D:d个训练元组的集合;

      k:组合分类器中的模型数;

      一种学习方案(例如,决策树算法,向后传播等)

    输出:组合分类器——复合模型M*

    方法:

      for i=1 to k do  //创建k个模型

           通过对D有放回抽样,创建自助样本Di ;

        使用Di和学习方法导出模型Mi ;

      end for

    使用组合分类器对元组X分类:

      让k个模型都对k分类并返回多数表决;

  c.提升和AdaBoost

    算法:AdaBoost.一种提升算法——创建分类器的组合。每个给出一个加权投票。

    输入:

      D:类标记的训练元组集。

      k:轮数(每轮产生一个分类器)

      一种分类学习方案。

    输出:一个复合模型

    方法:

      将D中每个元组的权重初始化为1/d;

      for i=1 to k do

(3)  根据元组的权重从D中有放回抽样,得到Di;

        使用训练集Di导出模型Mi;

        计算Mi的错误率error(Mi)   : error(Mi)=Σ wi * err(Xj) ;  j=1,2,...,d

        if  error(Mi)>0.5 then

          转步骤(3)重试;

        end if

        for Di的每个被正确分类的元组  do

          元组的权重乘以error(Mi)/(1-error(Mi))  ;  //更新权重

          规范化每个元组的权重

        end for

使用组合分类器对元组X分类:

  将每个类的权重初始化为0;

  for  i=1  to  k  do            //对每个分类器

    wi=log{(1-error(Mi))/error(Mi)}   //分类器的投票权重

    c=Mi(x);              //从Mi得到X的类预测

    将wi加到类c的权重;

  end for

  返回具有最大权重的类;

为了计算模型Mi的错误率,求Mi误分类Di中的每个元组的加权和。即, error(Mi)=Σ wi * err(Xj)

    其中,err(Xj)是元组Xj的误分类误差:如果Xj被误分类,则err(Xj)为1;否则,它为0。如果分类器Mi的性能太差,错误率超过0.5,则丢弃它,并重新产生新的训练集Di,由它导出新的Mi。

    Mi的错误率影响训练元组权重的更新。如果一个元组在第i轮正确分类,则其权重乘以error(Mi)/(1-error(Mi))。一旦所有正确分类元组的权重都被更新,就对所有元组的权重(包括误分类的元组)规范化,使得它们的和以前一样。为了规范化权重,将它乘以旧权重之和,除以新权重之和。结果,正如上面介绍的一样,误分类元组的权重增加,而正确分类元组的权重减少。

  

  一旦提升完成,提升根据分裂器 的分类情况,对每个分类的表决权赋予一个权重。分类器的错误率越低,它的准确率就越高,因此他的表决权重就应当越高。分类器Mi的表决权重为 log{(1-error(Mi))/error(Mi)},对于每个类c,对每个将类c指派给X的分类器的权重求和。具有最大权重和的类是“赢家”,并返回作为元组X的类预测。

时间: 2024-08-08 13:58:02

分类模型评估与选择总结的相关文章

机器学习笔记(二)模型评估与选择

2.模型评估与选择 2.1经验误差和过拟合 不同学习算法及其不同参数产生的不同模型,涉及到模型选择的问题,关系到两个指标性,就是经验误差和过拟合. 1)经验误差 错误率(errorrate):分类错误的样本数占样本总数的比例.如果在m个样本中有a个样本分类错误,则错误率E=a/m,相应的,1-a/m称为精度(accuracy),即精度=1-错误率. 误差(error):学习器的实际预测输出和样本的真实输出之间的差异.训练误差或经验误差:学习器在训练集上的误差:泛化误差:学习器在新样本上的误差.

机器学习总结之第二章模型评估与选择

机器学习总结之第二章模型评估与选择 2.1经验误差与过拟合 错误率 = a个样本分类错误/m个样本 精度 = 1 - 错误率 误差:学习器实际预测输出与样本的真是输出之间的差异. 训练误差:即经验误差.学习器在训练集上的误差. 泛化误差:学习器在新样本上的误差. 过拟合:学习器把训练样本学的"太好",把不太一般的特性学到了,泛化能力下降,对新样本的判别能力差.必然存在,无法彻底避免,只能够减小过拟合风险. 欠拟合:对训练样本的一半性质尚未学好. 2.2评估方法 (在现实任务中,还需考虑

【机器学习123】模型评估与选择 (上)

第2章 模型评估与选择 2.1 经验误差与过拟合 先引出几个基本概念: 误差(error):学习器的实际预测输出与样本的真实输出之间的差异. 训练误差(training error):学习器在训练集上的误差,也称"经验误差". 测试误差(testing error):学习器在测试集上的误差. 泛化误差(generalization error):学习器在新样本上的误差. 错误率(error rate):分类错误的样本数占样本总数的比例. 精度(accuracy) = 1 – 错误率.

第二章 模型评估与选择

2.1  经验误差与过拟合 错误率和精度:通常我们把分类错误的样本占样本总数的比例称为“错误率”(error rate),即如果在m个样本中有a个样本分类错误,则错误率E=a/m:相应的,1-a/m称为“精度”.(accuracy).即“精度=1-错误率”. 误差:学习期的实际预测误差和样本的真实输出之间的差异称为“误差”(error) 训练误差/经验误差:学习器在训练集上的误差称为“训练误差”(training error)或 “经验误差”(expircial error) 泛化误差(gene

模型评估与选择(1)

模型评估与选择 经验误差与过拟合 (1)错误率:分类错误的样本数占样本总数的比例 精度:1\(-\)错误率 (2)误差:学习器的实际输出与样本真实值之间的差异 误差有训练误差和泛化误差两种.训练误差指的是学习器在训练集上的误差,也称为经验误差:泛化误差指的是在新样本上的误差. (但是,对于训练样本,其分类精度即使是100%,也并不一定代表这个学习器就很好.我们希望得到的是泛化误差小的学习器) (3)过拟合:承接第2点括号内的内容,我们希望得到的学习器,是在新样本上表现很好的学习器,也就是泛化误差

【机器学习 第2章 学习笔记】模型评估与选择

1.训练误差:学习器在训练集上的误差,也称“经验误差” 2.泛化误差:学习器在新样本上的误差 显然,我们的目标是得到在新样本上表现更好的学习器,即泛化误差要小 3.过拟合:学习器把训练样本学的太好了,导致泛化性能下降(学过头了...让我联想到有些人死读书,读死书,僵化,不懂得变通和举一反三) 原因:学习能力过于强大,把一些不太一般的特性也学了进来 针对措施:不好解决,是机器学习面临的关键障碍 4.欠拟合:就是连训练集都没学好,更别说泛化了(有点管中窥豹,盲人摸象的意思). 原因: 学习能力低下

机器学习之模型评估与选择

2.1 经验误差与过拟合 基本概念: 错误率:分类错误数/总样本数 训练误差/经验误差:学习器在训练集上所产生的误差 泛化误差:学习器在测试集上产生的误差 2.2 评估方法 在实际应用中会有多种不同的算法进行选择,对于不同的问题,我们该选择用哪种学习算法和参数配置,是机器学习中的模型选择.无法直接获得泛化误差,训练误差由于过拟合现象的存在也不适合作为标准,我们如何对模型进行评估和选择. 从训练集中随机获取测试集,测试集和训练集互斥.通过对D进行适当的处理,从中产生出训练集S和测试集T,下面介绍几

模型评估和选择

评价分类器性能的度量 分类器评估度量包括准确率(又称"识别率").敏感度(或称为召回率recall).特效性.精度(precision)F1和FΒ. 度量 公式 准确率.识别率 TP+TNP+N 错误率.识分类率 FP+FNP+N 敏感度 TPP 特效性.真负例率 TNN 精度 TPtp+fp F分数 2?precision?recallprecision+recall FB (1+B2)?precision?recallB2?precision+recall TP:被分类器正确分类的

监督学习之模型评估与选择

一.定义: 监督学习主要包括分类和回归 当输出被限制为有限的一组值(离散数值)时使用分类算法 当输出可以具有范围内的任何树值(连续数值)时使用回归算法 相似度学习是和回归和分类都密切相关的一类监督学习,它的目的是使用相似函数从样本中学习,这个函数可以度量两个对象之间的相似度或关联度 二.监督学习三要素 模型:总结数据的内在规律,用数据函数描述的系统 策略:选取最优模型的评价准则 算法:选取最优模型的具体方法 三.模型评估: 1.训练集和测试集 训练集(training set):训练模型的数据