模型评估与选择
经验误差与过拟合
Error rate (错误率) E=a/m
如果m个样本有a个样本分类错误
Accuracy rate (精度) 精度=1-错误率
学习器在训练集上的误差称为“训练误差”或“经验错误”,新样本上的误差称为“泛化误差”
过拟合:训练器把训练样本学得“太好了”的时候,很可能已经把训练样本自身的一些特点当作了所有潜在样本都会具有一般性质,这样就会导致泛化性能下降。这种现象称之为过拟合。
欠拟合:指对训练样本的一般性质尚未学好,即高密度特征学习的不够。
学习能力是否“过于强大”,是由学习算法与数据内涵共同决定。
欠拟合解决方法:
(1)决策树学习中扩展分支
(2)学习神经网络中可以增加训练轮
数
过拟合解决方法:
(1)有效的学习算法在多项式时间内运行完成,若可以彻底避免过拟合,则通过经验误差最小化就能获最优解。
(2)采用更多的有效特征也可!
评估方法
1.留出法
留出法 (hold-out)直接将数据集D划为两个互斥的集合,其中一个集合作为训练集S,另一个作为测试集T,即D=S∪T,S∩T=Φ,在S上训练出模型后,用T来评估测试误差,作为泛化误差的估计。
2.交叉验证法
先将数据集D划分为k个大小相似的互斥子集,即D=D1∪D2∪D3…∪Dn,每个子集Di都尽可能保持数据分布的一致性。即从D中通过分层取样得到,然后用k-1个子集作为训练集,余下的作为测试集。从而可以进行k次训练和测试,最终返回k个测试结果的均值,故交叉验证法的评估结果的稳定性和保真性极大程度依赖于k的取值。
如下顺序划分:
测试结果为各测试集加和求平均返回结果。
讲一下一个特殊的交叉验证法:留一法(Leave-One-Out LOO)
数据集有m个样本,划分为k个子集,k=m,留一法使用的训练集必初始训练集少一个样本,因此,留一法在绝大多数情况下评估结果相对准确,但是模型数量一旦很大时(模型未考虑调参),评估结果则未必时最准确的(NFL定理)
自助法
直接以自主采样法(bootstrap sampling)为基础。
给定包含m个样本的数据集D,我们对他进行采样并返回D1;
每次从D中挑选一个样本,将其放入D1,然后将该样本返回初始数据集D中,是的样本下次采样时仍然可能被采到,重复m次
求极限为
自助法适合小样本训练,而且由于要将初始数据集分割为多个小数据集,这对集成学习有很大帮助。
调参
所谓调参,就是参数调节,一种改进模型得基本操作
调参过程应该考虑以下几个步骤:
1、参数工程量的复杂度
2、改进训练步长step
3、计算开销,折中逼近目标参数