一、decision tree(决策树)
1. classification problems(纯度)
i . entropy (熵)
作用:衡量一组数据的纯度是否很纯 ,当五五开时他的熵都是最高的,当全是或者都不是时熵为 0
i i . information gain (信息增益)
父节点到子节点的熵的减少称为信息增益,处理分支熵的时候,选择使用熵的加权平均值来衡量熵值的高低,计算信息增益是为了看两阶之间如果增益太小的话则不需要分了
i i i . 多个&连续特征
a)one hot coding(独热编码)
**使用:**如果一个特征有多个可能取值,我们可以将多个取值都变为一种特征,然后取值变为0,1是否
b) 连续特征
**解决:**如果一个特征有连续的取值,类似体重,可以按照信息熵来划分一个界限
2、regression tree(回归树)
i. how to choosing a spilt
a). 根据方差选择回归树
先计算出根节点的方差,然后计算不同特征分类以后的方差,选择方差差值较大的一个作为划分条件
i i. weaknesses of desicion tree
改变数据集中的一个数据就会对最后的树造成很大的影响,形成一个根据不同条件划分的树
解决:多构建几个树,使用树的合集来共同决策最后的结果,来投票最后的结果
二、决策森林
i. Sampling with replacement(有放回抽样)
**作用:**通过有放回的多次抽样,得到多个和原始训练集大小一样的训练集,与原始的相似但不同的新训练集
i i . Random forest algorithm
a) 袋装决策树
使用 : 使用放回抽样来生成新的dataset,用生成的新的dataset来训练模型,得到新的decision tree,一共重复m次,m 的取值一般为64-228,一般是100往后可能会收益递减。
b) random forest algorithm
与上面的不同: 袋装决策树会因为dataset的小的改变而改变根节点和附近的划分特征,而这里会选择从n个feature中选择 k 个特征,从中选择entropy最大feature来进行划分。
为什么比单一的决策树更加健壮: 因为有放回抽样给了很多个具有微小误差的dataset,训练了不同的决策树,对训练集很多小的变化的求平均
i i i. XGBoost (极端梯度增强)
**作用:**在前面创建随机森林过程中,对于每次当前dataset中训练错误,在下一次有放回的dataset中都有更大的机会从错误的例子中取出看,进行有针对的错误训练,使得更加 的高效
使用:
三 、Conclusion
1 . 决策树,集成树,神经网络的优缺点
i . 决策树和集成树的优缺点:
- 能够很好的处理表格数据(结构化数据),类似于房价问题,将数据都可以做成一个表格的形式,然后我们可以做出分类或者回归预测的任务
- 不建议在视频,图像,音频和文本等非结构化数据使用,神经网络能很好的处理非结构数据
i i .神经网络的优缺点
- 决策树的训练时间很快,大型的神经网络的训练时间通常都是很慢
- 能够很好的和transfer learning协同工作
- 多个机器学习模型协同工作的系统,多个神经网络一起训练比多个决策树更加容易