过拟合Overfitting与 正规化Regularization
- 过拟合:
Overfitting就是指Ein(在训练集上的错误率)变小,Eout(在整个数据集上的错误率)变大的过程
Underfitting是指Ein和Eout都变大的过程
从上边这个图中,虚线的左侧是underfitting,右侧是overfitting,发生overfitting的主要原因是:使用过于复杂的模型,数据噪音,有限的训练集
- 机器学习过程中的三个锦囊妙计
Occam's Razor:指的是对训练数据最简单的解释就是最好的,训练的模型可能越简单越好。
Sampling Bias:抽样是有偏差的,解决方案是:训练集合测试集来自于同一个部分。
Data Snooping:在实际操作时,如果做什么决定的时候尽量要避免用数据来做决定,要先把domain knoeledge变成feature放进去,而不是看完数据再放专业知识进去
- 正则化-Regularization
正则化公示的推到过程:
发生overfitting的一个重要原因是假设过于复杂,而我们需要的是一个稍微简单的模型来学习,避免overfitting,例如,原来假设空间是10次曲线,很容易对数据过拟合,我们希望的是他变的简单一点 比如w向量只保持三个分量,如下图
根据先前的知识,可知,H2包含于H10,可得如下公式:
即H2 是H10的一部分,并且是将w3... w10都设置为0,此时我们得到的是一个多项式,在这个多项式中,只有3个系数,此时达到了简化的目的,避免了过拟合的发生。下图是一个转化简图,这个时候只需要找到最优的H2即可。