机器学习要点理解(三、决策树)

  1. 决策树的基本思想:
    对每一个特征做if-else的条件判断,与逻辑回归不一样(逻辑回归是把所有特征丢进网络),入门的案例有泰坦尼克号存活预测。
  2. 决策树的两个问题:
  • 决策树是怎么”长“的?—分裂属性的选择,即在某个结点上选择哪个特征进行划分呢,不同的算法造就不同的树,例如ID3, C4.5, CART树。
  • 这棵树什么时候”停“?—树剪枝。
    当子节点包含的样本数域同一个类型时;
    当前结点包含的样本集合为空;
  1. 三种常见的决策树:
    ID3:采用信息增益来选择树叉。
    信息熵:
    ln ⁡ fo ⁡ ( D ) = − ∑ i = 1 m p i log ⁡ 2 ( p i ) \ln \operatorname{fo}(\mathrm{D})=-\sum_{i=1}^{m} p_{i} \log _{2}(p i) lnfo(D)=i=1mpilog2(pi)
    信息增益:
    Info ⁡ A ( D ) = ∑ j = 1 v ∣ D j ∣ ∣ D ∣ ∗ i n f o ( D j ) \operatorname{Info}_{A}(D)=\sum_{j=1}^{v} \frac{\left|D_{j}\right|}{|D|} * i n f o\left(D_{j}\right) InfoA(D)=j=1vDDjinfo(Dj)
    在ID3的处理算法流程里,在划分当前结点时,遍历所有,取能带来最大信息增益的那个feature作为当前划分标准。一旦按某特征切分后,该特征在之后的算法执行中,将不再起作用。
    特点:1)容易造成过度拟合。2)使用标称型数据,但是很难处理连续型数据。
    C4.5:采用增益率
    信息增益比率(gain ratio)来作为选择分支的准则。在ID3上的两个改进。1)引入一个被称作分裂信息(Split information)的项来惩罚取值较多的Feature,2)处理连续性特征数据,但是因为是扫描排序,所以性能会下降。
    CART树
    Gini指标:
    相比前两种决策村算法,CART最大的特色它是一棵二叉树,采用二元切分法,每次把数据切成两份,分别进入左子树、右子树。
    Gini ⁡ ( D ) = 1 − ∑ i = 1 m P i 2 \operatorname{Gini}(D)=1-\sum_{i=1}^{m} P_{i}^{2} Gini(D)=1i=1mPi2
    对于每一个子集,要么属于(D1),要么不属于(D2),所以计算结果如下:
    Gini ⁡ A ( D ) = ∣ D 1 ∣ ∣ D ∣ ∗ Gini ⁡ ( D 1 ) + ∣ D 2 ∣ ∣ D ∣ ∗ Gini ⁡ ( D 2 ) \operatorname{Gini}_{A}(D)=\frac{\left|D_{1}\right|}{|D|} * \operatorname{Gini}\left(D_{1}\right)+\frac{\left|D_{2}\right|}{|D|} * \operatorname{Gini}\left(D_{2}\right) GiniA(D)=DD1Gini(D1)+DD2Gini(D2)
    选出最小的Gini指标对应的那个子集作为树的分支。
  2. 树形结构不需要归一化。
    1)因为数值缩放不影响分裂点位置,对树模型的结构不造成影响。2)树模型是寻找最优分裂点,是阶跃不可导的,求导没有意义,所以不需要归一化。
    归一化与梯度下降相关,特征值差别很大时,若不归一化,迭代次数会比较大,性能不能保证。
  3. 按照任务的不同,可以分为分类决策树和回归决策树。
  4. 预剪枝后剪枝
    预剪枝:其中的核心思想就是,在每一次实际对结点进行进一步划分之前,先采用验证集的数据来验证如果划分是否能提高划分的准确性。如果不能,就把结点标记为叶结点并退出进一步划分;如果可以就继续递归生成节点。
    后剪枝:后剪枝则是先从训练集生成一颗完整的决策树,然后自底向上地对非叶结点进行考察,若将该结点对应的子树替换为叶结点能带来泛化性能提升,则将该子树替换为叶结点。
    详情见这篇博客《决策树及决策树的生成与剪枝》
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值