机器学习算法---决策树中用于特征选择的信息增益
首先总体上理解三个概念:
熵:表示随机变量的不确定性。
条件熵:在一个条件下,随机变量的不确定性。
信息增益:熵 - 条件熵
然后我们分别来理解这三个概念:
一、熵
信息量
信息量是对信息的度量,就跟时间的度量是秒一样。
多少信息用信息量来衡量,我们接受到的信息量跟具体发生的事件有关。
信息的大小跟随机事件的概率有关。越小概率的事情发生了产生的信息量越大,如湖南产生的地震了;越大概率的事情发生了产生的信息量越小,如太阳从东边升起来了(肯定发生,没什么信息量)。
如果我们有俩个不相关的事件x和y,那么我们观察到的俩个事件同时发生时获得的信息应该等于观察到的事件各自发生时获得的信息之和,即:
h(x,y) = h(x) + h(y)
由于x,y是俩个不相关的事件,那么满足p(x,y) = p(x)*p(y).
因此我们有信息量公式如下:
最后引出信息熵的概念:
信息量度量的是一个具体事件发生了所带来的信息,而熵则是在结果出来之前对可能产生的信息量的期望——考虑该随机变量的所有可能取值,即所有可能发生事件所带来的信息量的期望。
说点人话,初中物理我们学过,熵值表示物体分子的混乱程度,那么放到信息上去理解的话,信息熵可以表示系统的复杂程度或者是情况的多样性程度,如果这个系统越复杂或者出现乱七八糟的情况的种类越多,那么他的信息熵就越大。相反,如果一个系统非常简单或者情况的种类很少,比如明天太阳将从东边升起西边落下,对应的概率为1,那么此时的信息熵就为0.
二、条件熵
定义为:定义为X给定条件下,Y的条件概率分布的熵对X的数学期望。
通俗点解释,就是在变量X的所有取值情况下,Y仍然发生的概率。这是一个非常容易混淆的点,一般我们说条件概率是在变量X取某个确定的值的时候Y发生的概率。公式如下:
具体例子解释:
不搬了,例子看这个
这里是引用https://blog.csdn.net/xwd18280820053/article/details/70739368
反正条件熵 H(Y|X)表示的就是我所有的X的所有取值情况下,Y 还能够发生的概率的熵和。
三、信息增益
最开始我们说增益(IG)的概念是 熵 - 条件熵 ,我们用另一个变量对原变量分类后,原变量的不确定性就会减小了,因为新增了X的信息,可以感受一下。不确定程度减少了多少就是信息的增益。
其实就是不断的加入新的信息,就越会对我们的决策有帮助,就像找对象,长相,工作,家庭这三个条件,我们知道的越多,就越对我们的决策有帮助,这里的决策就是要不要在一起。那么如何衡量这个新知道的信息对我们的决策帮助有多大呢?就是这个信息增益。
放到数据上,特征A有很多种情况,我们要计算特征A的所有情况对最后分类的帮助程度,特征B ,特征C 也是。找出特征ABC 对最后决策的帮助程度大小,即为构建决策树的关键步骤。
因为我们在构建决策树的时候面临的一个很重要的问题就是在哪些特征的维度上进行分割,所以信息增益帮了我们大忙。
参考:
https://www.zhihu.com/question/22104055