机器学习之旅—决策树(2)

作者: zidea | 来源:发表于2019-11-13 06:40 被阅读0次
dt_cover.png

信息熵公式的推导

学过概率后,如果两个事件 x 和 y 是独立,这个应该不难理解P(x,y) = P(x) \cdot P(y)
首先我们已经知道了信息熵和概率关系是成反比,也就是说概率越大信息熵越小,这个应该也不难理解,如果一个一定会发生事,例如太阳从东方升起,这个事件给我们带来信息量非常小

dt_05.jpeg

我们知道\ln x函数模样如下图,\ln x 是一个增函数

lnx

如果对函数添加负号就变成减函数,而且在 0 - 1 区间函数值符号我们要求就是在 1 时函数值为 0 而接近 0 时为无穷大


-lnx

然后我们进步想象一下如果希望两个事件的信息量也是可以做加减
H(y|x) = H(x,y) - H(x)

而且 \ln 本质还可将乘法变成加法,这符合我们对熵表达

X 0 1
概率 1 - p p
信息量 -ln (1 - p) -ln p
期望

大家都知道信息熵很大事件并不是大概率事件,所有我们根据期望公式对 logP 求期望就得
信息熵的概念
E(\log P) = -(1 - p) \cdot \ln(1 - p) - p \cdot \ln p
E(\log P) = - \sum_{i=1}^n P_i \log P_i
上面离散情况下求信息熵
H(X) \approx \int_0^{f(x)} \log f(x) dx

条件熵公式的推导

  • 我们知道x 和 y 的熵,也知道 x 的熵
  • 如果我们用 H(x,y) 减去 H(x) 的熵,那么就等价了 x 是确定性
  • 也就是在已知 x 的条件下计算 y 的熵,这就是条件熵的概念
    H(X,Y) - H(X)

在 x 给定掉件 y 的信息熵,(x,y) 发生所包含的熵,减去 X 单独发生包含的熵:在 x 发生的前提下, y 发生带来的熵。
H(Y|X) = H(X,Y) - H(X)
下面我们来推导一下条件熵

= - \sum_{x,y} p(x,y) \log p(x,y) + \sum_{x} p(x) \log p(x)
公式中p(x)可以写出\sum_y p(x,y) 把所有的 y 加起来,进行积分去掉 y
= - \sum_{x,y} p(x,y) \log p(x,y) + \sum_{x} (\sum_y p(x,y)) \log p(x)
= - \sum_{x,y} p(x,y) \log p(x,y) + \sum_{x,y} p(x,y) \log p(x)

= - \sum_{x,y} p(x,y) \log p(x,y) + \sum_{x,y} p(x,y) p(x)

= - \sum_{x,y} p(x,y) \log \frac{p(x,y)}{p(x)}
那么我们利用学过概率就知道\frac{p(x,y)}{p(x)} = p(y|x)

= -\sum_{x,y} p(x,y) log p(y|x)

上面推导的公式结果-\sum_{x,y} p(x,y) log p(y|x) 要是能够变成-\sum_{x,y} p(y|x) log p(y|x) 形式我们看起来就会舒服多了。

- \sum_x \sum_y p(x,y) \log p(y|x)
我们将p(x,y) 替换为 � p(y|x) p(x)
- \sum_x \sum_y p(x)p(y|x) \log p(y|x)
- \sum_x p(x) \sum_y p(y|x) \log p(y|x)

\sum_x p(x) ( - \sum_y p(y|x) \log p(y|x))
- \sum_y p(y|x) \log p(y|x) 可以理解为 x 给定值时候 H(y) 因此我们就可以写成下面的公式
= \sum_x p(x) H(Y|X = x)

相关文章

网友评论

    本文标题:机器学习之旅—决策树(2)

    本文链接:https://www.haomeiwen.com/subject/ueicictx.html