2018/1/15
信息熵是指一个事件的不确定性,最早接触的时候也是在信息论里面。而从当时课上得内容出发,就是一个通信编码的过程。
但是现在来说,见到的更多的地方是机器学习的部分, 决策树部分,利用信息增益去分裂节点。
就比如去计算一段字符串的信息熵或什么的。
正常情况下,应该是去拿一个字节(8个比特)的内容去代表一个字符,翻译过来,如果是均匀分布,每个字符出现的几率应该是1/256。
但是如果这个系统里面只有一个字符,也就是说每次表达内容只能用这一个字符,那么信息熵就等于0了。
从这个角度来看,就是说,(从数学之美中得出),信息熵反应的正是这个事件的不确定性。
但是只有当这个事件集里面的所有事件为均等的时候,信息熵达到最大。
拿一个二元的事件集,那种0-1分布的去求熵。
那个分布的图像就是原来的那种凸函数的图像。
中间值的时候达到顶峰。
怎么去理解呢,就是当两个事情发生的概率相等的时候,这里面所含有的信息量也是最大的。
如果只有一个字符那么也只能是确定性事件,那么信息熵也就是0。
(不考虑用一个字符去重复排列来获取不同的信息。)
目前还是没有对这个具体的在决策树中使用的这个信息熵的内容有比较透彻的理解。
《统计学习方法》里面从互信息的角度提出了这个信息增益的概念。而且比较正经的是,
他是从条件熵的角度去计算的。这就比较容易理解。
条件熵的意思,如果一个事件的发生情况下,有了这个条件概率,再去计算熵值。
信息量这个东西总归是能计算的,然后在这种情况下。他们之间相减就是信息增益,互信息。
决策树中的概念,在信息增益的角度,就是每次分离一个节点,这个分裂的节点就是信息熵比原来增加最多的。
????不对啊?那这个不确定性怎么顺序的扩展过来呢。!!!
已知某事件发生的情况下,为啥条件熵增加了。
错了。!!!!没有增加,是减少了。
信息增益的计算是从相应的经验熵减去条件经验熵。
这样的话就可以对上了。
通过某些事件的条件熵,信息量的确是减少了。这样也就对应了不确定性减少的说法。
把这部分的数学原理好好理解下。这就涉及到了条件熵的内容。
这部分的作用对应于机器学习内容中,是对应了特征选择的部分。
每次看一些机器学习的书,就是从信息熵的角度去说明这个算法的作用。但是实际上,从这个角度并不能证明这个东西真正的含义。也就是说,我不能从根本去理解。而是要去硬性的记这个信息熵的概念,特别是他进行分支的时候,都没有讲清楚这个东西的计算原理。怪不得每次都记不住。