模型评估与选择
1 留出法
该方法最为简单粗暴,直接将数据集D划分为两个互斥的集和,其中一个作为训练集S,另外一个作为测试集T。该方法需要注意的是,训练/测试集的划分要尽可能保持数据分布的一致性,并且即便在给定训练/测试集的样本比例之后仍然存在多种划分方式对数据集进行分割,这些不同的划分将会导致不同的训练/测试集,因此,模型评估的结果也会有差别。
所以在使用留出法的时候,一般要采用若干次的随机划分,重复进行实验评估后取平均值作为留出法的评估结果。此外我们希望评估的是用D训练出的模型的性能,但是留出法需划分训练集和测试集,这样将会导致一个问题:如果训练集S中包含大部分样本,那么训练出来的模型可能更加接近于用D训练出来的模型,但是由于T比较小,评估结果可能不够稳定准确;反之,如果训练集S比例小,那么训练出来的模型与用D训练出来的模型可能相差甚大。最常见的做法就啊是将2/3~4/5的样本用于训练,剩下的用于测试。
2 交叉验证法
该类方法是目前机器学习中最为常见的评估方法,先将数据集D划分为k的大小相似的互斥子集,每个子集都尽可能保持数据分布的一致性,然后,每次使用k-1个子集的并集作为训练集,剩余的那个子集作为测试集,这样就可以获得k组训练/测试集,从而进行k次训练和测试,最终的返回结果是这k个测试结果的均值。显然,k的取值在这种方法中是关键。为了强调这一点,通常把交叉验证法成为