机器学习评估方法

1. 评估方法

(1)留出法:

定义:直接将集合划分为两个互斥的集合,其中一个作为训练集合,一个作为测试集合

注意:

       (a)测试集合和训练集合尽可能保持数据分布的一致性,比如要保证正反样本的比例不变(这是一种导致过拟合的原因)

       (b)在给定了训练/测试集合的样本比例之后,仍要存在多种的划分方式,对数据集合D进行分割。毕竟单次的使用留出法的结果往往是不可靠的。一般要采用若干次的随即划分,重复进行实验评估后取得平均值作为留出法的最终评估结果

       (c)训练/测试集合的大小比例问题。测试集合过小,会导致测评结果的方差变大;训练集合过小,会导致偏差过大,一般使用的都是2/3~4/5的样本用于训练

(2)交叉验证法(无放回的重采样)

       交叉验证方法还有一个特例:留一法(Leave-one-out,LOO)。显然留一法不受随即样本划分的影响,因为m个样本只有唯一的方式划分为m个子集,每个子集包含一个样本。由于使用的训练数据集合和初始数据集合相比只是少了一个数据,那么相应训练出来的模型就会很相似,实践认为,留一法的评估结果往往是比较准确的。但是留一法存在性能上的缺陷。比如,m个样本就要训练m个模型,当m比较大的时候,那么就比较麻烦了

优点:

       (a)在处理较小的数据集合的时候我们一般会使用较大的k值来增加,根据NX(1-1/k)较大的k使得在每次的迭代中会有更小的数据bias,但是同时会导致validation的时间变长,而且也会导致high Variance。也可以看出,LOO更适合小数据集上的训练

       (b) 那么数据较大的时候我们一般会使用较小的k值

(3)自助法Bootstrapping(有放回的重采样)

       有放回的随机采样方法。我们可以做一个简单的估计,样本在m次采样的过程中始终不被采到的概率是(1-1/m)^m,对m取极限,得到1/e=0.368。也就是说,通过自助法,初始数据集合中大概有36.38%的样本未出现在采样数据集合D’中,于是我们可以将D‘作为训练集合,剩下的数据作为测试集合,那么我们对这中大概有1/3的样本没在测试集合中出现的测试称作包外估计(out-of-bag estimate)

       优点:

       (a) 数据集合较小,难以有效划分训练/测试集时很有用

       (b) 能从训练集合中产生很多不同的训练集,这对集成学习等方法很有好处

       缺点:

       (a)改变了初始数据的分布,会引入偏差。因此如果初始的数据量足够的时候还是希望使用留出法和交叉验证法比较好

猜你喜欢

转载自blog.csdn.net/afsdfq/article/details/81106095