quickLook-决策树家族

目录

1.决策树

2.随机森林

3.Xgboost


1.决策树

条件分支结构if-else大家一定十分熟悉了,决策树其实就是一个if-else的过程

(图片来源:deaplearning.ai - Andrew Ng)

quickLook-决策树家族_第1张图片

如果现在要分类猫和狗,对于最初样本,脸型是否是圆的?是划分为一类,不是则划分为另一类,耳朵是否是竖的?是划分为一类,不是则划分为另一类,按照这个划分,成功分类出样本中的10只猫狗。

怎样选择节点划分特征呢?

1)分类树

目标是计算类别的决策树,上面分类猫狗的任务正是一个分类树

对于离散变量(比如脸是不是圆的):信息增益,信息增益率,基尼系数

香农对信息量的定义:

p代表事件发生的概率,概率越大,信息越少,也就是不确定性越大,那么信息越多。

信息熵:

信息量的数学期望,将logP(x)换成1-P(x)就是基尼系数

信息增益:

D的信息熵和A给定条件下D的信息熵之差,用来衡量不确定性减少程度

决策树中表现为当前节点划分之前的信息熵 - 当前节点划分后的信息熵

信息增益率:

信息增益与变量信息熵的比值,以消除类别数目多的变量在信息增益上的优势

quickLook-决策树家族_第2张图片

基尼增益:

只是将信息熵中的logP(x)换成了1-P(x),和信息增益类似,计算速度更快

优先选择增益大的变量做划分

对于连续变量(数值):尝试不同的阈值

尝试不同的阈值计算增益,选择增益大的阈值做划分

quickLook-决策树家族_第3张图片

2)回归树

目标是计算数值的决策树

与分类树使用的增益不同,回归树使用划分后数值的方差作为衡量标准,选择方差小的做划分

如何预测结果?

分类树将从满足输入的叶节点中选择最多的类别作为结果,回归树将从满足输入的叶节点中取平均值作为结果。

2.随机森林

随机森林属于集成学习,是由多棵决策树构成的森林,随机森林很好的避免了过拟合,而且其非线性的预测表现往往十分出色。

1)随机有放回抽样:

构建每棵决策树时,不再使用整体样本,而是从n个总样本中随机有放回的抽取n个样本(没错),这样用来构造每棵决策树的样本不尽相同。

2)随机候选特征:

构建决策树时,从所有特征中随机选择m个(mtry)作为候选特征,再进行节点的划分。

3)综合预测

对于分类问题

由每棵决策树(分类树)的结果"投票",得票最多的分类作为预测的类别。

对于回归问题

由每棵决策树(回归树)的结果平均

机器学习工程师去哪里露营?

-- 随机森林

3.Xgboost

人们常说Xgboost的效果特别好,Xgboost和随机森林类似(随机森林使用了子模型独立的bagging策略,Xgboost使用了子模型有关联的boosting策略),Xgboost在每次生成新的树时,针对性的训练之前预测不好的样本,构建每棵决策树时不断优化树的构建。

1)定义损失

定义一个损失衡量先前的预测误差

2)贪心优化

逐棵树进行学习,不断拟合之前树的偏差

因为有针对性的对之前拟合较差的样本做训练,Xgboost拟合速度往往更快

4.总结

决策树家族在不同的实现中有着各种各样的优化,如剪枝,停止分裂的时机,决策树还有各种各样的变体,如梯度提升树,这些树的机器学习算法有着各种各样的库实现,强大的同时很容易使用。

你可能感兴趣的:(机器学习,决策树,随机森林,人工智能)