信息熵 Information Entropy
什么是信息的不确定性?
就是信息熵
在信息论与概率统计中,熵(entropy)是表示随机变量不确定性的度量,设 X 是一个取有限个值的离散随机变量,其概率分布为:
$$P(X=x_{i}) = p_{i}, i = 1, 2, ..., n$$.
则随机变量 X 的熵定义为:
$$H(X) = - \sum_{i=1}^{n}p_{i}logp_{i}$$
熵越大,则随机变量的不确定性越大。其中 $0 \leq H(P) \leq logn$.
$$H(X) <= H_{max}(X) = - \sum_{i=1}^{n} \frac{1}{n}log \frac{1}{n} = - log \frac{1}{n} = logn$$
信息增益
表示得知特征 X 的信息而使得类 Y 的信息的不确定性减少的程度。
特征 A 对训练集 D 的信息增益 g(D, A),定义为集合 D 的经验熵 H(D) 与特征 A 给定条件下 D 的经验条件熵 H(D|A) 之差,即:
$$g(D, A) = H(D) - H(D|A)$$
信息增益算法:
输入:训练数据集 D 和特征 A
输出:特征 A对训练数据集 D 的信息增益 g(D, A)
计算数据集 D 的经验熵 H(D):
$$H(D) = - \sum_{k=1}^{K} \frac{|C_{k}|}{|D|}log\frac{|C_{k}|}{|D|} = -\sum_{k=1}^{K}p_{k}logp_{k}$$
计算特征 A 对数据集 D 的经验条件熵 H(D|A)
$$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\frac{|D_{ik}|}{|D_{i}|} = - \sum_{i=1}^{n}w_{k}\sum_{k=1}^{K}p_{k}logp_{k}$$
计算信息增益
$$g(D, A) = H(D) - H(D|A)$$
信息增益比
==如果以信息增益为划分依据,存在偏向选择取值较多的特征,信息增益比是对这一问题进行矫正。==
定义: 特征 A 对训练数据集 D 的信息增益比 $g_{R}(D, A)$ 定义为其信息增益 $g(D, A)$ 与训练数据集 D 的经验熵 $H(D)$ 之比:
$$g_{R}(D, A) = \frac{g(D, A)}{H_{A}(D)}$$
- 熵
- 交叉熵
- KL 散度
总结
- 决策树的核心思想:以树结构为基础,每个节点对某特征进行判断,进入分支,知道到达叶节点。
- 决策树构造的核心思想:让信息熵快速下降,从而达到最少的判断次数获得标签。
- 判断信息熵下降速度的方法:信息增益。
- 构建决策树算法:ID3(信息增益)、C4.5(信息增益比)。
- 信息增益会导致节点偏向选取取值较多的特征的问题。
- c4.5为什么使用信息增益比来选择特征? - 夕小瑶的回答 - 知乎 https://www.zhihu.com/question/22928442/answer/440836807
常用的决策树算法:
ID3 : 最大信息增益 $g(D, A) = H(D) - H(D|A)$
C4.5 : 最大信息增益比 $g_{R}(D,A) = H(D) - H(D|A)$
CART : 最大基尼系数 $Gini(D) = 1 - \sum_{k=1}^{K}P_{k}^2$
CART 算法
- Classification And Regression Tree 分类与回归树,既可以用于分类,也可以用于回归。
- 1984 年提出。
- 三步:特征选择、树的生成、树的剪枝。
CART分类树生成
基尼系数(Gini index)
- 基尼指数 Gini(D) 表示集合 D 的不确定性(纯度),Gini(D,A)表示经 A=a分割后集合 D的不确定性(纯度)。
- 基尼指数数值越大,样本不确定性越大。
- 基尼指数数值越小,样本纯度越高。
$$Gini(p) = \sum_{k=1}^{K}p_{k}(1-p_{k}) = 1 - \sum_{k=1}^{K}p_{k}^2$$
- Gini(D) 反应了从数据集 D 中随机抽取两个样本,其标记类别不一致的概率。特别地,如果是二分类问题,则 Gini(p) = 2p(1-p)
- 集合 D 在特征 A 的条件下分为 $D_{1}$ 和 $D_{2}$ 两部分,则集合 D 的基尼指数 Gini(D, A) 表示经过 A = a 划分后集合 D 的不确定性。定义为:
$$Gini(D, A) = \frac{|D_{1}|}{|D|}Gini(D_{1}) + \frac{|D_{2}|}{|D|}Gini(D_{2})$$
- 基尼指数、熵之半、分类误差率之间的关系
CART 回归树生成
回归树与分类树的不同:
- 样本输出:分类树输出离散值、回归树输出连续值。
- 连续值处理方法:分类树-->基尼系数;回归树--> 误差平方最小化。
- 预测方式:分类树-->采用叶子节点里概率最大的类别作为当前节点的预测类别;回归树-->采用叶子节点所包含训练集元素的均值。
CART 决策树的生成就是递归创建二叉树的过程。
回归树的分枝标准:标准方差(Standard Deviation)。回归树使用某一特征将原集合分为多个子集,用标准方差衡量子集中的元素是否相近,越小表示越相近。首先计算根节点的标准方差:
注意:除了使用均值作为预测值,也可以使用其他方法,例如线性回归。