机器学习中的欠拟合与过拟合

1.偏差与方差

要理解欠拟合与过拟合,先得理解偏差与方差。

假设有一个模型f,f精确地描述了特征X与目标y的关系,但我们不知道f的具体的样子,因此我们通过一定量的训练样本来估计f。当我们改变训练集(训练样本数量不变)时f的改变量称为方差。为了估计真实的f,我们会用不同的模型(线性回归或随机森林)来拟合数据,多数情况下特征与目标的关系是很复杂的,当用简单的模型(线性回归)时,则会带来偏差问题。通常来说,f的泛化误差可以分解为:Error f=bias+variance+noise,其中偏差刻画了算法本身的拟合能力,方差度量了同样大小的数据集发生变化时所导致的学习器的变动,噪声表达了当前任务上任何算法所能达到的泛化误差的下界,即任务本身的难度。偏差-方差分解说明了,泛化性能是由学习算法的能力、数据的充分性和学习任务本身难度所决定。

2.欠拟合与过拟合

欠拟合与偏差相关,当偏差过大时,即模型的训练误差过大,模型就处于欠拟合状态,此时模型没法很好的拟合你的训练数据。过拟合与方差相关,当方差过大时,即训练误差与测试误差相差过大,模型就处于过拟合状态,此时模型可能很好的适应你的训练数据,但不能在新数据上表现很好。

2.1处理欠拟合

当确定模型处于欠拟合状态时,可以(1)提高模型的复杂度,比如将低阶模型换为高阶模型、尝试更复杂的模型,减小正则化的影响,尝试集成学习,或(2)对数据进行变换,将低位数据映射为高维数据,在高维空间中进行学习。

2.2处理过拟合

当模型处理过拟合时,可以从模型、数据、噪声入手解决。(1)从模型角度,降低模型复杂度,比如从高阶模型转化为低阶模型、尝试复杂度小的模型、增加正则化的影响、尝试集成学习。(2)数据角度,可以对数据进行降维、特征选择、增加数据量。(3)噪声角度,较小噪声的影响,比如在神经网络的训练中,可以人为的在输入层增加噪声或做标签平滑。

猜你喜欢

转载自www.cnblogs.com/iec269/p/9433780.html