最近我接触到这个术语,但真的不知道它是什么。我在网上搜索了一下,但收获很少。谢谢。
取一份你在周六早上醒来的时间样本。有些周五晚上你喝了太多酒,所以你很早就醒来了(但又回去睡觉)。其他日子你会在正常时间醒来。还有一些日子你会睡懒觉。
下面是结果:
[3.1, 4.8, 6.3, 6.4, 6.6, 7.3, 7.5, 7.7, 7.9, 10.1]
你通常几点钟起床?
那么这是6.8(点,或6:48)点。对我来说有点早。
这个预测的准确率如何?你能量化你可能出错的程度吗?
这是一个相当小的样本,我们不确定潜在过程的分布,因此使用标准参数统计技术可能不是一个好主意†。
为什么我们不随机抽取样本,然后计算均值并重复呢?这将给我们一个我们估计错误程度的估计。
我做了这件事几次,平均值在5.98到7.8之间。
这被称为bootstrap,它在1979年首次被Bradley Efron提出。
一种变体被称为jackknife,其中你对数据集中除一个之外的所有数据进行抽样,计算平均值并重复。jackknife的平均数是6.8(与算术平均数相同),范围从6.4到7.2。
另一种变体被称为k-fold交叉验证,其中你将数据集(随机)分为k个大小相等的部分,计算除一个部分外的所有部分的平均值,并重复k次。5倍交叉验证均值为6.8,范围为4到9。
† 这个分布恰好是正态分布。均值的95%置信区间为5.43至8.11,相对接近但大于Bootstrap平均值。
如果你没有足够的数据来训练你的算法,你可以通过(均匀地)随机选择项目并复制它们(使用替换)来增加你的训练集大小。
在机器学习中,引导是对已知数据集进行迭代训练。http://en.wikipedia.org/wiki/Bootstrapping_(machine_learning)