其他分享
首页 > 其他分享> > 决策树与随机森林

决策树与随机森林

作者:互联网

我们在学每一种语言的时候,都会学习语言中的逻辑结构,即if-else结构。基于现有的信息依次做出判断。今天要介绍的决策树就是起源于这种想法,利用这类结构分割数据的一种分类学习方法。

比如说有媒婆跟一个女孩的母亲拉红线:

母亲:多大年纪了?

媒婆:26。

母亲:长的帅不帅?

媒婆:挺帅的。

母亲:收入高不?

媒婆:不算很高,中等情况。

母亲:是公务员不?

媒婆:是,在税务局上班呢。

母亲:那好,我去问问我女儿。

母亲的心里是有一个判断过程的,例如:

类型这种情况就是决策树的一种。那么我们如何去构造这个树呢,先判断什么条件最好呢。

信息论

能消除不确定性的内容才能叫信息,而告诉你一个想都不用想的事实,那不叫信息。

比如数据分析师的工作经常是要用数据中发现信息,有一天上班你告诉老大从数据中发现我们的用户性别有男有女(废话)这不叫信息,但是如果你告诉老大女性用户的登录频次、加购率,浏览商品数量远高于男性,且年龄段在25岁~30岁的女性用户消费金额最多,15-20岁最少,这就叫信息。

1948年有一位科学家香农从引入热力学中的熵概念,得到了信息量的数据公式:

y=-log_{2}P_{k}

Pk代表信息发生的可能性,发生的可能性越大,概率越大,则信息越少,通常将这种可能性叫为不确定性,越有可能则越能确定则信息越少。

信息熵

信息熵是信息量的数学期望,是信源发出信息前的先验不确定性,信息熵的数学定义为:

可见,如果信息熵等于0,表示只存在唯一的信息发送可能,即P(u_{i})=1,没有发送的不确定性;如果信源的k个信号有相同的发送概率,即所有的u_{i}P(u_{i})=1/k,即信息熵达到最大,不确定性最大。所以P(u_{i})差别越小,信息熵越大,平均不确定性最大。P(u_{i})差别越大,信息熵就越小,平均不确定性越小。

信息增益

当已知信号U的概率分布P(U)且收到信号V=v_{j},发出信号的概率变为P(U|v_{j}),于是信源的不确定性变为:

{\color{Red} Ent(U|v_{j})= \sum_{i}P(u_{I}|v_{j})I(u_{i}|v_{j})= \sum_{i}P(u_{i}|v_{j})log_{2}\frac{1}{P(u_{i}|v_{j})}=-\sum_{i}P(u_{i}|v_{j})log_{2}P(u_{i}|v_{j})}

称为后验熵,表示信宿收到v_{j}后对发出信号U的度量值。由于收到信号v_{j}是个随机变量,后验熵的期望为:

{\color{Red} Ent(U|V)= \sum_{j}P(v_{j})Ent(U|v_{j})=- \sum_{j}P(v_{j})(\sum_{i}P(u_{i}|v_{j})log_{2}P(u_{i}|v_{j}))}

称为条件熵,表示信宿收到所有V后,对发出信号U任然存在的不确定性(后验不确定性),这是由随机干扰引起的。

通常Ent(U|V)<Ent(U),于是{\color{Red} Gains_{ent}(U,V)=Ent(U)-Ent(U|V)}就称为信息增益,反映的是信息消除随机不确定性的程度。

那么信息增益表示得知特征X的信息而是的类Y的信息的不确定性减少的程度,所以我们对于选择特征进行分类的时候,当然选择信息增益较大的特征,这样具有较强的分类能力。

根据信息增益的准则的特征选择方法是:对于训练数据集D,计算其每个特征的信息增益,并比较它们的阿笑,选择信息增益最大的特征。

决策树特征选择举例

下面举个例子:

ID年龄有工作有自己的房子信贷情况类别
1青年一般
2青年
3青年
4青年一般
5青年一般
6中年一般
7中年
8中年
9中年非常好
10中年非常好
11老年非常好
12老年
13老年
14老年非常好
15老年一般

 

上面是一个贷款申请的资料,我们先来计算总的经验熵为:

 

然后我们让A_1,A_2,A_3,A_4A​1​​,A​2​​,A​3​​,A​4​​分别表示年龄、有工作、有自己的房子和信贷情况4个特征,则计算出年龄的信息增益为:

同理其他的也可以计算出来,g(D,A2)=0.324,g(D,A3)=0.420,g(D,A4)=0.363,相比较来说其中特征A3(有自己的房子)的信息增益最大,所以我们选择特征A3为最有特征。

下面的特征选择在去掉A3的情况下再次计算以此类推。

决策树的一些优点是:

决策树的缺点包括:

集成方法

成学习通过建立几个模型组合的来解决单一预测问题。它的工作原理是生成多个分类器/模型,各自独立地学习和作出预测。这些预测最后结合成单预测,因此优于任何一个单分类的做出预测。例如上面的贷款分析,我们做了三个模型,一个决策树模型,一个knn分类,一个神经网络分类。再次进来一个数据,我们使用三个模型分别判断是否贷款,每个模型算作一票,根据票数多少确定最后究竟是否贷款。这就是一种集成方法的模型。

随机森林

在机器学习中,随机森林是一个包含多个决策树的分类器,并且其输出的类别是由个别树输出的类别的众数而定。

在前面的决策当中我们提到,一个标准的决策树会根据每维特征对预测结果的影响程度进行排序,进而决定不同的特征从上至下构建分裂节点的顺序,如此以来,所有在随机森林中的决策树都会受这一策略影响而构建的完全一致,从而丧失的多样性。所以在随机森林分类器的构建过程中,每一棵决策树都会放弃这一固定的排序算法,转而随机选取特征。

在随机森林中根据下列算法而建造每棵树:

这种方法几乎没有缺点,在当前所有算法中,具有极好的准确率。能够有效地运行在大数据集上。还能够处理具有高维特征的输入样本,而且不需要降维。能够评估各个特征在分类问题上的重要性,对于缺省值问题也能够获得很好得结果。

标签:不确定性,特征,信息熵,信息,增益,随机,决策树,森林
来源: https://blog.csdn.net/rexyang97/article/details/117922934