机器学习模型的误差与过拟合
机器学习原理与实践(开源图书)-总目录,建议收藏,告别碎片阅读!
误差按其来源可分为模型误差、测量误差、截断误差和舍入误差。由模型的局限性引起的误差称为模型误差。
1 模型误差
对于机器学习模型,其核心任务是要能对新出现的数据样本准确进行预测,样本准确度的度量可以用模型误差来度量,模型误差一般不是来自新数据的误差而是训练数据的误差。一般机器学习模型倾向于完美的拟合训练数据,而忽略了对新数据的预测准确度缺乏关注。可以采用Adjusted R2和信息论方法测量模型误差。
1.1 使用Adjusted R2
R2被广泛用于衡量模型的拟合程度。首先对模型进行训练,然后计算每个训练数据实际值与预测值的差,将这些差的平方和相加,然后与零模型的预测误差平方和做对比。零模型用训练数据集目标字段的的平均值作为预测值。零模型可以看做最简单的预测模型,以此作为基准来评价其它模型的效果。
1.2 信息论方法
当然我们是无法获知真实模型的(真正产生训练数据的实际模型),但是在一些前提下我们仍然有办法估计模型的信息丢失程度。信息丢失越多,则模型误差越高,效果越差。
信息论方法假设模型是一个参数模型(parametric model)。在这个前提下,我们可以根据参数和数据来定义训练数据的似然率(likelihood),不严格的说,似然率是指观测到的这组训练数据出现的概率4。如果我们调整参数使得这组数据的似然率最大,则得到这组参数的最大似然估计。于是我们就可以利用信息论的方法来比较不同模型和它们的复杂度,以此确定哪个模型最接近真实模型。
2 如何避免参数过拟合
过拟合(overfitting)是指在模型参数拟合过程中的问题,由于训练数据包含抽样误差,训练时,复杂的模型将抽样误差也考虑在内,将抽样误差也进行了很好的拟合。具体表现就是最终模型在训练集上效果好;在测试集上效果差。模型泛化能力弱。
2.1 增加数据集的数量
训练数据不足时数据过拟合(overfitting)的原因之一。增加训练数据的数量,提高训练数据的质量,增强训练数据等方式均可以解决由于训练数据不足引起的数据过拟合(overfitting)现象。
2.3 优化机器学习算法的参数
由于机器学习算法的参数设置的问题,引起的过拟合现象。可以采用以下方法解决:(1) 原理分析,再次选择合适的算法参数;(2) 交叉验证,从一组典型参数中,交叉验证,优中选优; (3) 限制训练时间,训练时间过长,模型学习到了过多的细节特征,造成泛化能力下降; (4) 采用正则化方式限制权值; (5) 对训练数据增加噪声,提高泛化能力; (6) 使用Dropout函数,每次以随机概率忽略一些数据。
思考题: 什么是正则化和范数,L1,L2,L3正则化的表达式如何定义?
2.3 多模型融合
单个机器学习模型的鲁棒性和泛化能力有限,选择复合型模型有助于提高机器学习模型的泛化能力,避免过拟合。复合型模型包括:Bagging, Boosting算法。
系列文章
参考文献
- [1] 周志华. 机器学习. 清华大学出版社. 2016.
- [2] [日]杉山将. 图解机器学习. 人民邮电出版社. 2015.
- [3] 佩德罗·多明戈斯. 终极算法-机器学习和人工智能如何重塑世界. 中信出版社. 2018.