哈工大 机器学习 复习总结

决策树

例子:税务欺诈检测问题

哈工大 机器学习 复习总结_第1张图片

决策树可以表示输入属性的任何函数

注意决策树的泛化能力

同一个训练数据集,可以有多棵决策树与其一致

下面介绍如何构造最优的决策树:Top-Down的决策树归纳算法

  • 每一个内结点可以看成用来分离数据集的属性,我们需要找到分离效果最好的属性并且作为决策属性赋值给当前结点
  • 为每一个取值创建一个儿子结点,把相应的训练样本分到叶结点
  • 如果训练样本被很好的分类,则停止,否则在新的叶结点上重复上述过程

(这里是我自己的理解,大家想看具体的可以看老师的ppt或者参考资料,如果有问题也欢迎指出)

决策树的归纳其实是基于贪心策略,基于一个可以最优化某项准则的属性来切分数据集,后面会看到这个准则是什么

问题来了,如何确定最好的切分?

Idea:好的属性切分是将示例集合分成若干子集,最理想情况是将“正例”和“反例”完全分开到不同的集合里。

哈工大 机器学习 复习总结_第2张图片

作为贪心搜索的思想,我们更倾向节点上的数据具有同质(homogeneous)类别分布

上图中左图就是具有同质性,低混杂度的切分,右图则相反。


为了确定最好的切分方式,我们需要对结点混杂度进行测量,引出熵(Entropy)的概念:

  • 对于一个随机变量X的熵H(X)
  • H(X)是对从X随机采样值在最短编码情况下的每个值平均(期望)长度(以2为底就是0、1编码)
  • 公式为:{\color{DarkBlue} H(X)=-\sum _{i=1}^{N}P(x=i)\log _{2}P(x=i)}
  • 在信息论中,最短编码情况下,对消息X=i分配-\log _{2}P(x=i)位,所以其编码一个随机变量X的期望位数是{\color{DarkBlue} H(X)=-\sum _{i=1}^{N}P(x=i)\log _{2}P(x=i)}

关于信息论中的具体解释,大家请自行查阅资料

有了“熵”的定义之后,如何衡量属性的“好”与“坏”?下面引出条件熵:

  • X在给定Y=v特定条件熵H(X|Y=v):        H(X|y=j)=-\sum _{i=1}^{N}P(x=i|y=j)\log _{2}P(x=i|y=j)
  • X在给定Y条件熵H(X|Y):      H(X|Y)=\sum _{j\in Val(y)}P(y=j)H(X|y=j)[本质就是对特定条件熵的加权平均]
  • X和Y的互信息:I(X;Y)=H(X)-H(X|Y)=H(Y)-H(Y|X)=H(X)+H(Y)-H(X,Y)

上述关于熵的几个公式直接记忆会比较复杂,自己动手动脑搞懂它们之间的关系记起来会比较容易

定义样本熵,也就是样本数据集S的熵H(S),H(S)\equiv -p_{+}\log _{2}p_{+}-p_{-}\log _{2}p_{-}P_{+}是S中的正例比例,P_{-}是S中的反例比例

熵H(S)就可以用来测量表示S的混杂度,H(S)的函数图如下:

哈工大 机器学习 复习总结_第3张图片

定义信息增益GAIN_{split}=Entropy(p)-\left ( \sum _{i=1}^{k} \frac{n_{i}}{n}Entropy(i)\right )

  • 父结点P被切分成k部分;n_{i}是每一切分的样本数,即目标类变量与属性A变量在S(样本集)上的互信息
  • 信息增益测量由于切分带来的熵减少量,选择具有最大减少量的切分(最大增益)
  • 缺点:可能会倾向于选择具有切分分支多的属性,每份分得很少很纯的样本

决策树归纳构造的停止准则:

  • 当一个结点上所有样本属于同一个类别,停止扩展
  • 当一个结点上所有样本具有相似的属性值,停止扩展

基于决策树的分类有很多优点:

  • 构建过程计算资源开销小
  • 分类未知样本速度极快
  • 对于小规模的树比较容易解释
  • 在许多小的简单数据集合上性能与其它方法相近

注意Occam's剃刀:选择适合训练集合数据的最简单假设

我的理解是在可接受的范围内,越小的决策树对于测试数据的泛化能力越好,可避免过拟合问题。


对于模型的评估,定义MDL(最小描述长度)

Cost(Model,Data)=Cost(Data|Model)+Cost(Model)

  • cost是编码所需的位数,寻找cost最小的模型
  • Cost(Data|Model)编码误分类的errors编码误分类的errors
  • Cost(Model)使用结点编码(子结点数目)加分离条件编码

为了避免过拟合问题,我们有两种策略:

第一种为Pre-Pruning,即在决策树成为完全树之前就停止算法,除了之前的两条停止准则,还可有其他的条件,比如当扩展当前结点时,信息增益不再增加,就可以停止扩展。

第二种为Post-Pruning,即等决策树成长为完全树之后再以自下而上的方式进行剪枝,在Post-Pruning中可以使用MDL


处理属性值缺失的问题

缺失值以三种不同的方式影响决策树的构建:

  1. 影响如何计算混杂度测量值
  2. 影响如何将缺少值的实例分发到子节点
  3. 影响具有缺失值的测试实例的分类方式

哈工大 机器学习 复习总结_第4张图片

上图是在Refund有一个缺失值的情况下对于混杂度量的计算,注意对于根据Refund切分时的计算,只考虑有数据的情况,对于缺失的情况直接忽略,不予计算。信息增益也要乘以0.9,表示不计算缺失的值。

哈工大 机器学习 复习总结_第5张图片

上图是分发实例的过程,将缺失值按照权重分别分发给不同的分支。

哈工大 机器学习 复习总结_第6张图片

上图是对于新实例有缺失值的情况下如何分类,可以看到也要利用概率来看。

 

关于曲线拟合的例子,实验已经做过,不再赘述,只是需要注意公式的矩阵化和向量化,掌握矩阵求导,能自己推导出实验中用到的公式,求出W的解析解,以及惩罚项的使用和意义。

你可能感兴趣的:(机器学习)