机器学习——决策树(Decision Tree Model)

本文详细介绍了决策树的学习过程,包括如何选择特征分裂、何时停止分裂,以及纯度的衡量标准。讨论了信息增益在决策树构建中的作用,并讲解了一维和连续值特征的处理。此外,还涵盖了回归树、随机森林和XGBoost等增强决策树算法,以及何时选择使用决策树的场景。文章指出,决策树在结构化数据上的表现良好,且训练速度快,但不适合非结构化数据,而神经网络则更为通用。

建立选择合适的决策树提高算法效果

1.学习过程(Learning Process )

关键决策:

1.How to choose what feature to split on at each node?(如何选择在每个节点上使用划分的特征)尽可能提高纯度

2.When do you stop splitting?(在什么时候停止划分)  
    

  • 限制决策树深度的一个原因可能是确保我们的树不会变得太大、太笨重,同时小巧的树不容易导致过拟合
  • 另一个标准是如果优先级分数的提高,低于某个阈值,如果分裂个节点导致最小的纯度提升,实际上是提高了纯度,这也是让树小,降低过拟合的风险
  • 如果一个节点的样本数低于某个阈值可能也会决定停止分裂

2.纯度(Measuring purity)

Entropy熵,熵越大越不纯洁 

3. 选择拆分信息增益(Choosing a split: Information Gain)

选择在决策树中的每个节点上使用什么特性进行拆分

使用加权平均计算信息增益,测量的是你在树上得到的熵的减少,那个最大选哪个

4.构建决策树 

1.Start with all examples at the root node(从树根节点的所有训练示例开始)

2.Calculate information gain for all possible features, and pick the one with the highest information gain(计算所有可能特性的信息增益,选择能获得最高信息的特征)

3.Split dataset according to selected feature, and create left and right branches of the tree(根据选择特性将数据集拆分为两个子集,并创建树的左和右分枝,并将训练示例放在左或右分枝上)

4.Keep repeating splitting process until stopping criteria is met:(继续在树的左树枝上重复分裂过程,在树的右树枝上继续这样直到达到停止标准)

5. One-Hot编码(Using one-hot encoding of categorical features)

如果特性可以包含两个以上的离散值,一个特征有多个可取的值

也可以把它应用到神经网络或者线性回归或者逻辑回归训练中 

6.处理连续的值(Continuous valued features)

依据重量区分猫和狗

惯例是根据权重根据这个特性的值对所有的例子进行排序

7.推广到回归树(Regression Trees)

解决回归问题,通过脸型,耳朵形状,胡须来预测体重

测量方差的减少

8. 使用多个决策树

只使用一个决策树,可能对数据中的微小变化高度敏感,因此建立大量的决策树,称为树集合。训练树集合,让他们投票决定

替换取样Sampling with replacement

构建树集合要使用的一种技术

随机森林算法Random forest algorithm

树集成算法

B一般取64-128,过多会显著减缓计算而不显著提高整体算法的性能,在此基础上进行改进

At each node, when choosing a feature to use to split,if n features are available, pick a random subset of k < n features and allow the algorithm to only choose from that subset of features.
选择K个特性作为允许的特性然后在这些K个特征中选择信息增益最高的一 个作为使用拆分的特征的选择,当n很大的时候,k选择根号n

9.增强决策树算法(XGBoost)

But instead of picking from all examples with equal (1/m) probability, make it more likely to pick examples that the previously trained trees misclassify

取样时不是以相同的概率选择每个训练样本,更有可能选择以前训练过的树错误分类的例子或者以前训练过的树在训练和教育方面做得很差(刻意练习)

 

10.When to use decision trees

Decision Trees and Tree ensembles

1.Works well on tabular (structured) data 在表结构数据(结构化数据)上表现的很好,用表格展现具有范畴或连续值特征的,既用于分类,也用于回归任务,试图预测一个离散的凯尔或预测一个数字
2.Not recommended for unstructured data (images, audio, text)不建议在非结构化数据上使用决策树和树集合,神经网络更倾向于解决非结构化的数据
3.Fast决策树和树集合的一个巨大优势是它们可以非常快地训练,提高算法性能
4.Small decision trees may be human interpretable 小决策树可能是人类可解释的

Neural Networks

1.Works well on all types of data, including tabular (structured) and unstructured data可用于各种类型的数据
2.May be slower than a decision tree训练速度比决策树快
3.Works with transfer learning迁移学习
4.When building a system of multiple models working together, it might be easier to string toqether multiple neural networks将多个神经网络串在一起可能更容易建立一个更大的机器学习系统,串联在起训练多个神经网络可能比多个决策树更容易,一次只能训练一个决策树

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值