@wxlinzju
2017-03-26T13:24:08.000000Z
字数 1273
阅读 790
机器学习
分类错误的样本占样本总数的比例称为“错误率”,即m个样本中有a个错误样本,则错误率:E=a/m;相应的,1-a/m称为“精度”。
学习器的实际预测输出与样本的真实输出之间的差异称为“误差”,在训练集上的误差称为“训练误差”,在新样本上的误差称为“泛化误差”。
但学习器把训练样本学得“太好了”的时候,很可能已经把训练样本自身的一些特点当做了所有潜在样本都会具有的一般性质,这样就会导致泛化性能下降,这种现象称为“过拟合”。与“过拟合”相对的是“欠拟合”,这是指对训练样本的一般性质尚未学好。
需使用一个“测试集”来测试学习器对新样本的判别能力,然后以测试集上的“测试误差”作为泛化误差的近似。通常我们假设测试样本也是从样本真实分布中独立同分布采样而得。但需注意的是,测试集应该和训练集尽可能互斥。
数据集划分的方法
- 1.留出法:直接将数据集D划分为两个互斥的集合,其中一个集合作为训练集S,另一个作为测试集T,即, 。在S上训练处模型后,用T来评估其测试误差。
- 2.交叉验证法: 先将数据集D 划分为k个大小相似的互斥子集,也就是,相交是空集。每个子集Di都尽可能保持数据分布的一致性,即从D中通过分层采样得到。然后每次都用k-1个子集的并集作为训练集,余下的那个子集作为测试集;这样就可获得k组训练/测试集,从而可进行k次训练和测试,最终返回的是这K个测试结果的均值。显然,交叉验证法评估结果的稳定性和保真性在很大程度上取决于K的取值,通常把交叉验证法称为“k折交叉验证”。k的取值最常用的是10,此时称为10折交叉验证。
- 3.“自助法”(bootstrapping):给定包含m个样本的数据集D,我们对它进行采样产生数据集D',每次随机从D中挑选一个样本,将其拷贝放入D',然后再将样本放回初始数据集D中,使得该样本在下次采样时仍有可能被采到;这个过程重复执行m次后,我们就得到了包含m个样本的数据集D’,这就是自助采样的结果。显然,D中有一部分样本会在D'分钟多次出现,而另一部分样本不出现。可以做一个简单的估计,样本在m次采样中始终不被采到的概率为:
即通过自助采样,初始采样D中约有36.8%的样本未出现在采样数据集D'中,于是我们可以将D'用作训练集,D\D'用作测试集。- 自助法在数据集较小、难以有效划分训练/测试集时很有用;此外,自助法能从初试数据集中产生多个不同的训练集,这对集成学等方法有很大的好处。然而,自助法产生的数据集改变了初始数据集的分布,这会引入估计偏差。因此,在初始数据量足够时,留出法和交叉验证法更常用一些.
调参与最终模型
数据集 | 目的 |
---|---|
训练数据集 | 训练参数 |
验证数据集 | 模型选择与结构化参数 |
测试数据集 | 泛化能力 |