机器学习笔记-多分类学习,类别不平衡,决策树

来源:互联网 发布:淘宝店铺上传视频教程 编辑:程序博客网 时间:2024/06/06 02:33

读书笔记

多分类学习

基本思想:拆解法;将多分类任务拆解为若干个二分类任务求解,先对这些问题经拆分,为拆分出的每个二分类任务训练一个分类器,测试时,对这些分类器的预测结果进行集成以获得最终的多分类结果,

拆分策略:one vs one,一对一,将N个类别两两配对,产生,即N(N-1)/2个分类结果,最终结果通过投票产生,投票是把被预测的最多的类别作为最终分类结果。

         One vs rest,一对其余,每次将一个类的样例作为正样本,其他的作为负样本,训练N个分类器。选择预测置信度最大的标记类别作为分类结果。。

         ManyvsMany 多对多,每次将若干个类作为正样本,若干个类作为负样本,,MvM的正负样本设计必须有特殊的设计,最常用的是ECOC(Error Correcting Output Codes)。

分编码和解码两步走,编码:对N个类别做M次拆分,每次拆分将一部分做正样本,一部分做负样本,形成一个二分类训练集,如此可产生M个训练集,训练M个分类器。

解码:M个分类器分别对测试样本进行预测,这些预测标记形成一个编码,将这个预测编码与每个类别各自的编码进行比较,,返回其中距离最小的类别作为最终的预测结果。

如下是二元ECOC码

一些约束:ECOC对分离器具有一定的容错和纠错能力,这是说如果f2分类出错,从而导致-1,-1,+1,-1,+1的错误编码,基于这个仍然能产生正确的编码。一般。编码越长纠错能力越强,但同时计算量和开销也越大。对于同等长度的编码,任意两个类别之间的编码距离越远,纠错能力越强,可根据此原则来选出最优编码。

类别不平衡

基本概念:分类任务中不同类别的训练样本差别很大,比如正样本10000,负样本2

基本策略:再缩放(rescaling或者rebalance)。

对于二分类问题,y表示预测值,正样本可能性y,负样本可能性为1-y,分类决策规则为:

,则为正样本,

然,当训练集中正,负样本数目不同时,令m+为正样本数,m-为负样本数,则

观测几率是m+/m-,在训练样本是真实样本总体的无偏采样的基础上,观测几率就代表了真是几率。于是,只要分类器的预测几率高于观测几率应判定为正样本,即:

进行调整,                         

决策树

根节点-蓝色表示全体样本,内部节点红色,叶节点绿色对应于决策结果。

决策树学习的关键在于如何选择最优划分属性。随着划分过程不断进行,我们希望决策树的分支结点所包含的样本尽可能的属于同一类别,即“纯度”越来越高。

度量样本集合纯度的指标:

1.  信息熵(information entropy),定义:已知样本集合D,第k类样本所占的比例为Pk,则信息熵的定

信息增益:某属性对样本集进行划分所获得的信息增益,越大,说明使用此属性划分所获得的纯度提升越大,例如ID3算法。就是决策树在进行属性选择划分前和划分后的信息差值。

信息增益可对取值数目较多的属性有所偏好,为减少这个影响,C4.5决策树算法不直接使用信息增益,使用增益率来选择最优划分属性:先从候选属性中找出信息增益高于平均水平的属性,再从中选择增益率最高的。

C4.5机器学习算法中的另一个分类决策树算法,它是基于ID3算法进行改进后的一种重要算法,相比于ID3算法,改进有如下几个要点:

o   用信息增益率来选择属性。ID3选择属性用的是子树的信息增益,这里可以用很多方法来定义信息,ID3使用的是熵(entropy, 熵是一种不纯度度量准则),也就是熵的变化值,而C4.5用的是信息增益率。

o   在决策树构造过程中进行剪枝,因为某些具有很少元素的结点可能会使构造的决策树过适应(Overfitting),如果不考虑这些结点可能会更好。

o   对非离散数据也能处理。

o   能够对不完整数据进行处理。

C4.5算法的优点是:产生的分类规则易于理解,准确率较高。
C4.5
算法的缺点是:在构造树的过程中,需要对数据集进行多次的顺序扫描和排序,因而导致算法的低效。

 基尼指数是另外一种数据的不纯度的度量方法,

CART决策树使用Gini来选择划分属性,其定义如下:

 

 其中的m然表示数据集D中类别C的个数,Pi表示D中任意一个记录属于类别Ci的概率,计算时Pi=(D中属于Ci类的集合的记录个数/|D|)。如果所有的记录都属于同一个类中,则P1=1,Gini(D)=0,此时不纯度最低。直观的说,Gini(D)反应了从数据集D中随机抽取两个样本,其类别标记不一致的概率。

在CART(Classification and Regression Tree)算法中利用基尼指数构造二叉决策树,对每个属性都会枚举其属性的非空真子集,以属性R分裂后的基尼系数为:

  D1为D的一个非空真子集,D2为D1在D的补集,即D1+D2=D,对于属性R来说,有多个真子集,即GiniR(D)有多个值,但我们选取最小的那么值作为R的基尼指数。最后:

  我们转Gini(R)增量最大的属性作为最佳分裂属性。

 

0 0