非线性分类器(二)之决策树和集成分类器

非线性分类器(二)

决策树

决策树方法利用一定的训练样本,从数据中“学习”出决策规则,自动构造决策树,并利用树结构进行决策,每一个非叶子节点是一个判断条件,每一个叶子节点是结论。

决策树构建方法:
在这里插入图片描述
属性选择的准则:

使用某属性对数据集划分之后,各数据子集的纯度要比划分前的数据集的纯度高,也就是不确定性(熵)要比划分前数据集的不确定性低。

随机变量熵的定义,假定当前样本集合中第类样本所占的比例为pk :
在这里插入图片描述
信息增益的定义:
在这里插入图片描述

ID3算法:

在决策树各个节点上利用信息增益准则选择属性,递归地构建决策树,从根节点开始,对节点计算所有可能的属性的信息增益,选择信息增益最大的属性作为节点的属性,由该属性的不同取值建立子节点,再对子节点递归地调用以上方法;直到所有属性的信息增益均很小或没有属性可以选择为止,最后得到一个决策树。

ID3算法分析:

信息增益会偏向取值较多的属性。

C4.5算法

C4.5利用信息增益率进行属性划分,是ID3的改进,信息增益率定义:
在这里插入图片描述
C4.5算法分析:

信息增益率会偏向取值较少的属性。

CART算法:

CART算法使用基尼指数来选择最优属性,同时决定该属性的最优二值划分点。假设分类问题中,设有K个类,样本属于第k类的概率为pk,则概率分布的基尼指数定义为:
在这里插入图片描述
应选择那个使划分后基尼指数最小的属性作为最优划分属性。

需要注意的是,CART分类树算法每次仅对某个特征的值进行二分,而不是多分。此时,CART分类树算法建立起来的是二叉树,而不是多叉树。

剪枝处理

预剪枝:

决策树生成过程中,对每个结点在划分前先进行估计,若当前结点的划分不能带来决策树泛化性能提升,则停止划分并将当前结点记为叶结点,其类别标记为训练样例数最多的类别。

方法:

1、数据划分法:将数据划分为训练样本和测试样本,基于训练样本对决策树进行生长,直至在测试样本上的分类错误率达到最小时停止生长。需要采用多次交叉验证

2、阈值法:预设一个信息增益阈值,小于阈值的节点停止生长。

3、信息增益的统计分析:统计已有节点的信息增益的分布,如果继续生长后信息增益的统计分布变化不明显,则停止生长。

预剪枝的优点与缺点:

1、降低过拟合风险而且显著减少训练时间和测试时间开销。

2、有些分支的当前划分虽然不能提升泛化性能,但在其基础上进行的后续划分却有可能导致性能显著提高。预剪枝基于“贪心”本质禁止这些分支展开,带来了欠拟合风险。

后剪枝

先从训练集生成一棵完整的决策树,然后自底向上地对非叶结点进行考察,若将该结点对应的子树替换为叶结点能带来决策树泛化性 能提升,则将该子树替换为叶结点。

方法:

1、减少分类错误率

2、最小代价与复杂性折中

3、MDL准则编码法

后剪枝的优点与缺点:

1、后剪枝比预剪枝保留了更多的分支,欠拟合风险小,泛化性能往 往优于预剪枝决策树

2、训练时间开销大:后剪枝过程是在生成完全决策树之后进行的,需要自底向上对所有非叶结点逐一考察

连续值与缺失值处理

处理连续值:动态地定义新的离散值属性,即把连续值属性的值域分割为离散的区间集合

缺失值处理:赋给缺失值处节点n的训练样例中该属性的最常见值

集成分类器

Bagging与随机森林

1、在原始训练集上进行有放回的随机采样,得到若干个比较小的训练集;利用这些训练 集,训练若干个模型;最后通过投票的方法进行模型集成。

2、决策树作为每一个弱分类器。

3、优点:
在这里插入图片描述

AdaBoost方法

1、串行生成,每个模型都针对前序模型的错误进行专门训练,从而增加不同基模型之间的差异性。

2、提高那些被前一轮弱分类器错误分类样本的权值,并降低那些被正确分类的样本的权值。

3、算法原理:

1)计算样本权重,初始化权重值相等,均为1/n

2)计算错误率ε:
在这里插入图片描述
3)利用错误率ε计算弱分类器权重α:
在这里插入图片描述
4)更新样本的权重:
在这里插入图片描述
5)这样经过t轮的学习后,就会得到t个弱学习算法、权重、弱分类器的输出以及最终的AdaBoost算法的输出:
在这里插入图片描述
6)集成策略:

简单平均法或者加权平均法或者投票法均可

Bagging、Boosting二者之间的区别

样本选择上:

  • Bagging:训练集是在原始集中有放回选取的,从原始集中选出的各轮训练集之间是独立的。
  • Boosting:每一轮的训练集不变,只是训练集中每个样例在分类器中的权重发生变化。而权值是根据上一轮的分类结果进行调整。

样例权重:

  • Bagging:使用均匀取样,每个样例的权重相等。
  • Boosting:根据错误率不断调整样例的权值,错误率越大则权重越大。

预测函数:

  • Bagging:所有预测函数的权重相等。
  • Boosting:每个弱分类器都有相应的权重,对于分类误差小的分类器会有更大的权重。

并行计算:

  • Bagging:各个预测函数可以并行生成。
  • Boosting:各个预测函数只能顺序生成,因为后一个模型参数需要前一轮模型的结果。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值