0
点赞
收藏
分享

微信扫一扫

模式识别 学习笔记:第六章 其他分类方法 (持续更新中。。。)


本系列博客主要是在学习《模式识别(张学工著 第三版)》时的一些笔记。 ​

1 简介

近邻法直接根据训练样本对新样本分类;
决策树和随机森林可以应用于非数量特征,并把特征选择与分布决策结合起来;
回归则是把分类问题转化为对概率的回归估计问题;
boosting通过将多个分类器进行融合从而得到更加有效的分类决策方法。

2 近邻法

2-1 最近邻法

对于一个新样本,把它逐一与已知样本比较,找出距离新样本最近的已知样本,以该样本的类别作为新样本的类别。

δ(x,x′)=minj=1,⋯,Nδ(x,xj)

错误率:

P∗≤P≤P∗(2−cc−1P∗)

其中 P∗ 为贝叶斯错误率,即理论上最优的错误率,c

最近邻法的渐进错误率最坏不会超出两倍的贝叶斯错误率,而最好则有可能接近或达到贝叶斯错误率。

缺点:样本较少时,样本的分布可能带有很大的偶然性,不一定能很好地代表数据内在的分布情况,会影响最近邻算法的性能,尤其是当数据内在规律较复杂、类别间存在交叠等情况下。

2-2 K近邻法

将最近邻法拓展到K个样本,引入投票机制。

优点:近邻法(包括最近邻和 K 近邻)并不需要利用已知数据事先训练出一个判别函数,而是在面对新样本时直接根据已知样本进行决策。
缺点:要求始终存储所有已知样本,并将每一个新样本与所有已知样本进行排序和比较,其计算和存储成本都很大。

2-3 近邻法的快速算法

两个规则

  1. 列表内容
  2. XX
    如果存在
    D(x,Mp)>B+rp
    则 不可能是 x 的最近邻。其中 B 是在算法执行过程中,对于已涉及的那些样本集 中的样本到 x 的最近距离(初始 B 可置为 )。
  3. 模式识别 学习笔记:第六章 其他分类方法 (持续更新中。。。)_模式识别


  4. 模式识别 学习笔记:第六章 其他分类方法 (持续更新中。。。)_博客_02

2-4 剪辑近邻法

2-4-1 问题提出

很多情况下,两类数据的分布可能会有一定的重叠,如下图

模式识别 学习笔记:第六章 其他分类方法 (持续更新中。。。)_数据_03

这样的话,不仅在分类的时候会出现错误,而且这个区域内两类已知样本都存在,可能会使得分类面的形状变得非常复杂。

2-4-2 提出方法

因此,要设法把图中的阴影部分的已知样本去掉,决策时就不会受到那些错分样本的影响,即剪辑近邻法。

方法: 将已知样本划分为考试集 χNT 和训练集 χNR 两部分,用训练集 χNR 中的样本对考试集 χNT 中的样本进行近邻法分类,从 χNT 中除去被错误分类的样本,用剩余的样本构成剪辑样本集 χNTE ,用 χNTE

2-4-3 错误率

2-4-4 多重剪辑法 MULTIEDIT

为了消除考试集和训练集划分中的偶然性造成的影响,当样本数较多时,可以使用多重剪辑法 MULTIEDIT:

  1. 划分 将样本随机划分为 s 个子集, χ1,⋯,χss≥3。
  2. 分类 用 χ(i+1)mod(s) 对 χi 中的样本分类,i=1,⋯,s。如 s=3 时, 则用 χ2 对 χ1 分类, χ3 对 χ2 分类, 用 χ1 对 χ3
  3. 剪辑 从各个子集中去掉在 2 中被分错的样本。
  4. 混合 把剩下的样本合在一起,形成新的样本集 χnew。
  5. 迭代 用新的样本集替代原样本集,转 1 。如果在最近的 m 次迭代中都没有样本被剪掉,则迭代终止,用最后的 χnew

2-5 压缩近邻法

2-5-1 思路:

设法找出各类样本中最有利于与其他类别区分的代表性样本,就可以把很多训练样本都去掉,简化决策过程中的计算

2-5-2 压缩近邻法(CONDENSE)

将样本集分为存储集 χS 和备选集 χG 两个活动的子集,算法开始时, χS 中只有一个样本,其余样本都在 χG 中。考察 χG 中的每一个样本 x ,若用 χS 中的样本能够对它正确分类,则该样本保留在 χG ,否则移到 χS 中,以此类推,直到没有样本再需要搬移为止。最后用 χS

2-5-3 特点:

与剪辑近邻法配合使用,效果更好。

3 决策树和随机森林

3-1 决策树

3-1-1 非数值特征

  • 名义特征(nominal features):物体的颜色,形状,人的性别,民族等。
  • 序数特征(ordinal features):序号,分级等,它们之间可能有顺序,但不能看作是欧式空间中的数值。
  • 区间特征(interval features):本身是数值特征,但在某些具体问题中,与研究目标间的关系呈现明显的非线性。如疾病在不同年龄段有很大的差异。

将这些非数值特征数值化后,可能会损失数据中的信息,也可能引入人为的信息。

3-2-2 ID3 算法

熵(信息不纯度):

 $ I = - (P_{1}log_{2}P_{1} + P_{2}log_{2}P_{2} + \cdots + P_{k}log_{2}P_{k}) = - \sum^{k}_{i=1}P_{k}log_{2}P_{k} $

信息增益:
如果把 N 个样本划分成 m 组,每组 Nm

