周志华的《机器学习》第二章的内容概念较多,但理解起来需要补充的内容很多,再次依次对其进行小结。
模型评估对于所要进行实验测试及研究是非常重要的地位,选择哪个模型达到的效果会相差很远,如何进行选择,如何达到预期的效果是我们每一位学习者和研究者值得去学习和研究的。因此在此章节中提供的评估标准及评估方法、度量标准及比较检验的方法讲的不是很细,需要大量补充。
- 误差和拟合的所涉及的概念
误差和精度是两个相对的词语,误差是多少,精度就是1-误差的值
泛化误差(Generalization Error)即真实情况下模型的误差。 模型在测试数据上测试,会得到一个误差,叫测试误差。但其实我们真正想要的是模型在总体上的误差,这就是泛化误差。而测试误差因为采样的关系,与泛化误差是有偏差的。此外,泛化误差也叫out of sample error,这是相对于in sample error讲的。in sample error是指模型在训练数据集上的误差。
拟合与过拟合、欠拟合
过拟合:在训练数据上表现良好,在未知数据上预测时表现差。太过于刻画细节,泛化能力差。
欠拟合:在训练数据和未知数据上表现都很差。模型没有很好地捕捉到数据特征,不能够很好地拟合数据
过拟合:
产生过拟合的原因:
(1) 模型的复杂度太高。比如:网络太深
(2)过多的变量(特征)
(3)训练数据非常少。
解决方法:
(1)尽量减少特征的数量(特征选择)
(2)early stopping
(3)数据集扩增
“有时候不是因为算法好赢了,而是因为拥有更多的数据才赢了。”
(4)dropout
在训练开始时,我们随机地“删除”0.2--0.5的隐层单元,视它们为不存在,经过多次迭代, 直至训练结束,每次都删除0.2--0.5的隐层单元。
(5)正则化包括L1、L2
正则化会保留所有的特征变量,但是会减小特征变量的数量级。正则化就是使用惩罚项,通过惩罚项,我们可以将一些参数的值变小。通常参数值越小,对应的函数也就越光滑,也就是更加简单的函数,因此不容易发生过拟合问题。
(6)清洗数据。
欠拟合:
产生欠拟合的原因:
因为模型不够复杂而无法捕捉数据基本关系,导致模型错误的表示数据。
解决办法:
1)添加其他特征项
2)添加多项式特征
例如将线性模型通过添加二次项或者三次项使模型泛化能力更强
3)减少正则化参数
正则化的目的是用来防止过拟合的,但是现在模型出现了欠拟合,则需要减少正则化参数。
参考文献:
1.https://www.zhihu.com/question/22944553