自助采样包含训练集里63.2%的样本?

自助采样包含训练集里63.2%的样本?

在学习随机森林的时候,经常会看到这么一句话“ 自助采样法给bagging带来的好处就是:由于每个学习器只是使用了%63.2的数据,剩下的约%36.8的样本可以用作验证集来对泛化性能进行“包外估计”。

那么这个63.2%是怎么来的呢?假设我们有n个样本,有放回的进行抽取,那么每个样本不被抽取的概率为\(1 - \dfrac{1}{n}\)。我们需要抽取n轮,那么某个样本一直不被抽到的概率为
\[
p=(1 - \dfrac{1}{n})^n
\]
当n足够大的时候有
\[
p = \lim_{n\to +\infty}(1 - \dfrac{1}{n})^n
\]
这个p该怎么算?实际上在课本里有一个公式
\[
e^x=\lim_{n\to\infty}(1 + \dfrac{x}{n})^n
\]
当x=-1的时候对应着上述的p,由此可得自助采样没有采到的样本大概占整个样本集的\(e^{-1}\),那么自助采样包含训练集里的样本即为\(1 - e^{-1} \approx 0.632 \approx \dfrac{2}{3}\)

原文地址:https://www.cnblogs.com/crackpotisback/p/9849090.html

时间: 2024-10-09 19:31:51

自助采样包含训练集里63.2%的样本?的相关文章

模型训练过程中的训练集、训练开发集、开发集和测试集总结

36.什么时候你应该在不同分布上做训练和测试 当你的猫app已经上传10000张图,你已经人工标记它们有没有猫,同时你有200000张互联网上下载的图,这时你要怎么划分训练开发测试集呢? 当你训练深度学习模型时,可能必须用到那200000张图,那么训练和测试集的分布就不同,这会怎样影响你的工作呢? 当然将210000张图片随机分裂到训练开发测试集是一种方法,但我(吴恩达)不推荐这种方法,记住选择开发测试集的推荐方法是:选择你未来预期会得到的数据来作为开发测试集. 大多数学术文章假设训练开发测试集

机器学习基础:(Python)训练集测试集分割与交叉验证

在上一篇关于Python中的线性回归的文章之后,我想再写一篇关于训练测试分割和交叉验证的文章.在数据科学和数据分析领域中,这两个概念经常被用作防止或最小化过度拟合的工具.我会解释当使用统计模型时,通常将模型拟合在训练集上,以便对未被训练的数据进行预测. 在统计学和机器学习领域中,我们通常把数据分成两个子集:训练数据和测试数据,并且把模型拟合到训练数据上,以便对测试数据进行预测.当做到这一点时,可能会发生两种情况:模型的过度拟合或欠拟合.我们不希望出现这两种情况,因为这会影响模型的可预测性.我们有

利用mnist训练集生成的caffemodel对mnist测试集与自己手写的数字进行测试

从一到二:利用mnist训练集生成的caffemodel对mnist测试集与自己手写的数字进行测试 通过从零到一的教程,我们已经得到了通过mnist训练集生成的caffemodel,主要包含下面四个文件: 接下来就可以利用模型进行测试了.关于测试方法按照上篇教程还是选择bat文件,当然python.matlab更为方便,比如可以迅速把识别错误的图片显示出来. 一.均值文件mean.binaryproto 在进行分类之前首先需要产生所有图片的平均值图片,真正分类时的每个图片都会先减去这张平均值图片

中文文本分类器训练集

sougou还真地道.中文文本分类器训练集下载 http://www.sogou.com/labs/dl/c.html mini版(tar.gz格式) 136Kmini版(zip格式) 167K精简版(tar.gz格式) 24M精简版(zip格式) 30M完整版 107M(由于文件较大,需要注册后获取ftp地址下载)分类编码对照表(txt格式) 138字节

【推荐系统篇】--推荐系统之之特征工程部分---构建训练集流程

一.前述 根据前文中架构,本文我们讨论线下部分构建训练集部分.因为我们离线部分模型的选择是逻辑回归,所以我们数据必须有x和y. 二.具体流程 1.从数据库中分离出我们需要的数据. 用户行为表(日志) 用户历史下载表 商品词表(商品的基本特征) 2.构建训练集中的关联特征 流程: 2.构建训练集中的基本特征 总结:注意特征名离散化因为如果特征不离散化会造成数据之间有关系. 三.具体构建过程 1.hive建表 真实的生产场景涉及到大概五十张表的字段,这里全部简化流程,直接给出最终的三张表: 应用词表

PAT-GPLT训练集 L1-039 古风排版

PAT-GPLT训练集 L1-039 古风排版 注意:在输入字符串时,最后一个字符为'\0', 虽然输出时显示为空格,但是系统检查为'\0'!!! 代码: #include<stdio.h> #include<string.h> char a[1005]; int str[1005][1005]; int n; int main() { for(int i = 0; i < 1005; i++) a[i] = ' '; for(int i = 0; i < 1005;

PAT-GPLT训练集 L1-043 阅览室

PAT-GPLT训练集 L1-043 阅览室 注意:连续的S和E才算一次借还 代码: #include<iostream> #include<cstdio> using namespace std; typedef struct { int id; char record; int m; } P; int main() { int n; scanf("%d", &n); while(n--) { P c[10000]; int id, a, b; cha

交叉验证与训练集、验证集、测试集

一.前言 训练集.验证集和测试集这三个名词在机器学习领域极其常见,但很多人并不是特别清楚,尤其是后两个经常被人混用. 在有监督(supervise)的机器学习中,数据集常被分成2~3个,即:训练集(train set),验证集(validation set),测试集(test set). 二.训练集.验证集.测试集 如果给定的样本数据充足,我们通常使用均匀随机抽样的方式将数据集划分成3个部分——训练集.验证集和测试集,这三个集合不能有交集,常见的比例是8:1:1.需要注意的是,通常都会给定训练集

关于训练集,验证集,测试集的划分

首先需要说明的是:训练集(training set).验证集(validation set)和测试集(test set)本质上并无区别,都是把一个数据集分成三个部分而已,都是(feature, label)造型.尤其是训练集与验证集,更无本质区别.测试集可能会有一些区别,比如在一些权威计算机视觉比赛中,测试集的标签是private的,也就是参赛者看不到测试集的标签,可以把预测的标签交给大赛组委会,他们根据你提交的预测标签来评估参赛者模式识别系统的好坏,以防作弊. 通常,在训练有监督的机器学习模型