机器学习之决策树——学习总结

决策树学习总结

机器学习的应用越来越广泛,特别是在数据分析领域。本文是我学习决策树算法的一些总结。

机器学习简介

机器学习 (Machine Learning) 是近 20 多年兴起的一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。简而言之,机器学习是通过学习老知识(训练样本),得出自己的认知(模型),去预测未知的结果。

  • 学习方式
    • 监督式学习
      • 从给定的训练数据集中学习出一个函数,当新的数据到来时,可以根据此函数预测结果。训练数据集中的目标由人标注的。常见的算法有回归分析和统计分类
    • 非监督式学习
      • 与监督式学习相比,训练集没有人为标注的结果,常见的算法有聚类
    • 半监督式学习
      • 训练集部分被标识,部分没有被标识。常见的算法有SVM
    • 强化学习
      • 输入数据作为模型的反馈,模型对此作出调整。常见的算法有时间差学习
  • 机器学习算法分类
    • 决策树算法
      • 根据数据属性,采用树状结构建立决策模型。常用来解决分类和回归问题。
      • 常见算法:CART(Classification And Regression Tree),ID3,C4.5,随机森林等
    • 回归算法
      • 对连续值预测,如逻辑回归LR等
    • 分类算法
      • 对离散值预测,事前已经知道分类,如k-近邻算法
    • 聚类算法
      • 对离散值预测,事前对分类未知,如k-means算法
    • 神经网络
      • 模拟生物神经网络,可以用来解决分类和回归问题
      • 感知器神经网络(Perceptron Neural Network) ,反向传递(Back Propagation)和深度学习(DL)
    • 集成算法
      • 集成几种学习模型进行学习,将最终预测结果进行汇总
      • Boosting、Bagging、AdaBoost、随机森林 (Random Forest) 等
决策树算法
  • 初识决策树
    决策树算法是借助于树的分支结构实现分类。以相亲约会决策为例,下图是建立好的决策树模型,数据的属性有4个:年龄、长相、收入、是否公务员,根据此模型,可以得到最终是见或者不见。
    这里写图片描述
    这样,我们对决策树有个初步认识:

    • 叶子节点:存放决策结果
    • 非叶子节点:特征属性,及其对应输出,按照输出选择分支
    • 决策过程:从根节点出发,根据数据的各个属性,计算结果,选择对应的输出分支,直到到达叶子节点,得到结果
  • 构建决策树
    通过上述例子,构建过程的关键步骤是选择分裂属性,即年龄、长相、收入、公务员这4个属性的选择先后次序。分裂属性是在某个节点处按照某一特征属性的不同划分构造不同的分支,其目标是让各个分裂子集尽可能的“纯”,即每个子集尽量都属于同一分类项。分裂属性分3种情况:

    • 属性是离散值且不要求生成二叉树
      • 属性的每个值作为一个分支
    • 属性是离散值且要求生成二叉树
      • 按照“属于”和“不属于”分成2个分支
    • 属性是连续值
      • 确定一个分裂点split_point,按照>split_point和<=split_point生成2个分支

    注意,决策树使用自顶向下递归分治法,并采用不回溯的贪心策略分裂属性的选择算法很多,这里介绍3种常用的算法:信息增益(Information gain)、增益比率(gain ratio)、基尼指数(Gini index)

  • 信息增益(Information Gain)
    基于香浓的信息论,信息熵表示不确定度,均匀分布时,不确定度最大,此时熵就最大。当选择某个特征对数据集进行分类时,数据集分类后的信息熵会比分类前的小,其差值即为信息增益。信息增益可以衡量某个特征对分类结果的影响大小,越大越好。
    • 典型算法:ID3
    • 数据集D中,有m个类别,\( p_i \)表示D中属于类别i的概率,此数据集的信息熵定义为:
      Info(D)=_i=1mp_ilog_2(p_i)
    • 以属性R作为分裂属性,R有k个不同的取值,将数据D划分成k组,按R分裂后的数据集的信息熵为:
      Info_R(D)=_j=
  • 3
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值