禁止转载,谢谢!
1、过拟合和欠拟合现象
- 欠拟合(underfitting)模型(在训练集和验证集上都)无法得到较低的训练误差。
- 过拟合(overfitting)模型的训练误差远小于它在验证/测试数据集上的误差。
2、降低欠拟合和过拟合风险常用方法
2.1、降低“过拟合”风险的方法
- 增加数据:更多的样本能够让模型学习到更多有效的特征,减小噪声的影响;或者按照一定的规则来扩充训练数据,比如通过图像的平移、旋转、缩放等方法;
- 降低模型复杂度:调节模型参数,例如在决策树模型中通过控制树的深度,对样本或特征进行采样,控制分裂叶子节点最少样本数,最小gain提升,预剪枝和后剪枝等来控制过拟合;在神经网络中减少网络层数、神经元个数;
- 增加正则化系数:对模型参数添加先验,使得模型复杂度较小,对于噪声以及outliers的输入扰动相对较小;L1会趋向于产生少量的特征,而其他的特征都是0,而L2会选择更多的特征,这些特征都会接近于0;
L1、L2正则化与稀疏性 - 采用集成学习方法:把多个模型集成在一起,来降低单一模型的过拟和风险。一般为bagging和boosting,bagging主要是有放回的抽样从而保证产生多个训练数据集,添加随机性;
2.2、降低“欠拟合”风险的方法
- 添加新特征:当特征不足或者现有特征与样本标签相关性不强时,模型容易出现欠拟合;
- 增加模型复杂度等:简单模型学习能力较差,通过添加模型的复杂度可以使得模型拥有更强的拟合能力,如线性模型中添加高次项,在神经网络中增加网络层数或神经元个数。
- 减小正则化系数:正则化是为了防止过拟合的,但模型出现欠拟合,可以适当减小正则化系数。
3、共线性与过拟合的关联
- 共线性:多变量线性回归中,变量之间由于存在高度相关关系而导致回归估计不
准确。共线性会造成冗余,导致过拟合。 - 解决方法:排除变量的相关性/加入权重正则
4、偏差、方差与欠拟合、过拟合的关联
偏差的定义:
b i s a ( θ ^ m ) = E ( θ ^ m ) − θ bisa(\hat\theta_m) = \mathbb{E}(\hat\theta_m) - \theta bisa(θ^m)=E(θ^m)−θ
其中期望作用在所有数据(看作从随机变量采用得到的)上, θ \theta θ是用于定义数据生成分布的 θ \theta θ的真实值。如果 b i s a ( θ ^ m ) = 0 bisa(\hat\theta_m) = 0 bisa(θ^m)=0,那么估计量 θ ^ m \hat\theta_m θ^m被称为无偏(unbiased)。意味着 E ( θ ^ m ) − θ = 0 \mathbb{E}(\hat\theta_m) - \theta=0 E(θ^m)−θ=0。如果 lim m → + ∞ b i s a ( θ ^ m ) = 0 \displaystyle\lim_{m \rightarrow +\infty}bisa(\hat\theta_m)=0 m→+∞limbisa(θ^m)=0,那么估计量 θ ^ m \hat\theta_m θ^m被称为渐进无偏(asymptotically unbiased)
- 偏差度量了学习算法的期望预测和真实结果的偏离程度,通常是由于对学习算法做了错误的假设所导致的。
- 方差度量了同样大小的训练集的变动所导致的学习性能的变化,刻画了数据扰动(噪声)所造成的影响,通常体现在测试误差相对于训练误差的增量上。
- 一般训练程度越强,偏差越小,方差越大,泛化误差一般在中间有一个最小值,如果偏差较大,方差较小,此时一般称为欠拟合,而偏差较小,方差较大称为过拟合。