做者:无影随想
时间:2016年1月。
出处:https://zhaokv.com/math/2016/01/sample-with-replacement-unique-number.html
声明:版权全部,转载请注明出处html
机器学习不少场景中会用到放回采样,好比bagging方法。采样后的数据集会有一些数据重复,一些数据缺失,从$N$个样本中采样$K$个样本,不一样样本数量的指望为$U(K)=N(1-\left(\frac{N-1}{N}\right)^K)$。怎么来的呢?这里给出简单的证实。dom
首先,显然有$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程序来验证结论的正确性:spa
1 import random, math 2 3 S = set() 4 N = 10000000 5 [S.add(random.randint(1,N)) for i in range(N)] 6 print(len(S), int(N*(1-1/math.e)))
我获得的输出结果为code
1 (6321214, 6321205)
固然,你的运行结果可能和上面有所差异。htm