ΔI(N)=I(N)−(P1I(N1)+P2I(N2)+⋯+PmI(Nm))

其中, Pm=Nm/N。

实例

模式识别 学习笔记:第六章 其他分类方法 (持续更新中。。。)_决策树_04

共14条记录,目标属性是,是否买电脑,共有两个情况,yes或者no。
参考属性有4种情况,分别是,age,income,student,credit_rating。
属性age有3种取值情况,分别是,youth,middle_aged,senior,
属性income有3种取值情况,分别是,high,medium,low,
属性student有2种取值情况,分别是,no,yes,
属性credit_rating有2种取值情况,分别是fair,excellent。

我们先求参考属性的信息熵:

类似得到 middle_aged 和 senior 的信息熵,分别是:0 和 0.971。

那么整个属性 age 的信息熵应该是它们的加权平均值:

模式识别 学习笔记:第六章 其他分类方法 (持续更新中。。。)_决策树_05

以此类似,求得其他三个参考属性的信息熵分别为 0.911, 0.789 和 0.892。

信息增益为:

模式识别 学习笔记:第六章 其他分类方法 (持续更新中。。。)_决策树_06


Gain(income)=0.029,

Gain(stduent)=0.151,

Gain(credit_rating)=0.048。

最大值为Gain(age),所以首先按照参考属性age,将数据分为3类,如下

类推之。。。

Gini不纯度(方差不纯度):

I(N)=∑m≠nP(ωm)P(ωn)=1−∑kj=1P2(ωj)

误差不存度:

I(N)=1−maxjP(ωj)

其中 P(ω1)

三者比较

3-2-3 C4. 5 算法

ID3 的改进:
1. 使用信息增益率(gain ratio)代替信息增益 ΔIR(N)=ΔI(N)I(N)
2. 增加了处理连续的数值特征的功能,具体:

若数值特征 x 在训练样本上工包含 n 个取值,把它们从小到大排列,用二分法选择阈值将这组数值划分,共有 n-1 中可能的划分方案;对每一种方案计算信息增益率,选择增益最大的方案,类之。

CART (Classification And Regression Tree)算法

其核心思想与 ID3 和 C4.5 相同,主要不同点在于,
1. CART 在每一个节点上都采用二分法(每个节点只能有两个子节点,最后构成的是二叉树);
2. 此外 CART 既可以用于分类问题,也可以用于构造回归树对连续变量进行回归

3-2 过学习与决策的剪枝

3-2-1 先剪枝

先剪枝 在决策树生长过程中决定某节点是否需要继续分支还是直接作为叶节点。
判断决策树停止的方法:

  1. 数据划分法 将数据划分为几部分,使用交叉验证法分别对每部分进行测试,直到分类错误达到最小时停止生长。
  2. 阈值法 预先设定一个阈值,实际中阈值不好设定。
  3. 信息增益的统计显著性分析 对已有节点获得的所有信息增益统计其分布,如果继续生长得到的信息增益与该分布相比不显著,则停止。

3-2-2 后剪枝###

后剪枝 决策树在得到充分生长后再对其进行剪枝。
常见剪枝规则:

  1. 减少分类错误修剪法 通过独立的剪枝集估计剪枝前后分类错误率的变化来确定是否合并分支。
  2. 最小代价与复杂性的折中 对合并分支后产生的错误率增加与复杂性减少之间进行折中考虑。
  3. 最小描述长度(minimal description length, MDL)准则,最简单的树就是最好的树。首先对决策树进行编码,再通过剪枝得到编码最短的决策树。

3-3 随机森林

3-3-1 引入
基于数据的模式识别方法都面临一个共同的问题,就是数据的随机性问题。方法的任意一次实现都是基于一个特定的数据集的,这个数据集只是所有可能的数据中的一次随机抽样。

决策树由于训练过程即构造决策树的过程是根据每个节点下局部的划分准则进行的,受样本随机性的影响可能更明显一些。这样就容易导致过学习。

3-3-2 随机森林
随机森林(random forests)就是建立很多决策树,组成一个决策树的森林,通过多棵树投票来进行决策。

步骤:

  1. 随机森林方法对样本数据进行自举重采样(有放回的地采样),得到多个样本集。
  2. 用每个重采样样本集作为训练样本构造一个决策树。在构造决策树的过程中,每次从所有候选特征中随机地抽取 m 个特征,作为当前节点下决策的备选特征,从这些特征中选择最好地划分训练样本的特征。
  3. 得到所需树木的决策树后,随机森林方法对这些树的输出进行投票,以得票最多的类作为随机森林的决策。

3-3-3 随机森林示意图

3-3-4 特点
随机森林方法既对训练样本进行了采样,又对特征进行了采样,充分保证了所构建的每棵树之间的独立性,使投票结果更无偏。

4 Logistic 回归

5 Boosting方法

5-1 引入

Boosting 方法 是一种融合多个分类器进行决策的方法。

与随机森林不同的是,Boosting 方法并不是简单地对多个分类器的输出进行投票决策,而是通过一个迭代过程对分类器的输入和输出进行加权处理。

5-2 AdaBoost

5-3 特点

  1. adaboost是一种有很高精度的分类器
  2. 可以使用各种方法构建子分类器,adaboost算法提供的是框架
  3. 当使用简单分类器时,计算出的结果是可以理解的。而且弱分类器构造极其简单
  4. 简单,不用做特征筛选
  5. 不用担心overfitting!


举报

相关推荐

0 条评论