fqwf

### 模型的偏差Bias与方差Variance #### Bias - 衡量预测值与真实值之间的差异,反应了模型本身的拟合能力 - High bias意味着模型在**训练集**上的准确度较低 #### Variance - 度量了同等规模的训练集的变动导致学习性能的变化,刻画了对数据扰动的敏感度 - High variance意味着overfitting,在**测试集**上的性能较低 - 模型越复杂,模型的Bias可能就越小。但此时如果换一组数据可能模型的变化就会很大,即模型的variance很大。所以模型过于复杂的时候会导致过拟合 --- ### Bagging、Boosting的偏差与方差 - 为了简化模型,假设基模型的权重、方差及两两间的相关系数相等 - 由于bagging和boosting的基模型都是线性组成的,那么有: ```math E(F) = E(\sum_{i=1}^T {\gamma_i f_i}) = \sum_{i=1}^T \ {\gamma_i E(f_i)} = \gamma {\sum_{i=1}^T E(f_i)} Var(F) = Var(\sum_{i=1}^T \gamma_i f_i) = \gamma^2 Var(\sum_{i=1}^T f_i) = \gamma^2 [T^2\rho\sigma^2 + T(1-\rho)\sigma^2] ``` #### Bagging的偏差与方差 ```math E(F) = \frac{1}{T} \sum_{i=1}^T \ E(f_i) =\frac{1}{T} * T * \mu = \mu Var(F) = \frac{1}{T^2} [T^2\rho\sigma^2 + T(1-\rho)\sigma^2] = \rho\sigma^2 + \frac{(1-\rho)}{T}\sigma^2 = \frac {(T-1)\rho + 1}{T} * \sigma^2 ```
```math \text {Var(F)与T成反比,与} \rho \text{成正比} \text{随机采样决定了}\rho \in (0,1), \text{而T>>1,决定了集成学习器的方差显著减少} ```
- Bagging集成学习器的偏差与其基学习器的偏差近似,因此**基学习器一定要为强模型**,否则集成学习器的Bias较高,拟合能力不足 - 集成学习器的方差远远小于基学习器的方差,**防止过拟合的能力显著增强** - 随机森林在Bagging的基础上,随机抽取部分特征训练基学习器,进一步降低了方差,从而集成学习器的方差进一步降低,**防止过拟合的能力进一步增强** ### Boosting - Boosting是把许多弱的基学习器组合成一个强学习器。弱的分类器bias高,而强的分类器bias低,所以说boosting起到了降低bias的作用。variance不是boosting的主要考虑因素 - **常见的Boosting模型**:AdaBoost、GBDT、XGBoost、LightGBM - **AdaBoost** - 每一次训练的时候都更加关心分类错误的样例,给这些分类错误的样例增加更大的权重,下一次迭代的目标就是能够更容易辨别出上一轮分类错误的样例。最终将这些弱分类器进行加权相加。 - 通常来说boosting是在优化损失函数,这在很大程度上是减少bias。 - **特点** - 减小方差(variance),增大精确度(accuracy),主要是通过降低模型的bias来提升模型精度 - 对异常值、噪声数据较敏感 - 能灵活设置损失函数 - Boosting中的基模型为弱模型(high bias & low variance) --- ### Bagging **概述** - Bagging是Bootstrap Aggregating的简称 - 它从原始训练集中采用**有放回的方式**进行抽样,用抽样的样本训练子模型,重复构建多个子模型,最后对多个子模型进行融合 - 减小方差(variance),增大精确度(accuracy) - bagging方法得到的各子模型既不完全相同,相关系数小于1,因此强学习器的方差会降低,表现为不易过拟合; - Bagging算法的特点 - 可以并行处理 - 显著降低方差,不易过拟合 **随机森林** - RF在Bagging的基础上随机选取部分特征构建子模型,使得基学习器之间的相关系数更低,从而进一步降低了强学习器的variance,增强了强学习器防止过拟合的能力.每棵树都尽最大程度的生长,并且没有剪枝过程. - 对于分类问题,RF按多棵树分类器投票决定最终分类结果;对于回归问题,由多棵树预测值的均值决定最终预测结果 - 特点 - 对异常值、噪声数据不敏感:每次抽取的样本子集中的outlier比例较低,从而降低了outliers或noise对模型的影响,所以降低了variance。 - 基模型不依赖于彼此,可以并行 -Bagging和stacking中的基模型为强模型(low bias & high variance), --- ### Stacking --- ### Bagging和Boosting算法异同 Bagging算法与Boosting算法的核心都是将一系列弱学习器的算法按照特定的结合策略组合成强学习器的过程。两者之间的区别在于以下几点上: 1. 样本选择: Bagging:训练集是在原始集中有放回选取的,从原始集中选出的各轮训练集之间是独立的. Boosting:每一轮的训练集不变,只是训练集中每个样例在分类器中的权重发生变化.而权值是根据上一轮的分类结果进行调整。 2. 样例权重: Bagging:使用均匀取样,每个样例的权重相等。 Boosting:根据错误率不断调整样例的权值,错误率越大则权重越大. 3. 预测函数: Bagging:所有预测函数的权重相等。 Boosting:每个弱分类器都有相应的权重,对于分类误差小的分类器会有更大的权重。 4. 并行计算: Bagging:各个预测函数可以并行生成。 Boosting:各个预测函数只能顺序生成,因为后一个模型参数需要前一轮模型的结果。

猜你喜欢

转载自www.cnblogs.com/albertsr/p/9089839.html