统计学习方法 5 - 决策树

  • 决策树:判别模型

  • 问题描述:假设要对一批样本分K类。其中这些样本又有A个特征。如何生成一个树形结构,按照特征一层一层往下分。
    统计学习方法 5 - 决策树_第1张图片

  • 决策树生成思路:有A个特征可供分类,但是先选哪个特征作为分类标准呢?决策树为了解决这个问题,首先会判断该特征的对样本的区分能力,比如在男宿舍这样一个条件下判断谁有ipad,如果用性别作为一个特征来判断分类,收益很小;如果我们用生活费多少来判断,那么对这个分类就有很大的帮助。决策树这里用信息增益来判断特征Ai对分类的影响大小,先选择对分类区分度大的特征,在用其他特征依次往下分。

  • 信息增益:
    熵:混乱程度的度量
    一个随机变量的熵可以由其各种取值的概率定义为:
    H ( X ) = − ∑ i = 1 n p i l o g p i H(X) = -\sum_{i=1}^{n}p_{i}logp_{i} H(X)=i=1npilogpi
    信息增益:定义特征 A 对训练数据集 D 的信息增益 g (D,A),定义为 集合 D 的经验熵 H(D) 与特征 A 给定条件下 D 的经验条件嫡 H(D∣A) 之差,即
    g (D,A) = H(D) - H(D∣A)
    根据特征 A 的取值将 D 划分为n个子集 D 1 , D 2 , . . . , D n D_{1},D_{2},...,D_{n} D1,D2,...,Dn
    在这里插入图片描述

  • 信息增益比:
    在这里插入图片描述
    分母表示以特征A代替类别在数据集上计算熵。

决策树生成算法:

  • ID3算法:以信息增益为特征判断标准
  • C4.5:以信息增益比为特征判断标准
    决策树剪枝算法:
  • 剪枝原因:分类分的太细,对训练数据拟合很好,但是对未知数据的分类效果不好,也就是过拟合。考虑了树的复杂度因素。
  • 先剪枝(也就是在生成过程中剪枝):
    设定决策树高度,到高度了停止继续分
    设定叶节点包含的最小样本数
    计算每增一个节点对系统带来的性能,设定阈值予以停止
  • 后剪枝(先生成完整的树再剪枝):
    计算剪枝前后的损失函数,比较观察是否剪枝。
    还有多种剪枝算法。

统计学习方法 5 - 决策树_第2张图片
参考:
https://blog.csdn.net/Smile_mingm/article/details/108386197?spm=1001.2014.3001.5501

你可能感兴趣的:(自学,算法)