MachineLearning—Decision Tree(DT)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_14959801/article/details/53454567

决策树模型主要分为分类树和回归树两类,这里我们首先主要介绍分类树。它是一种描述对实例进行分类的树形结构,决策树由结点和有向边组成,而结点分为内部结点和叶结点,其中内部结点表示一个特征或属性,叶结点表示一个类。决策树学习的本质是从训练数据集上归纳出一组分类规则,是特征空间的一个划分,决策树学习的损失函数通常是正则化的极大似然函数,但是基于损失函数最小化找到全局最优决策树是NP完全问题,所以实际使用的算法通常采用启发式的方法,即局部最优;具体做法就是,每次选择feature时,都选择当前条件下最优的那个feature作为划分规则,即局部最优的feature;

那么如何才能挑选出来这个最优的特征呢,即以这个特征进行分类后,数据集是否更趋近于有序(不同分类的数据被尽量分开),还是仍然很混乱? 通过下面的内容介绍大家就会有一个通透的了解了。

信息量:事件的不确定性越高则信息量越大,由于汉字更多,不确定性更高,所以信息量大。

信息熵:就是信息量的期望,表征不确定性的大小,p(x)表示概率分布。可见,当P=0.5时,事件的不确定性越高,此时熵最大。

信息增益:表示得知特征X的信息而使得类Y的信息的不确定性减少的程度,特征可以降低数据的不确定性

分类前,数据中可能出现各种类的情况,比较混乱,不确定性强,熵比较高 
分类后,不同类的数据得到比较好的划分,那么在一个划分中大部分是同一类的数据,比较有序,不确定性降低,熵比较低 
而信息增益用于描述这种熵的变化 

 由于特征A而使得对数据集D进行分类的不确定性减少的程度。越大越好!

下面通过一个例子更进一步的理解一下这个信息增益的使用:

由公式g(D,A)=H(D)-H(D|A):

然后计算条件熵:信息增益  A1表示年龄特征,以年龄作为划分规则

A2表示工作特征,以有没有工作作为划分规则

综上,0.083和0.324 所以如果要在这两个特征里面选择的话,应该选“有工作”,信息增益最大的对应的那个特征!

这里再介绍一个更佳客观的度量特征有效性的方法:

决策树生成 
先介绍ID3生成算法,这是最基本的算法, 而C4.5只是把其中的信息增益换成信息增益比,算法很简单,只是在每个节点上选出信息增益最大的那个特征来进行划分,直到信息增益小于阙值时停止,因为信息增益是相对值,所以这里使用信息增益来比较阙值不合理,在C4.5中使用信息增益比来替代;

由于根据特征A3有没有房子计算的信息增益最大,所以首先以A3为特征进行分类,结果为D1,D2两个部分,D1里面都是同意贷款的,D2里面包含同意和不同意的,所以再根据另外三个特征A1,A2,A4计算各个特征的信息增益即:

A2特征计算出来的信息增益最大,所以再以A2为特征进行下一步的划分;

                                                                        

决策树需要使用决策树剪枝来防止过拟合,提高其泛化能力,那么该如何剪枝呢,剪枝的依据又是什么呢?决策树损失函数就是所有叶节点的经验熵之和,其中Nt表示该叶节点的样本点个数,而Ht(T)表示该叶节点的经验熵(不确定性)

其中树的复杂度由叶节点个数来表示即|T|,用来约束模型复杂度

所以决策树的学习损失函数定义如下,剪枝的标准就是极小化该损失函数。α是调节参数,越大表示选择更简单的树|T|,而越小表示选择复杂的对训练集拟合度高的树

                                                                                   

剪枝的算法很简单,从叶节点往上回溯,比较剪掉该叶节点前后的损失函数的值,如果剪掉后,损失函数更小就剪掉

                                         

CART分类回归树—>回归树基本思路为用决策树将数据集划分成若干个子集,然后在子集上再用线性回归进行拟合。在决定最佳特征时,用香农熵作为指标,表示当前的划分是否会让数据更加有序,所以CART(Classification And Regression Trees)决策树算法,更加实用,从名字就可以看出,既可以用于分类问题也可以用于回归问题。它默认决策树是一种二叉树

对回归树用平方误差最小化准则,对分类树用基尼指数最小化准则。回归树模型定义为下式,在每个被划分的特征空间会有一个输出的回归值c;我们要寻找最佳切分点s,将数据分为左右两个部分,采用均方误差最小求出最佳分割点。最后得到最小二乘回归树

而对于分类树,其核心基尼指数,依然是二叉树所有的特征计算是与否

下面看例子:还是前面的那个例子

各个年龄下对应的基尼指数  第一个是以青年作为划分

有无房子和有无工作都是一个切分点

最后是信贷情况

选择基尼指数最小的特征及其对应的切分点作为最优特征与最优切分点,最后我们发现最佳切分点仍然是Gini=0.27对应的那个有无房子的特征属性

猜你喜欢

转载自blog.csdn.net/qq_14959801/article/details/53454567