参考:七月在线机器学习第九期决策树,西瓜书
目录
决策树(Deecisioon Tree model)
总体概括:
逻辑回归过渡到决策树:
对于相亲问题,有很多中就解决方案,用逻辑回归(LR)的话,就是综合考虑多种因素,最后得到一个去或者不去的概率
但是,对于相亲问题,有时候一个条件不满足,就有可能被否定,比方说女方要求身高必须180以上,那么你身高170直接就被否定,其他条件就不需要了,因此,这时候我们的决策树就登场了。
决策树大体结构:
- 内部节点:对应于某个属性(对某个属性进行测试)
- 分支:对于内部节点的属性的划分条件
- 叶节点:对于分支的预测结果
学习过程:通过对训练样本的分析来确定‘划分属性’(内部节点对应的属性)
预测过程:将测试样本从根节点开始,沿着划分属性构成的‘判定测试序列’下行,直到叶子节点
总体流程:(分而治之)
- 从根节点到叶节点的递归过程
- 在每个中间节点寻找’划分‘属性
重点:(三种停止条件)
- 当前节点的样本属于同一类别,无需划分(标签值一样)
- 当前节点的样本集合为空,无法划分(没有输入数据)
- 当前节点的属性集为空,或者所有样本在所有属性上的取值相同,无法划分(属性值一样)
决策树:
- 分类:ID3 C4.5 CART
- 回归:回归树
决策树和逻辑回归的区别:
- 逻辑回归:产生决策边界
- 决策树:将样本空间划分不同区域,对空间进行细分。
np问题:无法穷尽的问题。
理论介绍:
熵:宇宙间万事万物总是朝着无序的方向发展
信息熵(entropy):样本的纯度指标,假设当前样本集合中,第k类样本占的比例为,则D的信息熵为:
根据划分标准不同决策树分为三类:(信息增益,信息增益率,基尼指数为划分标准):
- ID3(信息增益:information gain)
- C4.5(信息增益率)
- CART(基尼指数)
(1)ID3:
个人理解:因为不确定性,所以决策树要生长;决策树生长是为了把不确定问题变得确定,所以决策树朝着确定的方向生长,信息增益越大,决策树朝着确定的方向跨的步子大些,所以以此作为划分属性
以信息增益(Gain)为划分标准:信息增益=划分前信息熵-划分后信息熵 (信息增益越大,表示不确定性越高,决策树是为了不确定性下降,所以在不确定最大的地方进行划分)
得到一颗庞大且深度浅的树(不合理)
信息增益划分示例:(西瓜书)
ID3的缺点;在当前属性取值较多的情况下,比如说将编号作为划分属性,那么编号有多少个就有多少个分支。这样的话泛化能力较差,如果来一个新编号该怎么分。
(2)C4.5
为了解决这个问题,c4.5用了信息增益率作为划分属性,在信息增益的基础上除以属性的一个固有值(intrinsic value)。固有值等于当前划分属性下取值的混乱程度。取值越多,混乱程度越高,值越大。相当于在信息增益的基础上增加了一个惩罚。
以信息增益率为划分标准(gain ratio)
(3)CART(二叉树)
基尼系数取代熵的思想
从另外一个角度去思考决策树划分属性的问题,如果说两个样本不一致的概率越大,越混乱。如果概率越小,不确定性越低,越稳定。
基尼系数和熵在数学上的关系:
熵泰勒站展开后,和基尼系数相似。
回归树:
决策树可以解决分类问题,一般是离散值,如果是连续值,决策树该怎么解决,把连续值分段变为离散值来解决。
如果遇到回归问题,决策树该怎么办?逻辑回归是形成决策边界来解决分类问题的。同理,决策树,通过把样本划分不同区域形成决策边界,对空间进行细分来解决回归问题。
空间分的越细,那么决策树划分的越精确,但是会过拟合,那就限制划分区域的个数,也就是叶子节点的个数来防止过拟合。
每一个小区域
每个小区域里面的样本
目的是使RSS最小,RSS整体误差。
bagging思想:
(人多力量大)
目的是为了降低过拟合风险,提高泛化能力。(过拟合不仅是模型的问题,有可能是噪声问题)
个人理解;就是在样本中按照一定的比例选取一定数量的样本,然后选取一个模型对数据进行训练,重复上述过程多次,然后把这多次结果进行集成。
随机森林:
是在bagging的思想上,利用决策树模型进行训练,但是每次训练的时候并不全部抽取特征进行训练,而是按照一定比例抽取部分特征,反复训练。
从下图可以看出:随着树的增多,划分的区域更加细化
二分递归切分:
- 不断的把区域分成两部分:(水平方向,竖直方向都砍一刀,直到砍到误差最小的区域)
过拟合:每个样本点都砍到小格子里面
解决过拟合:正则化(加惩罚函数) 叶子节点的数量T,限制树的深度。
回归树是一种启发式生长,它会一直生长。
穷尽一条轴上的划分点,并不是特征的组合。
决策树优缺点:
缺点:
(1)容易陷入局部最优,因为决策树的生成是递归的思想,那么决策树的划分是每步之后的最优划分,那么生成的决策树就容易陷入局部最优。
(2)容易过拟合,因为决策树生成过程中,是从不确定到确定的一个过程,对于每一个属性进行详细划分,生成一棵庞大且详细的决策树,这就导致了这棵决策树对于本身的样本拟合的很好,对于测试样本拟合效果就比较差。
(3)没有考虑属性之间的关联度,决策树都是对单个属性进行划分,并没有考虑属性和属性之间的关联关系
优点:
(1)速度快(从根到叶往下遍历即可)
(2)可解释性强(对于每一个属性节点的划分,都有合理的解释)
(3)没有参数假设,从数学上来讲简单
参考:西瓜书 七月在线课程