“Count–Min 是线性 Sketch的一个实例:计数表可写成频率向量经固定随机矩阵的线性映射,而查询时的逐行最小值是施加在摘要之上的非线性解码器。”
形式陈述 ​
代数接口 ​
对Turnstile 流的频率向量,选择随机矩阵或隐式线性映射
两段流频率为
所以机器摘要可逐坐标相加,前提是共享同一矩阵、数值域和坐标编码。
线性只描述状态更新。解码器可以取中位数、求最小值或运行稀疏恢复,因此不必是线性的;摘要维数、误差与失败概率仍需针对 query 单独证明。
直觉
线性摘要只保存频率向量经过固定投影后的坐标。每次更新等于给投影状态加一列,两个分片相加等于先合并频率再投影;解码器可以非线性,因为可合并性要求的是内部状态遵守同一代数,而不是最终估计也必须线性。
例子与边界
CountSketch 状态轨迹 ​
一行 CountSketch 选择桶哈希
更新
若流依次为
空间、种子与数值域 ​
显式矩阵可能有“摘要维数乘宇宙大小”个元素,远超状态预算。实际实现只保存短哈希种子和 sketch 坐标,在更新时由
两个站点若使用
随机保证还要说明流与查询是否在抽取
不是所有可合并摘要都线性 ​
Reservoir sampling 保存样本身份并按到达位置随机替换,滑动窗口依赖时间边界;两条具有相同最终频率向量的流可能需要不同状态,所以它们不能写成只依赖
Misra–Gries 有经过证明的 merge 过程,却要合并计数器后重新压缩,并非严格的向量加法。可合并性要求存在正确组合状态的运算;线性 sketch 是其中代数最简单、但并不覆盖全部摘要的一类。
推论与应用
保证边界 ​
同一个
下界常把 sketch 状态当作一条消息:Alice 对自己的更新得到
参考资料
- Alon, Matias, Szegedy, 1999.
- Cormode, Muthukrishnan, “An Improved Data Stream Summary,” 2005.
- Li, Nguyen, Woodruff, linear sketch lower bounds, STOC 2014.