大数据应用算法作业二
- 证明 Morris 计数器的方差为 O(n2)。请给出详细的证明步骤。
\(X_n:输入为n的计数器的随机变量\ \ \ \ \ \hat{n}=2^{X_n}-1\)
\(Var[\hat{n}]=Var[\hat{n}+1]\)
\(=E[(\hat{n}+1)^{2}]-E[\hat{n}+1]^{2}\)
\(=E[2^{2 X_n}]-(n+1)^{2} \\\)
\(要证E[2^{2 X_n}]=\frac{3}{2}n^{2}+\frac{3}{2}n+1\)
\(E[2^{2 X_n}]=\sum_{X_{n}=i}2^{2i}Pr(X_{n}=i)\)
\(\because Pr[x_{n}=i]=\frac{1}{2^{i-1}}Pr(X_{n-1}=i-1)+(1-\frac{1}{2^{i}})Pr(X_{n-1}=i)\)
\(\therefore E[2^{2X_n}]=\sum_{i}2^{i+1}Pr(X_{n-1}=i-1)+(2^{2i}-2^{i})Pr(X_{n-1}=i)\)
\(=4E[2^{X_{n-1}}]+E[2^{2X_{n-1}}]-E[2^{X_{n-1}}]\)
\(=3E[2^{X_{n-1}}]+E[2^{2X_{n-1}}]\)
\(=3n+E[2^{2X_{n-1}}]\)
\(=3[n+(n-1)+(n-2)+\dots +2+1]+E[2^{2X_{0}}]\)
\(=\frac{3}{2}n^{2}+\frac{3}{2}n+1\)
\(Var[\hat{n}]\approx \frac{1}{2}n^2\)
- 假设有两个数据流 E1 和 E2,其中 E1 包含 n1 个数据,E2 包含 n2 个数据。令 E 为 E1 和 E2 合并后的数据流,即 E={E1, E2}。例如,E1={a, b, a, c},E2={a, b, c, c, d},那么 E= { a, b, a, c, a, b, c, c, d}。考虑两个蓄水池采样算法,分别对数据流 E1 和 E2 进行采样。两个采样算法的蓄水池大小都为 k (k<n1, k<n2),也即对于每个数据流,我们可以得到 k 个均匀的样本。请设计一个样本合并算法将这 2k 个样本进行合并,得到 k 个合并流 E 中的均匀样本?并证明得到的 k 个样本中的任何一个样本数据被抽取的概率为 k/(n1+n2)。
合并算法
重复k次:任取[1,n1+n2]中的一个数i
if 1\(\le\)i and i\(\le\)n1,:
从第一个蓄水池不放回随机挑选一个数据放入总蓄水池
else
从第二个蓄水池不放回随机挑选一个数据放入总蓄水池
1)在蓄水池采样中,每个元素被采样的概率为min{1, \(\frac{k}{n}\)}
由于k<n1, k<n2
所以对于E1和E2中的元素,被采样的概率分别为\(\frac{k}{n1}\),\(\frac{k}{n2}\)
2)在合并过程中
E1中的k个样本被抽取的概率为\(\frac{n1}{n1+n2}\)
E2中的k个样本被抽取的概率为\(\frac{n2}{n1+n2}\)
3)得到的 k 个样本中的任何一个样本数据被抽取的概率为
\(\frac{n1}{n1+n2}\times \frac{k}{n1}=\frac{k}{n1+n2}\)
\(\frac{n2}{n1+n2}\times \frac{k}{n2}=\frac{k}{n1+n2}\)
- 在课程中我们学习过 k-mins MinHash 算法的估计数据流中不同元素的个数 n 的最大似然估计是\(\frac{k}{\sum_{i=1}^{k}s_{i}}\) ,其中 si 表示第 i 个哈希函数得到的最小哈希值。现在我们需要估计1/n,以及 n^3。请推导估计这 2 个量的最大似然估计。
\(f(\{s_i\};n)=\prod_{i=1}^{k} ne^{-ns_i}\)
\(=n^ke^{-n\sum_{i=1}^ks_i}\)
1/n:
\(\mathcal{L} (\{s_i\};\frac{1}{n})=\ln f(\{s_i\};\frac{1}{n})\)
\(=k\ln n-n\sum_{i=1}^{k}s_i\\=-k\ln\frac{1}{n}-\frac{1}{\frac{1}{n}}\sum_{i=1}^{k}s_i\)
\(\frac{\partial\mathcal{L} (\{s_i\};\frac{1}{n})}{\partial(\frac{1}{n})}\)
\(\begin{aligned}&=-k\frac{1}{\frac{1}{n}}+\frac{\sum_{i=1}^{k}s_{i}}{(\frac{1}{n})^{2}}\\&=-kn+n^{2}\sum_{i=1}^{k}s_{i}\end{aligned}\)
\(n^3\):
\(\mathcal{L} (\{s_i\};n^3)=k\ln n-n\sum_{i=1}^{k}s_i\)
\(=\frac{k}{3}\ln n^{3}-(n^{3})^{\frac{1}{3}}\sum_{i=1}^{k}s_i\)
\(\frac{\partial\mathcal{L} (\{s_i\};n^3)}{\partial(n^3)}\)
\(\begin{aligned}&=\frac{k}{3}\frac{1}{n^{3}}-\frac{1}{3}(n^{3})^{-\frac{2}{3}}\sum_{i=1}^{k}s_{i}\\&=\frac{k}{3n^{3}}-\frac{\sum_{i=1}^{k}s_{i}}{3n^{2}}\end{aligned}\)