基于ID3、C4.5算法的决策树相关知识

基础概念

离散型变量X的概率分布是P(X)。它的 H ( X )    o r    H ( P ) {H(X) \; or \; H(P)} H(X)orH(P)越大,代表越均匀、越混乱、越不确定。熵的公式如下:
H ( P ) = − ∑ x ∈ X P ( x ) log ⁡ P ( x ) {H(P)} = {- \sum_{x \in X}P(x) \log P(x)} H(P)=xXP(x)logP(x)
定义 0 log ⁡ 0 = 0 0\log0=0 0log0=0,熵是非负的。熵只与 X X X的分布有关,与 X X X取值无关。当X服从均匀分布时,熵最大。

假设随机变量X只取两个值,如0和1。此时X的分布为:
H ( p ) = − p l o g 2 p − ( 1 − p ) l o g 2 ( 1 − p ) H(p)=-plog_2p-(1-p)log2(1-p) H(p)=plog2p(1p)log2(1p)
此时,H§随着概率p的变换曲线如下图所示:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CziRdvaT-1589329455823)(F:\CSDN\树模型\决策树\assets\1589163449947.png)]

当p=0或者1时,随机变量完全是个确定值。所以熵达到了最小值,即 H ( p ) = 0 H(p) = 0 H(p)=0。但是当 p 0 = p 1 = 0.5 p_0=p_1=0.5 p0=p1=0.5时,不确定性最大,熵达到了最大值1。

条件熵

条件熵H(Y|X)类似于条件概率,它度量了我们的Y在知道X以后剩下的不确定性,即给定X的条件下,Y的条件概率分布的熵对X的数学期望。表达式如下:
H ( Y ∣ X ) = ∑ j = 1 n p ( x j ) H ( Y ∣ x j ) = − ∑ i = 1 n p ( x i , y i ) l o g p ( y i ∣ x i ) H(Y|X) = \sum\limits_{j=1}^{n}p(x_j)H(Y|x_j) = -\sum\limits_{i=1}^{n}p(x_i,y_i)logp(y_i|x_i) H(YX)=j=1np(xj)H(Yxj)=i=1np(xi,yi)logp(yixi)
当熵和条件熵中的概率p由数据估计(常见的是用极大似然估计)得到的时,对应的熵和条件熵成为经验熵和经验条件熵。

信息增益

特征A对数据集D的信息增益g(D|A)定义为:集合D的经验熵H(D)与特征A给定的条件下 D D D的经验条件熵 H ( D ∣ A ) H(D|A) H(DA)之差:
g ( D , A ) = H ( D ) − H ( D ∣ A ) g(D,A)=H(D)-H(D|A) g(D,A)=H(D)H(DA)
一般的熵与条件熵的差也称为互信息。表示给定特征A使得数据集D不确定性减少的程度。显然不同的特征有不同的信息增益,使得信息增益最大的特征具有更强的分类能力。

信息增益算法:

输入:训练数据集 D D D和特征 A A A

输出:特征 A A A对训练数据集 D D D的信息增益 g ( D , A ) g(D,A) g(D,A)

  1. 数据集 D D D的经验熵 H ( D ) = − ∑ k = 1 K ∣ C k ∣ ∣ D ∣ log ⁡ 2 ∣ C k ∣ ∣ D ∣ H(D)=-\sum_{k=1}^K\frac{|C_k|}{|D|}\log_2\frac{|C_k|}{|D|} H(D)=k=1KDCklog2DCk
  2. 特征 A A A对数据集 D D D的经验条件熵 H ( D ∣ A ) = ∑ i = 1 n ∣ D i ∣ ∣ D ∣ H ( D i ) = − ∑ i = 1 n ∣ D i ∣ ∣ D ∣ ∑ k = 1 K ∣ D i k ∣ ∣ D i ∣ log ⁡ 2 ∣ D i k ∣ ∣ D i ∣ H(D|A)=\sum_{i=1}^n\frac{|D_i|}{|D|}H(D_i)=-\sum_{i=1}^n\frac{|D_i|}{|D|}\sum_{k=1}^K\frac{|D_{ik}|}{|D_i|}\log_2\frac{|D_{ik}|}{|D_i|} H(DA)=i=1nDDiH(Di)=i=1nDDik=1KDiDiklog2DiDik
  3. 信息增益 g ( D , A ) = H ( D ) − H ( D ∣ A ) g(D,A)=H(D)-H(D|A) g(D,A)=H(D)H(DA)

其中,|D|表示样本个数。假设有K个类,每个类用 C k C_k Ck表示,| C k C_k Ck|表示属于第k个类别的样本个数。特征A有n个不同的取值{ α 1 , α 2 , . . . , α n \alpha_1, \alpha_2,..., \alpha_n α1,α2,...,αn},那么用 D i D_i Di表示特征A取第i个值的样本集合, D i k D_{ik} Dik用于表示 D

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值