1.决策树
1.1基本流程
决策树(decsioin tree)是一种常见的机器学习方法,例如西瓜书中的二分类任务,判断瓜的好坏。决策树如下:
可以看到此使判断西瓜是否好坏,则通过色泽,根蒂,敲声等一些列属性来得出结果。
一般的,一颗决策树包括一个根节点,若干个内部接待你和若干个叶结点;叶节点对应于决策结果,其他结点则对应一个属性测试;从根节点大到每个叶结点的路径对应了一个判定测试序列。决策树学习的目的是根据输入生成一个泛化能力强的决策树,基本算法如下;
决策树的生成是一个递归的过策划的过程,有3种情形或导致递归返回(即不会生成对应的决策结果叶结点)
算发的输入是所有样本的集合,而个体样本又包括此样本的类别已经所带的属性
1.当前结点包含的样本属于同一类别,无需划分
2.当前属性集为空或者所有样本在所有属性上取值相同,无法划分(属性相同,但是类别不同)
3.当前结点包含的样本集合为空,不能划分。(即没有一个类别对应此跳属性序列)
解决方法:
在(2)情形下,我们把当前结点标记为叶节点,并将其类别设定为该结点所含样本做多的类别
在(3)情形下,同样把当前结点标记为叶结点,但是将其类别设定为其父节点所含样本最多的类别
两种处理的实质区别:(2)是利用当前结点的后验分布 (3)是把父节点的样本分布作为当前结点的先验分布。
简单理解即(2)有多个类别,只是不知道如何划分为好,所以选取样本最多的类别;(3)无对应的类别,只能依据之前的类别划分来进行划分,即根据其父节点。这样处理的原因是为了提高决策树的泛化能力。
先验分布/后验分布详细讲解参见:https://blog.youkuaiyun.com/qq_23947237/article/details/78265026
1.2 划分选择
由上述算法可以看出,决策树学习的关键是第8行如何选择最后划分属性,一般而言,随着划分过程的不断进行,我们希望决策树的分支结点包含的样本尽可能属于同一类别,即结点’纯度’越来越高。这个最纯净在数学上叫纯度,纯度通俗点理解就是目标变量要分得足够开(y=1的和y=0的混到一起就会不纯)。
决策树学习:采用自顶向下的递归的方法,基本思想是以信息熵为度量构造一棵熵值下降最快的树,到叶子节点处熵值为0(叶节点中的实例都属于一类)。
通俗讲,决策树思想,实际上就是寻找最纯净的划分,在数学上叫纯度。不纯度的选取有多种方法,每种方法也就形成了不同的决策树方法,比如ID3算法使用信息