1. 随机森林
1.1 定义
RF是一个用随机方式建立的,包含多个决策树的集成分类器,其输出类别由各个树投票而定(回归树取平均)。
1.2 生成过程
假设样本总数为n,特征数为a。
1. 从原始样本中采用有放回抽样(bagging)的方法选取n个抽样。
2. 对n个样本选取a个特征中的随机k个,用于建立决策树的方法,获得最佳分割点。
3. 重复m次,获得m棵决策树。
4. 对输入样例进行预测时,每个子树都产生一个结果,采用多数投票机制输出。
1.3 优点
1. 实现简单,训练速度快,泛化能力强,可并行实现。(因为训练时树与树之间是相互独立的)。
2. 相比单一决策树,能学习到特征之间的相互影响,且不易过拟合。
3. 能处理高维数据,并且不用做特征选择,因为特征子集是随机选取的。
4. 对于不平衡的数据集,可以平衡误差。
5. 相比SVM,不是很怕特征缺失(待选特征也是随机选取的)。
6. 训练完后可以给出哪些特征比较重要。
1.4 缺点
1. 在噪音过大的分类和回归问题,还是容易过拟合。
2. 相比单一决策树,它的随机性让我们难以对模型进行解释。
2. 梯度提升树GBDT
2.0 boosting算法
一般boosting算法都是一个迭代过程,每一次的训练都是为了改进上一次的结果。算法原理:
1. 训练一个模型m1,产生错误e1;
2. 针对e1训练一个模型m2,产生错误e2;
3. 针对e2训练第三个模型m3,产生错误e3 .....;
4. 最终预测结果是:m1+m2+m3+.....
2.1 原理
gbdt是以决策树(回归树)为基学习器的迭代boosting算法。主要思想:
(1)每一次建立单个分类器时,是在之前建立的模型的损失函数的梯度下降方向;
损失函数越大,说明模型越容易出错,如果我们的模型能让损失函数持续的下降,则说明我们的模型在持续不断的改进,而最好的方式就是让损失函数在其梯度的方向上下降。
(2)GBDT的核心在于每一棵树学的是之前所有树结论和的残差;
残差就是真实值与预测值的差值,为了得到残差,GBDT中的树全部是回归树,而不是分类树。