博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
放回采样最终不同样本数量
阅读量:4652 次
发布时间:2019-06-09

本文共 857 字,大约阅读时间需要 2 分钟。

作者:无影随想 

时间:2016年1月。 
出处:https://zhaokv.com/math/2016/01/sample-with-replacement-unique-number.html
声明:版权所有,转载请注明出处

 

机器学习很多场景中会用到放回采样,比如bagging方法。采样后的数据集会有一些数据重复,一些数据缺失,从$N$个样本中采样$K$个样本,不同样本数量的期望为$U(K)=N(1-\left(\frac{N-1}{N}\right)^K)$。怎么来的呢?这里给出简单的证明。

首先,显然有$U(1)=1$;其次,设从$N$个样本中采样$k-1$个样本,不同样本数量的期望为$U(k-1)$,则第$k$个样本是未曾抽到的样本的概率为$1-\frac{U(k-1)}{N}$,所以$U(k)=1+\frac{N-1}{N}U(k-1)$$=1+\frac{N-1}{N}+\left(\frac{N-1}{N}\right)^2+\cdots+\left(\frac{N-1}{N}\right)^{k-1}$,根据求和公式得$U(K)=N(1-\left(\frac{N-1}{N}\right)^K)$。

对于一种特殊情况,当$K=N$且$N$足够大时,则有最终不同样本数量是原始样本数量的期望为$(1-\frac{1}{e})$,大约是$\frac{2}{3}$。

可以通过一段Python程序来验证结论的正确性:

1 import random, math2  3 S = set()4 N = 100000005 [S.add(random.randint(1,N)) for i in range(N)]6 print(len(S), int(N*(1-1/math.e)))

我得到的输出结果为

1 (6321214, 6321205)

当然,你的运行结果可能和上面有所差别。

转载于:https://www.cnblogs.com/zhaokui/p/5147424.html

你可能感兴趣的文章
js 表单非空验证
查看>>
WebSocket是什么原理,为什么可以实现持久连接
查看>>
关于for of循环的用法和使用
查看>>
oracle的行转列和列转行
查看>>
AOJ 2249 Road Construction(Dijkstra+优先队列)
查看>>
BZOJ 1098 [POI2007]办公楼biu(反向图bfs+并查集优化)
查看>>
文件操作+函数基础day09
查看>>
ssh无密码登录设置方法以及出现问题 ECDSA host key 和IP地址对应的key不同的解决...
查看>>
Hibernate和MyBatis的对比
查看>>
Loadrunner 11 对Windows操作系统和浏览器的要求
查看>>
Python学习day8(文件操作)
查看>>
为什么 jmeter 分布式测试,一定要设置 java.rmi.server.hostname
查看>>
ASP.NET MVC5 网站开发实践(二) Member区域 - 用户部分(1)用户注册
查看>>
pandas介绍及环境部署
查看>>
压缩解压命令流
查看>>
php yii Redis实现并发锁
查看>>
smyfony2-curd-数据库创建
查看>>
[Android]File-Output和InputStream的存取
查看>>
开发环境的坑
查看>>
站点高可用方案例子
查看>>