吴恩达机器学习 目标18天完成 8.27 Day17

学习笔记

PART2 Advanced Learning Algorithms week4

1.1 决策树模型

1.关键术语:根节点、决策节点(确定走向)、叶子节点image.png

1.2 学习过程

1.决策树的学习过程有几个关键的步骤,首先,是如何决定哪个特征作为决策节点的判断依据,以达到最大的纯度或是最小的杂质。
image.png
2.其次的关键步骤在于,我们何时决定停止分裂?
image.png
*限定深度是为了使得我们的决策树不会过于笨重和大,且防止其过拟合,以下是深度的规定方式

image.png

2.1 纯度 measuring purity

1.熵entropy是一种衡量纯度的方式
image.png
2.熵entropy的公式
*我们这里规定0log0=0
*这里的log需要使用2作为底而不是e,从而达到entropy的取值范围为[0,1]
image.png

2.2 选择拆分信息增益

1.熵的减少也称为信息增益,我们一般在选择什么特征作为决策节点的时候会尽量减小熵
2.如何实现选择不同特征作为决策节点时的信息增益最大?
*首先计算不同特征作为决策节点时得到的左节点和右节点的熵
*加权平均计算熵
*选择最低的平均加权熵
3.新概念(尽管不会对我们的拆分选择产生影响),我们会计算根节点的熵(即根节点的纯度),减去拆分后的加权平均熵(拆分后的纯度),得到的结果便称为信息增益(我们的纯度增加了多少)。这一概念的计算可以帮助我们判断进一步拆分节点是否有必要,用于判断何时停止拆分节点。
image.png
4.如图所示是信息增益的计算公式information gain=H(p1_root)-(w_left*p1_left+w_right*p1_right)
image.png

2.3 整合

1.决策树的建立过程
image.png

2.4 独热编码 using one-hot encoding of categorical features

1.通过将拥有k个离散值的特征分解为k个二进制的特征,从而进行与之前一样的决策树决策分解
image.png

2.5 连续值特征应用于决策树 continuous valued features

1.对于连续值特征,我们一般对其所有的样本范围进行统计,计算不同值作为决策阈值时的信息增益,得到最好的阈值对应的信息增益,同时与其他的特征的信息增益进行对比。如果连续值的信息增益是最大的,就将其阈值作为决策节点。
2.关于阈值的选择,我们有一个惯例是对所有的值进行排序,选择中间的值作为阈值。
image.png

2.6 回归树 regression tree

1.决策树会根据叶子节点的平均值进行预测
image.png
2.如何决定拆分的特征?
*在构建回归树时,我们不是减少熵,而是尽量减小每个数据子集的加权方差
*方差检测数据变化的范围,越小说明数据变化范围小
*我们通过root_varience-(w_left*p+w_right*p),获得减少的方差,我们一般会选择能使得我们的方差结果减少的越大的那个特征作为决策节点
image.png

3.1 使用多个决策树 using multiple decision tree

1.单一决策树对于样本的改变比较敏感,比如,仅仅改变某一样本的某一特征,就会导致根节点的信息增益发生改变,从而导致完全不一样的结果,因此使用多个决策树是比较稳妥的选择
image.png
2.如图是多个决策树,对某一样本的预测值可能会产生多个不一样的结果,我们用投票决定的方式获取最终的预测
image.png

3.2 有放回抽样 sampling with replacement

1.通过有放回抽样的方式,我们构建一个新的数据集
image.png

3.3 随机森林 random forest algorithm

1.B是我们创建的决策树的数量,一般为100比较合适,取值范围为[64,228],B很大,不会损害我们的结果。但当B大于某一个值的时候,反而会导致收益缩减,它事实上没有表现的那么好,只会减慢速度。
image.png
2.随机森林法,在每个决策节点,只采用部分的特征值计算信息增益,可以防止过拟合,但比较而言更适合大的数据量
image.png

3.4 XGBoost 增强的决策树

1.XGBoost决策树不同于随机森林和反向决策树的地方在于,它的训练样本,会更集中于之前没有预测正确的数据
image.png
2.XGBoost决策树的优点
image.png
3.XGBoost决策树的使用,如果使用分类方法,可以是XGBClassifier,如果是回归预测,可以是XGBRegressor
image.png

3.5 何时使用决策树

1.
*结构化的数据上,决策树表现的不错(不论结构化数据内存储的是连续的还是离散的值)
*但决策树不适用于非结构的数据,如图像、视频、文本等
*决策树的运算速度很快
image.png

Labs

  • decision tree
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值