目录
过拟合与欠拟合
1. 概念
经验误差:模型对训练集数据的误差
泛化误差:模型对测试集数据的误差
泛化能力:模型对训练集以外样本的预测能力就称为模型的泛化能力,追求这种泛化能力始终是机器学习的目标。
过拟合:常常是模型学习能力太强,以至于将训练集单个样本自身的特点都捕捉到,并将其认为是“一般规律”,导致模型泛化能力下降。
欠拟合:常常是模型学习能力较弱,而数据复杂度较高的情况出现,此时模型由于学习能力不足,无法学习到数据集中的一般规律,因而导致泛化能力弱。
2. 过拟合与欠拟合区别
欠拟合在训练集和测试集上的性能都比较差,而过拟合往往能较好地学习训练集数据的性质,而在测试集上的性能较差。在神经网络训练的过程中,欠拟合主要表现为输出结果的高偏差,而过拟合主要表现为输出结果的高方差。
3. 过拟合与欠拟合的产生原因
欠拟合:模型复杂度低,特征量过少
过拟合:(1)建模样本选取有误,样本数量太少,选样方法错误,标签错误等导致选取样本数据不足以代表预定的分类规则
(2)样本噪声干扰过大
(3)假设的模型无法合理存在,或者说假设成立的条件实际并不成立
(4)模型参数过多,模型复杂度过高
(5) 对于决策树模型,如果我们对于其生长没有合理的限制,其自由生长有可能使节点只包含单纯的事件数据或非事件数据,使其虽然完美匹配训练数据,但无法适应其他数据集
(6)对于神经网络模型:a)对样本数据可能存在分类决策面不唯一,随着学习的进行,BP算法使权值可能收敛到过于复杂的决策面;b)权值学习迭代次数足够多,拟合训练数据中的噪声和训练样例中没有代表性的特征
4.过拟合与欠拟合的解决方案
解决欠拟合:
- 增加新特征,考虑加入特征组合、高维特征,来增大假设空间
- 减少正则化参数
- 使用非线性模型
- 集成学习boosting,模型融合
解决过拟合
- 数据层面:数据扩增,即增加训练数据样本;特征工程,筛选组合得到更高质量的特征。
- 模型层面:正则化(L1,L2,树剪枝,XGBoost的正则惩罚项等);选择较简单的模型;集成学习,bagging降低方差
- 其他方法:神经网络dropout:训练时每次随机忽略隐层的某些节点,相当于每次随机从2n个模型中采样选择模型(n为神经元数量);early stopping:迭代次数截断;加入噪声。
正则化
1. 概念
L1正则化和L2正则化可以看做是损失函数的惩罚项,即对损失函数中的某些参数做一些限制。
L1正则化是权值向量w中各个元素的绝对值之和,通常表示为
L2正则化是权值向量中各个元素的平方和再求平方根。通常表示为
p.s.
(1) L1正则化-Lasso回归,L1也称也称“稀疏规则算子”。
相当于为模型添加了一个先验知识:w服从零均值拉普拉斯分布。
拉普拉斯分布:
L1正则表达式:
(2)L2正则化-岭回归or Ridge回归
相当于为模型添加一个先验知识:w服从零均值正态分布
L2正则表达式:
2.L1和L2两种正则化的区别
L1正则化可以产生稀疏权值矩阵,w中会产生很多项为0,即产生一个稀疏模型,稀疏解的好处:计算量、可解释性。
L2正则化:相比于L1正则来说,得到的解比较平滑(不稀疏)。但是同样能够保证解中接近于0(但不是等于0,所以相对平滑)的维度比较多,降低模型的复杂度,从而避免过拟合。
除此之外,L2有唯一解,L1可能不唯一
3.正则化为什么能降低过拟合程度?
正则化是结构风险最小化的一种策略实现。给损失函数加上正则化项,能使新得到的优化目标函数h=f+正则,需要在原损失和正则中做一个平衡。如果还像原来只优化原损失函数的情况下,可能得到一组解比较复杂,使得正则项比较大,那么h不是最优的。因此可以看出加正则项能让解更加简单,通过降低模型复杂度,得到更小的泛化误差,降低过拟合程度。
4.为什么L1正则可以产生稀疏解,而L2不能?
L1图解:
L2图解:
L1惩罚项表示为图1中的黑色菱形,即随着梯度下降法的不断逼近,与菱形第一次产生交点,而这个交点很容易出现在坐标轴上,导致有很多0,进而得到稀疏解。而L2惩罚项为图中黑色圆形,随着梯度下降法的不断逼近,与圆第一次产生交点,而这个交点很难出现在坐标轴上。这就说明了L2正则化不容易得到稀疏矩阵,同时为了求出损失函数的最小值,使得w1和w2无限接近于0,达到防止过拟合的问题。
5.L1与L2的比较分析
(1)鲁棒性
L1的鲁棒性比L2好,L2对异常点比L1更敏感
(2)稳定性
L2比L1更稳定,对于新数据的调整,L1变动很大,L2整体变动不大。
(3)应用场景
L1正则:可以使得一些特征的系数变小,甚至还可以使一些绝对值较小的系数直接变为0,从而增加模型的泛化能力,对于高维特征数据,尤其是线性关系稀疏的,就采用L1正则,或者要在一堆特征中找到主要特征,那么L1正则化更是首选。
L2正则:只要数据线性相关,用线性回归拟合的不是很好,需要正则化,可以考虑使用L2正则。
6. 其他问题
(1)正则化与方差,偏差的关系
当正则化系数很小时,是高方差,训练误差很小,交叉严重误差较大;
当正则化系数很大时,是高偏差,训练误差和交叉验证误差都很大。
待补充...