Bagging:Bootstrap Aggregate.
Bagging与Boosting是集成学习算法的两大类,这两种算法可以解决不同学习器在方差和偏差上的问题。
Bagging | Boosting | |
---|---|---|
作用 | 降低方差 | 降低偏差 |
基学习器 | 强学习器 | 弱学习器 |
主要区别 | 对样本进行有放回的采集出等数量的样本,使用采集的样本作为训练样本 | 根据之前学习器的学习结果对样本分布进行调整 |
训练方法 | 并行 | 串行 |
典型算法
随机森林
随机森林是bagging集成学习算法的变形,不仅仅对数据有放回的采样,还对特征进行随机选取。每次进行树的分支时,进行特征采样。因此训练速度比bagging还快。
BootStrap
bootstrap是boosting算法,上轮基学器学习完之后,会对预测错误的样本进行加权;通过加权改进样本的分布。
在真实的使用过程中,boosting算法也会对样本和特征进行采样,来降低过拟合。
基学习器选择
一般使用树模型作为基学习器的原因是树模型可以通过预剪枝调节模型的表达能力和泛化能力。Bagging一般使用不稳定的,容易受到样本影响的强学习器(例如:神经网络、决策树),这样才能体现到集体决策的作用。Boosting可以使用线性学习器,线性学习器(例如:SVM)具有较弱和较稳定(方差小)的特点。
神经网络的不稳定性体现在可以通过调整神经元的数量、网络层数,连接方式初始权重能很好的引入随机性和改变模型的表达能力和泛化能力