基础数学知识-大数据问题

大数据问题


文章目录

  • 大数据问题
    • 1. 数据流采样
      • K = 1 时
      • K > 1 时
    • 2. 基数统计
      • 1. HashSet
      • 2. bitmap
      • 3. Linear Counting
      • 4. Loglog Counting
      • 5. HyperLogLog Counting
    • 3. 频率估计
      • 1. HashMap
      • 2. 数据分片 + HashMap
      • 3. Count-Min Sketch
      • 4. Count-Mean-Min Sketch
    • 4. Heavy Hitters
      • 1. HashMap + Heap
      • 2. 多机 HashMap + Heap
      • 3. Count-Min Sketch + Heap
      • 4. Lossy Counting
      • 5. SpaceSaving
    • 5. 范围查询
      • 1. Array of Count-Min Sketches
    • 6. 成员查询 - Bloom Filter
    • 1. 从 N 个数中取 m 个数出来,要求概率相等
    • 2. Top K 问题

1. 数据流采样

  • 问题: 在一个无限的整数数据流,如何从中等概率随机抽取 k 个整数出来? – 采样问题

K = 1 时

抽样方法:

  • 当第一个整数到达时,保存该整数
  • 当第二个整数到达时,以 1 2 \frac{1}{2} 21 的概率使用该整数替换第一个整数,以 1 2 \frac{1}{2} 21 的概率丢弃该整数
  • 当第 i 个整数到达时,以 1 i \frac{1}{i} i1 的概率使用第 i 个整数替换被选中的整数, 以 1 − 1 i 1 - \frac{1}{i} 1i1 的概率丢弃 第i个整数

归纳法 - 验证分析

  • n = 1 时, 被选中的概率为 100%, 成立
  • n = m , m ≥ 1 n = m , m \ge 1 n=m,m1 时,命题成立,即前 m 个数,每一个被选中的概率为 1 m \frac{1}{m} m1
  • 当 $ n = m + 1 $ 时, 第 m + 1 个数被选中的概率为 1 m + 1 \frac{1}{m+1} m+11, 前 m 个数被选中的概率为 1 m ∗ ( 1 − 1 m + 1 ) = 1 m + 1 \frac{1}{m} * (1-\frac{1}{m+1}) = \

你可能感兴趣的:(面试题,大数据)