决策树是机器学习中相当经典的一种算法,既可以用作分类,也可以用作回归,同时还适合做集成学习用于随机森林等等,今天就来好好介绍一下决策树算法。
首先,决策树的思想就是非常容易理解的。通俗地讲就是拿到一堆样本之后,我首先根据某个特征,将样本划分为几类,然后在划分的每一类中,又根据新的特征再划分为若干类,这样重复的进行下去,总会达到一个效果,就是所有的样本都有且有唯一一条规则与之对应,这样决策树的构建就完成了。书面地讲就是从一个根节点出发根据某一特征划分成若干个子节点,再根据某一特征递归地划分下去,直到所有的样本都包含在内。其中中间节点通常表示样本的某一特征或者属性,而最后的叶节点则表示某一个类。
决策树的思想是十分直观的,那么问题来了,怎么去选择划分的特征呢?之前无论是线性回归还是Logistic回归,我们都给出了损失函数,然后根据损失函数去优化,那么决策树的损失函数是什么呢?接下来我们就来回答这两个问题。
常用的决策树算法主要有以下三种:
1 ID3算法
2 C4.5算法
3 CART算法
这三种算法的区别就在于选择特征的标准,具体如下。
ID3算法采用信息增益作为选择特征的依据。为了度量一个随机变量的不确定度,我们给出了熵的定义
那如果随机变量中的某个特征已知,那么在已知该特征的情况下,该随机变量的熵也就是条件熵是
有了条件熵之后,我们就可以计算已知某特征对随机变量熵的下降,我们就把这个下降的熵称之为信息增益,即