过拟合(overfitting)
过拟合指的是模型在训练集上表现的很好,但是在训练集外的数据集上(e.g.,交叉验证集和测试集)表现一般,也就是说模型对对新数据的预测表现一般,泛化(generalization)能力较差。
产生原因
a.训练数据过少或存在噪音,无法对整个数据的分布进行估计
b.特征维度过多,求解模型中没有那么多的特征值得重用
c.在对模型进行过度训练(overtraining)时,常常会导致模型的过拟合
解决办法
数据清洗、增加训练集、early stopping、数据集扩增(Data augmentation)、正则化(Regularization)、Dropout(神经网络)
欠拟合(underfitting)
过拟合指的是模型没有很好地捕捉到数据特征,导致拟合的函数在训练集上表现效果差,预测的准确率低。
产生原因
解决办法
1.添加其他特征项(e.g.,“组合”、“泛化”、“相关性”),模型出现欠拟合的时候是因为特征项不够导致的,可以添加其他特征项来很好地解决。
2.添加多项式特征,例如将线性模型通过添加二次项或者三次项使模型泛化能力更强
3.减少正则化参数,正则化的目的是用来防止过拟合的,当模型出现了欠拟合,则需要减少正则化参数。
判定
从训练集中随机选一部分作为一个验证集,采用K折交叉验证的方式,用训练集训练的同时在验证集上测试算法效果。在缺少有效预防欠拟合和过拟合措施的情况下,随着模型拟合能力的增强,错误率在训练集上逐渐减小,而在验证集上先减小后增大;当两者的误差率都较大时,处于欠拟合状态(high bias, low variance);当验证集误差率达到最低点时,说明拟合效果最好,由最低点增大时,处与过拟合状态(high variance, low bias)。下图的横坐标用拟合函数多项式的阶数笼统地表征模型拟合能力:
模型的Error = Bias + Variance
Error反映的是整个模型的准确度
Bias描述的是模型预测值(估计值)的期望与样本真实值之间的差距。偏差越大,越偏离真实数据。
反映了模型对训练集的拟合程度。
Variance描述的是预测值的变化范围,离散程度,也就是离其期望值的距离。方差越大,数据的分布越 分散。反映了模型的稳定性。
来源:51CTO
作者:MYHuge
链接:https://blog.csdn.net/MYHuge/article/details/101195581