- ⼀个集成模型(f)在未知数据集(D)上的泛化误差E(f;D),由⽅差(var),偏差(bais)和噪声(ε)共同决定。
- 偏差:模型的预测值与真实值之间的差异,即每⼀个红点到蓝线的距离。在集成算法中,每个基评估器都会有⾃⼰的偏差,集成评估器的偏差是所有基评估器偏差的均值。模型越精确,偏差越低。
- ⽅差:反映的是模型每⼀次输出结果与模型预测值的平均⽔平之间的误差,即每⼀个红点到红⾊虚 线的距离,衡量模型的稳定性。模型越稳定,⽅差越低。
- 其中偏差衡量模型是否预测得准确,偏差越⼩,模型越“准”;⽽⽅差衡量模型每次预测的结果是否接近,即是说⽅差越⼩,模型越“稳”;噪声是机器学习⽆法⼲涉的部分,为了让世界美好⼀点,我们就不去研究了。⼀个好的模型,要对⼤多数未知数据都预测得”准“⼜”稳“。即是说,当偏差和⽅差都很低的时候,模型的泛化误差就⼩,在未知数据上的准确率就⾼。
- 通常来说,⽅差和偏差有⼀个很⼤,泛化误差都会很⼤。然⽽,⽅差和偏差是此消彼⻓的,不可能同时达到最⼩值。这个要怎么理解呢?来看看下⾯这张图:
- 从图上可以看出,模型复杂度⼤的时候,⽅差⾼,偏差低。偏差低,就是要求模型要预测得“准”。模型就会更努⼒去学习更多信息,会具体于训练数据,这会导致,模型在⼀部分数据上表现很好,在另⼀部分数据上表现却很糟糕。模型泛化性差,在不同数据上表现不稳定,所以⽅差就⼤。⽽要尽量学习训练集,模型的建⽴必然更多细节,复杂程度必然上升。所以,复杂度⾼,⽅差⾼,总泛化误差⾼。相对的,复杂度低的时候,⽅差低,偏差⾼。⽅差低,要求模型预测得“稳”,泛化性更强,那对于模型来说,它就不需要对数据进⾏⼀个太深的学习,只需要建⽴⼀个⽐较简单,判定⽐较宽泛的模型就可以了。结果就是,模型⽆法在某⼀类或者某⼀组数据上达成很⾼的准确度,所以偏差就会⼤。所以,复杂 度低,偏差⾼,总泛化误差⾼。
- 我们调参的⽬标是,达到⽅差和偏差的完美平衡!虽然⽅差和偏差不能同时达到最⼩值,但他们组成的泛化误差却可以有⼀个最低点,⽽我们就是要寻找这个最低点。对复杂度⼤的模型,要降低⽅差,对相对简单的模型,要降低偏差。随机森林的基评估器都拥有较低的偏差和较⾼的⽅差,因为决策树本身是预测⽐较”准“,⽐较容易过拟合的模型,装袋法本身也要求基分类器的准确率必须要有50%以上。所以以随机森林为代表的装袋法的训练过程旨在降低⽅差,即降低模型复杂度,所以随机森林参数的默认设定都是假设模型本身在泛化误差最低点的右边。
- 所以,我们在降低复杂度的时候,本质其实是在降低随机森林的⽅差,随机森林所有的参数,也都是朝 着降低⽅差的⽬标去。