过拟合:学习训练集过于充分,导致模型过度复杂,对训练集有很高的准确性,但对未知样本的预测能力较差,泛化能力很差。
解决:限制模型复杂度,增加正则化,增加训练样本,Dropout
欠拟合:算法学习过程中未充分学习到数据的内在规律,导致学习的模型出现很大的偏差,预测准确率不高。
解决:增加模型复杂度,增加迭代次数,对于随机树可以增加树的深度和叶子节点个数。
如何判断模型是否过拟合:
1.比较模型对验证集和训练集的识别精度,如果验证集识别精度明显小于训练集,则过拟合。
2.训练集的代价函数快速下降至0附近。
3.样本个数比特征数少时,容易出现过拟合(高维小样本情况)。
正则化的目的:防止过拟合,提高泛化能力。能够显著减小方差,而不过度增加偏差的策略。
选择经验风险与模型复杂度同时较小的模型。
例如:扩增样本集,Dropout,对抗训练。
可以从以下几个方面理解:
1.正则化等于结构风险最小化,它是通过在经验风险项加上表示模型复杂度的正则化或惩罚项,达到选择经验风险和模型复杂度都较小的模型的目的,即在保证模型训练精度,又降低了模型的复杂度,提高泛化能力。
2.正则化等价于带约束的目标函数中的约束项(拉格朗日算子)
3.贝叶斯角度,正则化等价于引入参数的模型先验概率。
风险:模型与真实解之差的误差积累。
经验风险:使用训练出来的模型进行预测和分类,存在较大的误差,可以简单理解为训练误差,经验风险最小化即训练误差的最小化。
结构风险:经验风险和置信风险(置信可以指可信度)的和。置信风险越大,模型泛化能力越弱。可以认为结构风险是经验风险加上一项表示模型复杂度的函数。
经验风险:训练集中样本损失函数最小。 局部最优 可实现的
期望风险:所以样本点损失函数最小。 全局最优 不可实现的 所以:用局部最优代替全局最优
泛化能力:该方法学习到的模型对未知数据的预测能力。 泛化误差反映了学习方法的泛化能力强弱,泛化误差越小,泛化能力越强。事实上,泛化误差就是所学习到的模型的期望风险了。
正则化也称为规则化,权重衰减技术,数学上称为范数:
L0范数:表示像两种非零元素的个数(稀疏度)
L1范数:向量元素的绝对值之和。
L2范数:向量元素绝对值的平方和再开方,也称欧几里得距离。
注意:L2范数空间为一个圆,与元代价函数的解空间的交点所得参数可以无限缩小,但一定不会为0。而L1范数空间为一个矩形,与原代价函数解空间的交点一定在坐标轴上,故会有稀疏解。L0范数作为正则,(L0范数在坐标轴上)也一定会有稀疏解,在一般实际中,用L1代替L0范数,稀疏解越多,越少的参数需要被理解,模型复杂度越低,泛化能力越强。
正则化的贝叶斯推断:
整个优化问题从贝叶斯观点来看就是一种“贝叶斯最大后验估计”。其中正则项相当于后验估计中的“先验信息”,损失函数对应后验估计中的“似然函数”,最大后验概率估计就是在最大似然估计函数上乘一项先验分布而已。最大后验估计可以看作正则化的最大似然估计(结构风险)。
正则化的应用:
逻辑回归
本质:求最大似然估计 一般采用L2正则
似然函数 对数函数 代价(损失)函数 正则化的代价函数 (正则化是针对损失函数,不是似然函数,故需要将似然函数取负转为损失函数,然后在加上正则化项) 最大化似然函数,最小化损失函数。