泛统计理论初探——模型评估的验证策略

数据挖掘-模型验证策略简介

模型评估的验证策略简介
在数据挖掘和机器学习的过程中,我们需要对使用的模型的预测效果进行评估,有时候由于测试集或者验证集选择的不够好或是数据本身的样本就非常少,导致了模型的评估不够准确。下面我们将介绍使用的较多的三种模型评估的验证策略,即K折交叉验证、留一法、自助法。
在拿到一份数据后,传统的方法会把数据分为1个训练集与1个测试集,然后在训练集上调试模型,把模型拿到测试集上去测试,得到一个模型的预测准确率的值。而K折交叉验证方法是把数据随机分为K份,然后用其中的K-1份进行训练,剩下的1份进行测试,得到1个预测准确率的值,然后重复K次,将K个预测准确率值求平均,得到最终该模型的预测准确率。
在这里插入图片描述
上图是以K折交叉方法的一种,即10折交叉验证方法。我们看到数据是均匀分为10份,每次取9份数据做训练集和1份数据做测试集,得到10个结果后取平均值,然后得到最终的模型预测准确率。
对于小样本的情况,比如数据可能只有几十条甚至只有十几条,这个时候使用留一法会比较有效果,因为可以保证每个样本都被当作测试集验证过,而在K折交叉方法中,可能有一小部分的样本从未被当作测试集使用过。而留一法是K折交叉方法的一种特殊情况,即这个时候取K为样本数量。比如有20条数据,这个时候使用留一法就是K取20的K折交叉验证方法,每次都取19条数据进行模型的训练集,1条数据做模型的预测集,如此便可以充分利用每一条数据。在样本量较大的情况,一般不采用留一法。
自助法是一种随机抽取的方法,即该方法不是一次性选出训练集的,而是每次随机的从整个数据集(比如有N条数据)抽取1条数据,记录后进行放回。然后再继续抽,直到抽取次数达到了N次后得到N个样本的数据,但由于其中是存在重复数据的,去除重复后,训练集的占比约占63.2% ,而测试集的占比约占36.8% 。因为当N取值较大的时候,得到如下公式:
在这里插入图片描述
下面通过例子对自助法进行说明,比如当前有10条数据,记作0、1、2、3、4、5、6、7、8、9的标号,我们进行10次抽取,如下表:

0号 1号 2号 3号 4号 5号 6号 7号 8号 9号
2次 未中 1次 未中 1次 2次 未中 3次 未中 1次

根据上表我们可以发现,7号抽中了3次、0号和5号抽中了2次、2号、4号、9号抽中了1次,而1号、3号、6号、8号未被抽中。所以我们把1、3、6、8作为数据的测试集;0、2、4、5、7、9作为数据的训练集。训练集占总数据的比例为60%、测试集占总数据的比例为40% ,即和之前的公式得到的比例较为接近。
值得注意的是,自助法的好处是用于那种数据分布较为平均,并且样本量较小的情况。对于那些分布明显不平衡的数据,或是数据量较大的情况,使用自助法并不合适。自助法由于无法完全利用数据,所以除非数据量极小,否则一般不太使用。
总的来说,使用什么样的模型评估验证策略主要取决于数据量的多少和数据分布的均衡性。如果数据量较小,并且数据分布的较为均衡,则可以使用自助法。如果数据量较小,又想对数据充分利用,那么可以使用留一法。当数据量较大的时候,检验使用K折交叉验证方法,但是要主要K值的选取,当数据量较大的时候应当适当减小K值,比如设为5、10等。初学者对于模型评估的验证策略要多加注意,对于不同的情况使用不同的验证策略。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章