机器学习--分类算法--决策树算法理论

目录

一 信息量

1 信息量含义

2 信息量的度量

1)熵

2)基尼系数

3)错误率

二 算法原理

1 决策树构造关键是选择特征属性以及分裂特征属性(树结构)

2 决策树构建过程是一种递归过程,所以必须给定停止条件,否则过程不会停止

三 算法评价标准

1 方式一 分类算法常用的混淆矩阵

2 方式二 叶子节点的不纯度总和(决策树损失函数)

四 回归树与分类树的区别

1 预测角度

2 评价角度

五 决策树优化策略

1 随机森林

2 剪枝优化

1)前置剪枝/预先剪枝(优化效果差)

2)后置剪枝(效率低)


一 信息量

1 信息量含义

是指一个事件所蕴含的信息量大小

注意:

  • 一个事件发生的概率越大,所蕴含的信息量越小
  • 一个事件发生的概率越小,所蕴含的信息量越大
  • 对于必然事件和不可能事件而言,信息量为0

2 信息量的度量

1)熵

第一点:熵的相关公式

  • X的熵

H(X)=-\sum_{x} p_{x}log_{2}p_{x}

  • (X,Y)的联合熵

H(X,Y)=-\sum_{x,y} p_{xy}log_{2}p_{xy}

  • (Y|X)的条件熵

H(Y|X)=\sum_{x} p_{x}H(Y|X=x)=H(X,Y)-H(X)

  • 熵的增益

Gain = \Delta =H(D) - H(D|A)

  • 熵的增益率

Gain-ratio = \frac{\Delta }{H(A)} = \frac{H(D) - H(D|A) }{H(A)}

第二点:熵的性质

  • 熵越大,信息越不纯(信息量越大);熵越小,信息越纯(信息量越小)
  • 熵增益/熵增益率越大,信息纯度损失越大

2)基尼系数

第一点:基尼系数的相关公式

  • 基尼系数

Gini(X) = 1 - \sum_{x} (p_{x} )^{2}

  • 联合基尼系数

Gini(X,Y) = 1 - \sum_{x,y}(p_{xy})^{2}

  • 条件基尼系数

Gini(Y|X) = \sum_{x}p_{x}Gini(Y|X=x)

  • 基尼增益

Gain = \Delta = Gini(D) - Gini(D|A)

  • 基尼增益率

Gain-ratio = \frac{\Delta }{Gini(A)}

第二点:基尼系数的性质

  • 基尼系数越大,信息越不纯(信息量越大);基尼系数越小,信息越纯(信息量越小)
  • 基尼增益/基尼增益率越大,信息纯度损失越大

3)错误率

Error = 1 - max\left \{ p_{x}\right \}_{x=1}^{k}

二 算法原理

1 决策树构造关键是选择特征属性以及分裂特征属性,以确定树结构

  • 选择特征属性,采用信息量度量公式(增益度或者增益率)
  • 分裂特征属性,采用信息量度量公式(增益度或者增益率)

2 决策树构建过程是一种递归过程,所以必须给定停止条件,否则过程不会停止

  • 子结点只有一种类型的样本的时候,停止分裂该子结点(常会使树节点过多,极易过拟合,一般不采用)
  • 子结点的样本个数小于阈值的时候,停止分裂该子结点
  • 树的最大深度等等

注意:

  • 决策树算法是一种贪心算法,即仅考虑当前数据特征下最好的分割方式,无法进行回溯操作
  • 决策树算法常用ID3、C4.5 、CART

       ID3:内部使用熵增益作为纯度损失度量方式,但是会产生多叉树,依赖特征值较多的特征作为最优特征

       C4.5:内部使用熵增益率作为纯度损失度量方式,但是会产生多叉树,多次对数据集进行扫描和排序,效率低

       CART:内部使用基尼增益率作为纯度损失度量方式或者选择MSE最大,产生二叉树,可以处理分类或者回归问题

  • 决策树中内部节点表示特征属性,叶子节点表示一种类别

三 算法评价标准

1 方式一 分类算法常用的混淆矩阵

准确率 精确率 召回率 F1值 ROC曲线的AUC面积等等

2 方式二 叶子节点的不纯度总和(决策树损失函数)

loss = \sum_{t}^{leaf}\frac{|D_{t}|}{|D|}H(t)

注意:数值越小,不纯度越小(损失越小),分类效果越好

四 回归树与分类树的区别

注意:回归树选择特征属性以及分裂特征属性需要将连续数值离散化

1 预测角度

  • 回归树一般采用叶子节点内样本的均值作为预测值(平均值法)
  • 分类树一般采用叶子节点内多数样本的类别作为预测值(多数表决法)

2 评价角度

  • 回归树的评价标准一般采用R^2、MSE、RMSE、MAE
  • 分类树的评价标准一般采用准确率、精确率、召回率、F1值、ROC曲线的AUC面积

五 决策树优化策略

1 随机森林

具体算法实现,关注后期博客--集成学习理论

2 剪枝优化

1)前置剪枝/预先剪枝(优化效果差)

构建决策树的过程中,提前停止构建,例设定叶子节点样本个数阈值、树的最大深度等等

2)后置剪枝(效率低)

第一种:使用单一叶子节点替代整棵子树

  • 第一步:给定决策树T_{0},计算该决策树所有非叶子节点的剪枝系数\alpha
  • 第二步:选择最小剪枝系数,将其子节点删除,存在多个最小剪枝系数,选择包含样本最多的节点,将其子节点删除,得到决策树T_{1}
  • 第三步:重复上述步骤,直到剪枝决策树仅剩一个节点,得到T_{0},T_{1},...,T_{k}
  • 第四步:使用验证集,得到最优子树T

注意:如何计算剪枝系数(对于内部节点而言,仅仅计算该子树)

  • 剪枝之前:

 loss_{before}(R) = loss(R) + \alpha*leaf

  • 剪枝之后:

loss_{after}(r) = loss(r) + \alpha                                         

  • 我们希望剪枝前后的损失相等,从而:

 loss(R) + \alpha * leaf = loss(r) + \alpha \rightarrow \alpha = \frac{loss(r)-loss(R)}{leaf - 1}

第二点:将一棵子树完全替代另一棵子树(不推荐使用)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值