1.原理:
决策树说白了就是帮助我们去做一个决策的构建,就比如在相亲的评判,对方没有房子的时候我们就要考虑他的上进心.没有上进心则又要考虑等等等要考虑哪些问题,这些可以我们人为构建也可以通过决策树算法构建
那么每一级都有不同的选择指标,怎么判断哪个指标的影响力更大,比如对方有房子、有车则对方的相貌emmm就不考虑了,那么怎么去判断这个指标的重要性呢,我们人当然可以直接去判断,电脑可不行所以我们提出了。
**信息增益的概念*****熵也是物理中的一个概念。简单地说,如果一个系统中的粒子在运动过程中有很多可能的位置,那么这个系统就具有比较高的熵值,反之,如果系统中的粒子处于静止状态(例子的位置相对固定),则系统具有很低的熵值。
信息的不确定性程度也可理解为信息中的事件出现的概率,如果一个信息中表达的事件出现的概率很大,那么即使没有接受到这个信息,我们也能大概知道这个事件会发生,这个信息本身含有的信息量就会很低。比如一个信息说,“明天太阳会从东方升起”,信息量如此之少,以至于我们没有必要接受这条信息,而如果一个消息说,“明天早上会有月食”,这个信息量就很丰富。其实信息论的基本思想就是这样来的,一个不太可能的事件居然发生了,要比一个非常可能的事件发生,能提供更多的信息。*
我们将它的不确定性用下面这个公式来表示

那么为什么要用这个公式来形容呢?
“信息熵”包含着两个概念,其一是信息,其二是熵,而熵表示不确定性的程度
那么为什么要用这个公式表示呢?可以看如下解释


明白了熵的定义了以后如何来计算信息增益呢,信息增益就如下面一般计算就行了

信息增益是相对于特征而言的。所以,特征A对训练数据集D的信息增益g(D,A),定义为集合D的经验熵H(D)与特征A给定条件下D的经验条件熵H(D|A)之差。
以贷款申请样本数据表为例进行说明。看下年龄这一列的数据,也就是特征A1,一共有三个类别,分别是:青年、中年和老年。我们只看年龄是青年的数据,年龄是青年的数据一共有5个,所以年龄是青年的数据在训练数据集出现的概率是十五分之五,也就是三分之一。同理,年龄是中年和老年的数据在训练数据集出现的概率也都是三分之一。现在我们只看年龄是青年的数据的最终得到贷款的概率为五分之二,因为在五个数据中,只有两个数据显示拿到了最终的贷款,同理,年龄是中年和老年的数据最终得到贷款的概率分别为五分之三、五分之四。所以计算年龄的信息增益,过程如下:
**3/5=1-2/5来源于最初的经验熵的计算


那么我们得到这个公式,得到了它的信息增益就可以知道哪些特征值更加重要,从而帮助我们进行递归构建决策树了,比如根据公式我们得到有无房子最重要,则他为第一节先决条件,一次往下递归计算迭代这样就可以帮助我们构建决策树了。
ID3算法
ID3算法的核心是在决策树各个结点上对应信息增益准则选择特征,递归地构建决策树。具体方法是:从根结点(root node)开始,对结点计算所有可能的特征的信息增益,选择信息增益最大的特征作为结点的特征,由该特征的不同取值建立子节点;再对子结点递归地调用以上方法,构建决策树;直到所有特征的信息增益均很小或没有特征可以选择为止,最后得到一个决策树。ID3相当于用极大似然法进行概率模型的选择。
6万+

被折叠的 条评论
为什么被折叠?



