• 信息熵、条件熵、信息增益与基尼指数


    本文主要是对信息熵、信息增益、信息增益比和 Gini 指数的定义进行汇总,使之更加明确记忆。

    1 信息熵和条件熵

    1.1 信息熵

    熵(entropy)是表示随机变量不确定的度量。

    (X) 是一个取有限个值的离散随机变量,其概率分布为

    [P(X=x_i) = p_i, quad i=1, 2, ..., n ]

    则随机变量 (X) 的熵定义为

    [H(x) = -sum_{i=1}^{n}p_i log p_i ]

    对数以 2 或 (e) 为底。

    由定义可知,熵只依赖于 (X) 的分布,而与 (X) 的取值无关,所以也可将 (X) 的熵记作 (H(p)),即

    [H(p) = -sum_{i=1}^{n}p_i log p_i ]

    熵越大,随机变量的不确定性就越大。从定义可以验证:

    [0 le H(p) le log n ]

    证:前一个不等式 (0 le H(p)),obviously.
    对于后一个不等式,按照定义,当 (X) 的取值概率相等且 (p_i=frac{1}{n}) 时,不确定性最大。即

    [-sum_{i=1}^{n}p_i log p_i le -sum_{i=1}^{n}frac{1}{n} log{frac{1}{n}} = logn ]

    令一种方法,根据琴生不等式

    [egin{aligned} H(x) &= -sum_{x}p(x)log p(x) \ & = E[log frac{1}{p(x)}] \ & le log(E[frac{1}{p(x)}]) \ & le log|X| = log n end{aligned} ]

    1.2 条件熵

    设有随机变量 ((X, Y)),其联合概率分布为

    [P(X=x_i, Y=y_j) = p_{ij}, quad i=1, 2, ..., n ]

    条件熵(conditional entropy) (H(Y|X)) 表示在已知随机变量 (X) 的条件下,随机变量 (Y) 的不确定性。随机变量 (X) 给定的条件下随机变量 (Y) 的条件熵 (H(Y|X)) 定义为 (X) 给定条件下 (Y) 的条件概率分布的熵对 (X) 的数学期望

    [H(Y|X) = E_X[H(Y|X)] = sum_{i=1}^{n}p_i H(Y|X=x_i) ]

    这里 (p_i = P(X=x_i), quad i=1, 2, ..., n)

    当熵和条件熵中的概率由数据估计(特别是极大似然估计)得到时,所对应的熵与条件熵分别为经验熵(empirical entropy)和经验条件熵(empirical conditional entropy)。

    2 信息增益与信息增益比

    2.1 信息增益

    信息增益表示得知特征 (X) 的信息而使得类 (Y) 的信息不确定性减少的程度。

    特征 (A) 对训练数据集 (D) 的信息增益 (gain(D, A)) 定义为集合 (D) 的经验熵 (H(D)) 与特征 (A) 给定条件下 (D) 的经验条件熵 (H(D|A)) 之差,即

    [gain(D, A) = H(D) - H(D|A) ]

    设训练数据集为 (D)(|D|) 表示某样本容量,即样本个数。设有 (K) 个类 (C_k, quad k=1, 2, ..., K), (|C_k|) 为属于类 (C_k) 的样本个数,(sum_{k=1}^{K}|C_k| = |D|)。设特征 (A)(n) 个不同的取值 ({a_1, a_2, ..., a_n}),根据特征 (A) 的取值将 (D) 划分为 (n) 个子集 (D_1, D_2, ..., D_n)(|D_i|)(D_i) 的样本个数,即 (sum_{i=1}^{n}|D_i| = |D|)。记子集 (D_i) 中属于类 (C_k) 的样本集合为 (D_{ik}),即 (D_{ik} = D_i cap C_k)(|D_{ik}|)(D_{ik}) 的样本个数。于是信息增益的算法如下

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

    (1)计算数据集 (D) 的经验熵 (H(D))

    [H(D) = -sum_{k=1}^{K}frac{|C_k|}{|D|}log_2 frac{|C_k|}{D} ]

    (2)计算特征 (A) 对数据集 (D) 的经验条件熵 (H(D|A))

    [egin{aligned} H(D|A) &= sum_{i=1}^{n}p_i H(D|A=a_i) \ &= 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|} end{aligned} ]

    (3)计算信息增益

    [gain(D, A) = H(D) - H(D|A) ]

    2.2 信息增益比

    以信息增益作为划分训练数据集特征的准则,存在偏向于选择取值较多的特征的问题。使用信息增益比(information gain ratio)可以对这一问题进行校正。

    特征 (A) 对训练数据集 (D) 的信息增益比 (gain_R(D, A)) 定义为其信息增益 (gain(D, A)) 与训练数据集 (D) 关于特征 (A) 的值的熵 (H_A(D)) 之比,即

    [gain_R(D, A) = frac{gain(D, A)}{H_A(D)} ]

    其中,(H_A(D) = -sum_{i=1}^{n}frac{|D_i|}{|D|}log_2 frac{|D_i|}{|D|})(n) 为特征 (A) 的取值的个数。

    3 基尼指数

    分类问题中,假设有 (K) 个类,样本点属于第 (k) 类的概率为 (p_k),则概率分布的基尼指数定义为

    [Gini(p) = sum_{k=1}^{K}p_k(1-p_k) = 1 - sum_{k=1}^{K}p_k^2 ]

    对于给定的样本集合 (D),其基尼指数为

    [Gini(D) = 1 - sum_{k=1}^{K}(frac{|C_k|}{|D|})^2 ]

    这里,(C_k)(D) 中属于第 (k) 类的样本子集,(K) 是类的个数。如果样本集合 (D) 根据特征 (A) 是否取某一可能值 (a) 被分割为 (D_1)(D_2) 两部分,即

    [D_1 = left{(x, y) in D | A(x) = a ight}, quad D_2 = D - D_1 ]

    则在特征 (A) 的条件下,集合 (D) 的基尼指数定义为

    [Gini(D, A) = frac{D_1}{D}Gini(D_1) + frac{D_2}{D}Gini(D_2) ]

    基尼指数 (Gini(D)) 表示集合 (D) 的不确定性,基尼指数 (Gini(D, A)) 表示经 (A = a) 分割后集合 (D) 的不确定性。基尼指数值越大,样本集合的不确定性也就越大,这一点与熵相似。

    参考

    《统计学习方法》 李航

  • 相关阅读:
    linux下安装rpc.rstatd
    myeclipse下编译jmeter2.4
    2010我最喜爱的耳机评选结果q
    HTTP/1.1 Range和ContentRange
    top命令的load average是什么意思?
    用户 'sa' 登录失败。该用户与可信 SQL Server 连接无关联。
    自定义ListBox,实现单多选切换(复选框)
    自定义水印输入框和密码框
    获取Windows Phone设备信息
    启动器和选择器学习(7)选择器之联系人信息保存
  • 原文地址:https://www.cnblogs.com/shaocf/p/14411844.html
Copyright © 2020-2023  润新知