zoukankan      html  css  js  c++  java
  • 概率算法:HyperLogLog

    参考:https://www.jianshu.com/p/55defda6dcd2

    概率算法


    实际上目前还没有发现更好的在大数据场景中准确计算基数的高效算法,因此在不追求绝对准确的情况下,使用概率算法算是一个不错的解决方案。

    概率算法不直接存储数据集合本身,通过一定的概率统计方法预估基数值,这种方法可以大大节省内存,同时保证误差控制在一定范围内。

    目前用于基数计数的概率算法包括:

    1. Linear Counting(LC):早期的基数估计算法,LC在空间复杂度方面一般,实际上LC的空间复杂度与简单bitmap方法是一样的(但是有个常数项级别的降低),都是O(Nmax);
    2. LogLog Counting(LLC):LogLog Counting相比于LC更加节省内存,空间复杂度只有O(log2(log2(Nmax)))
    3. HyperLogLog Counting(HLL):HyperLogLog Counting是基于LLC的优化和改进,在同样空间复杂度情况下,能够比LLC的基数估计误差更小。
  • 相关阅读:
    AutoMapper使用
    C#网络编程
    ASP.NET MVC (Razor)开发
    React的React Native
    WCF搭建
    异步编程
    Async和Await进行异步编程
    C#开发中使用配置文件
    NET转Java
    net 开源组件
  • 原文地址:https://www.cnblogs.com/muzhongjiang/p/15166487.html
Copyright © 2011-2022 走看看