日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

解读Cardinality Estimation算法(第四部分:HyperLogLog Counting)

發布時間:2025/3/20 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 解读Cardinality Estimation算法(第四部分:HyperLogLog Counting) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在前一篇文章中,我們了解了LogLog Counting。LLC算法的空間復雜度為O(log2(log2(Nmax))),并且具有較高的精度,因此非常適合用于大數據場景的基數估計。不過LLC也有自己的問題,就是當基數不太大時,估計值的誤差會比較大。這主要是因為當基數不太大時,可能存在一些空桶,這些空桶的ρmaxρmax為0。由于LLC的估計值依賴于各桶ρmax的幾何平均數,而幾何平均數對于特殊值(這里就是指0)非常敏感,因此當存在一些空桶時,LLC的估計效果就變得較差。

這一篇文章中將要介紹的HyperLogLog Counting及Adaptive Counting算法均是對LLC算法的改進,可以有效克服LLC對于較小基數估計效果差的缺點。


評價基數估計算法的精度

首先我們來分析一下LLC的問題。一般來說LLC最大問題在于當基數不太大時,估計效果比較差。上文說過,LLC的漸近標準誤差為,看起來貌似只和分桶數m有關,那么為什么基數的大小也會導致效果變差呢?這就需要重點研究一下如何評價基數估計算法的精度,以及“漸近標準誤差”的意義是什么。

標準誤差

首先需要明確標準誤差的意義。例如標準誤差為0.02,到底表示什么意義。


組合計數與漸近分析

Adaptive Counting

Adaptive Counting(簡稱AC)在“Fast and accurate traffic matrix measurement using adaptive cardinality counting”一文中被提出。其思想也非常簡單直觀:實際上AC只是簡單將LC和LLC組合使用,根據基數量級決定是使用LC還是LLC。具體是通過分析兩者的標準差,給出一個閾值,根據閾值選擇使用哪種估計。

基本算法


誤差分析

因為AC只是LC和LLC的簡單組合,所以誤差分析可以依照LC和LLC進行。值得注意的是,當β<0.051時,LLC最大的偏差不超過0.17%,因此可以近似認為是無偏的。

HyperLogLog Counting

HyperLogLog Counting(以下簡稱HLLC)的基本思想也是在LLC的基礎上做改進,不過相對于AC來說改進的比較多,所以相對也要復雜一些。本文不做具體細節分析,具體細節請參考“HyperLogLog: the analysis of a near-optimal cardinality estimation algorithm”這篇論文。

基本算法

HLLC的第一個改進是使用調和平均數替代幾何平均數。注意LLC是對各個桶取算數平均數,而算數平均數最終被應用到2的指數上,所以總體來看LLC取得是幾何平均數。由于幾何平均數對于離群值(例如這里的0)特別敏感,因此當存在離群值時,LLC的偏差就會很大,這也從另一個角度解釋了為什么n不太大時LLC的效果不太好。這是因為n較小時,可能存在較多空桶,而這些特殊的離群值強烈干擾了幾何平均數的穩定性。

因此,HLLC使用調和平均數來代替幾何平均數,調和平均數的定義如下:

偏差分析

分段偏差修正

小結

本文首先介紹了基數估計算法標準誤差的意義,并據此說明了為什么LLC在基數較小時效果不好。然后,以此介紹了兩種對LLC的改進算法:HyperLogLog Counting及Adaptive Counting。到此為止,常見的四種基數估計算法就介紹完了。

總結

以上是生活随笔為你收集整理的解读Cardinality Estimation算法(第四部分:HyperLogLog Counting)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。