slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
研究紹介 #1 PowerPoint Presentation
Download Presentation
研究紹介 #1

Loading in 2 Seconds...

play fullscreen
1 / 23

研究紹介 #1 - PowerPoint PPT Presentation


  • 136 Views
  • Uploaded on

Best Paper. 研究紹介 #1. Finding Frequent Items in Data Streams Graham Cormode (AT&T Labs, USA), Marios Hadjieleftheriou (AT&T Labs, USA). The Frequent Items Problem ?. Item のストリームにおいて、与えられた閾値よりも多く出現する Item を全て見つける 例: Item が TCP パケットなら、 Frequent Items は 人気のある終端 バンド幅を占有しているユーザ

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about '研究紹介 #1' - sylvester-vinson


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

BestPaper

研究紹介#1

Finding Frequent Items in Data Streams Graham Cormode (AT&T Labs, USA), Marios Hadjieleftheriou (AT&T Labs, USA).
the frequent items problem
The Frequent Items Problem?
  • Itemのストリームにおいて、与えられた閾値よりも多く出現するItemを全て見つける
  • 例:
    • ItemがTCPパケットなら、Frequent Itemsは
      • 人気のある終端
      • バンド幅を占有しているユーザ
    • Itemがサーチエンジンクエリなら、Frequent Itemsは
      • 人気のある検索語
  • たくさん目の前を通り過ぎたネタは何か?
slide3
定義
  • Stream S of n items: t1, …, tn.
  • Frequency of item i is fi= |{j|tj= i}|.
  • The exact φ-frequent set is: {i|fi> φn}.
    • もし φ=0.2なら Frequent Set = {i|fi> 2}
    • よって、0.2-Frequent Items =

t1

t2

t3

t4

t5

t6

t7

t8

t9

tn

n=10

→ fi=4

i

t1

A

t2

Z

t3

i

t4

Z

t5

t6

A

t7

P

i

t8

t9

i

Z

t10

φ:ストリーム中に出現する頻度を表す変数

i

A

Z

i

Z

A

P

i

i

Z

出現回数

3回以上

i

Z

slide4
定義(続き)

不可

  • 実際にこの論文が扱うのは…
    • ε-approximate frequent item要件
      • 結果集合Fの全てのiにおいてfi>(φ-ε)nが成り立ち、
      • fi>φnの成り立つ{i|i∉F}は無い
    • 簡単に言うなら
      • 間違い(False Positive)は含んでるかもしれないけど
      • 見落とし(False Negative)は無い

i

A

Z

i

Z

A

P

i

i

Z

φ=0.2(=3回以上出現)

False Positive

False Nagative

Z

i

i

A

Z

Z

A

P

i

frequent item problem
Frequent Item Problem
  • 要件
    • 速い動作
    • 少ない作業領域
    • 正確さ
  • アルゴリズムの分類
    • Counter Based
    • Quantile Based
    • Skeches
slide6
本研究では・・・
  • 可能なアルゴリズム全て実装
  • 一般的なテストベッド上に構築
  • 可能な限り様々な実装方式を採用
    • 様々なデータ形式
    • 様々なアルゴリズム・デザイン
  • 様々なシナリオで何がBestかを調べる
counter based algorithms
① Counter Based Algorithms
  • 特徴
    • Fast
    • Small Space
    • Deterministic
    • Do not Support Deletions
      • 削除のイベント(item)を含むストリームは対象外
majority algorithm boyer
準備:Majority Algorithm (Boyer)
  • 最も頻出なアイテムを探すアルゴリズム
    • カウンターを1として最初のアイテムを保存する
    • 次に同じアイテムが来たらカウンターを1増やす
    • 違うアイテムが来たら…
      • もしカウンターが0でなければ → カウンターを1減らす
      • カウンターが0ならば → カウンターを1として新しいアイテムを保存
    • 最後に保存されていたアイテムがMajority!

ストリーム

カウンタ値・保存アイテム

1

2

1

0

1

0

緑がMajority!

ただし、本研究で扱うのはTop-kを得るアルゴリズム

1 frequent algorithm
#1:Frequent Algorithm

  • 出典
    • E. Demaine, A. L´opez-Ortiz, and J. I. Munro. Frequencyestimation of internet packet streams with limited space. In European Symposium on Algorithms (ESA), 2002.
    • R. Karp, C. Papadimitriou, and S. Shenker.A simplealgorithm for finding frequent elements in sets and bags.ACM Transactions on Database Systems, 28:51–55, 2003.

|T|<k

e.g. Frequent(k=2)

No!

No!

∊ T ?

∊ T ?

i

T=

Yes!

Yes!

1

1

2

1

1

0

カウンタを1増やす

アイテムをカウンタとともにTへ保存

カウンタ0のアイテムはTから削除

Tの全てのアイテムのカウンタを1減らす

A.

2 lossy counting
#2:Lossy Counting

  • 出典
    • G. Manku and R. Motwani. Approximate frequency countsover data streams. In International Conference on Very LargeData Bases, 2002.

home

e.g. LossyCounting(k=2)

e.g. LossyCounting(k=2)

カウンタ値を⊿+1としTに保存

カウンタ値を⊿+1としTに保存

No!

No!

No!

n++

n++

∊ T ?

∊ T ?

Yes!

Yes!

カウンタを1増やす

カウンタを1増やす

Yes!

Yes!

全てのj∊Tに関して

全てのj∊Tに関して

カウンタが⊿未満ならTからアイテムを削除

カウンタが⊿未満ならTからアイテムを削除

⊿=

⊿=

0

0

3

1

2

n=

n=

5

2

3

4

1

0

6

0

T=

T=

3

1

2

2

2

3

A.

home

3 space saving
#3:Space Saving

  • 出典
    • A. Metwally, D. Agrawal, and A. E. Abbadi. Efficientcomputation of frequent and top-k elements in data streams. In International Conference on Database Theory, 2005.

e.g. SpaceSaving(k=2)

|T|<k ?

|T|<k ?

No!

No!

No!

No!

∊ T ?

∊ T ?

i

Yes!

Yes!

Yes!

Yes!

カウンタを1増やす

カウンタを1増やす

最少カウンタ値に1を加えた値⇒

最少カウンタ値に

1を加えた値を得る

2

アイテムをカウンタとともにTへ保存

アイテムをカウンタとともにTへ保存

T=

T=

2

1

3

1

新しいアイテムカウンタ値で最小カウンタアイテムを置換

新しいアイテムカウンタ値で最小カウンタアイテムを置換

A.

slide12
実験
  • VC++, g++
  • データセット
    • Zipfデータ
    • AT&T UDP and TCP backbone traffic
  • 計測
    • 速度
    • スペースコスト
    • Recall, Precision
    • Average Relative Error(ARE):相対誤差の平均値
slide13
実装系

3つのアルゴリズム、計5種類の実装系で計測

  • F: Frequentアルゴリズム
  • LC: Lossy Counting アルゴリズム(⊿なし)
  • LCD: Lossy Countingアルゴリズム
  • SSL: Space Savingアルゴリズム(Linked List実装)
  • SSH: Space Savingアルゴリズム(Heap実装)
speed
結果(Speed)

正誤表:

グラフの縦軸の速・遅が逆

オレンジ色の線の位置

その他、下線部を更新

スピード

Log Scale

φ

Skew

  • FとSSLが速い
  • Linkd List は総じて速い
  • Heapは低skew時に遅い
  • φの影響は殆ど無い

F: Frequentアルゴリズム

LC: Lossy Counting アルゴリズム(⊿なし)

LCD: Lossy Countingアルゴリズム

SSL: Space Savingアルゴリズム(Linked List実装)

SSH: Space Savingアルゴリズム(Heap実装)

slide15
結果(Size)

スピード

サイズ

  • SpaceSavingに関して
    • Heapは小さい
    • Linked Listはφが低い時Heapの二倍

F: Frequentアルゴリズム

LC: Lossy Counting アルゴリズム(⊿なし)

LCD: Lossy Countingアルゴリズム

SSL: Space Savingアルゴリズム(Linked List実装)

SSH: Space Savingアルゴリズム(Heap実装)

recall
結果(Recall)

再現率

Log Scale

φ

Skew

  • Recallはすべて100%
  • =false negative無し

F: Frequentアルゴリズム

LC: Lossy Counting アルゴリズム(⊿なし)

LCD: Lossy Countingアルゴリズム

SSL: Space Savingアルゴリズム(Linked List実装)

SSH: Space Savingアルゴリズム(Heap実装)

precision
結果(Precision)

適合率

Log Scale

φ

Skew

  • Fは適合率が低い
  • LC, LCDはskewの影響
  • SSL, SSHはほぼ100%
  • データセットの影響無し

F: Frequentアルゴリズム

LC: Lossy Counting アルゴリズム(⊿なし)

LCD: Lossy Countingアルゴリズム

SSL: Space Savingアルゴリズム(Linked List実装)

SSH: Space Savingアルゴリズム(Heap実装)

average relative error
結果(Average Relative Error)

ARE

Log Scale

φ

Skew

  • Fのみ誤差がある
  • 低skew時に顕著
  • HTTP, UDPは異なる特徴
  • (データセットによる違い)

F: Frequentアルゴリズム

LC: Lossy Counting アルゴリズム(⊿なし)

LCD: Lossy Countingアルゴリズム

SSL: Space Savingアルゴリズム(Linked List実装)

SSH: Space Savingアルゴリズム(Heap実装)

slide19
まとめ
  • 勝者: Space Savingアルゴリズム
    • 特にHeap実装
      • 消費スペースが小さい
      • Recall, Precision = 100%
      • Lossy CountingやFrequentに比べて速い
    • Linked List実装
      • スピードだけでいえば最速
      • ただしHeapに比べて二倍の消費スペース
        • スペースが問題とならない場合はLinked Listが良いだろう…
slide20
と、ここまでで
  • 論文の1/3です・・・
  • Frequent Item Problem
    • Counter-base algorithm
    • Quantile algorithm
    • Sketch algorithm
  • こんなに残っています。

☜今はココ!

ここでは(VLDB08でも)、

これらに関してはサマリー

quantile algorithm
② Quantile Algorithm
  • Greenwald and Khanna (GK)
  • Quantile Digest (Suri et al.)
  • 特徴
    • Large space
    • Answer a more general problem
  • まとめ
    • 総じてQDはGKに勝っている
    • スピードは遅い
    • メモリ効率も悪い
    • Frequencies Accuratelyの見積もりができない
sketch algorithm
③ Sketch Algorithm
  • CountSketch (Charikar et al.)
  • CountMin Sketch (Cormode and Muthukrishnan)
  • 特徴
    • 削除に対応
  • まとめ
    • どちらが勝っているかは結果からは分からなかった
    • Hierarchical CountMinはスピードが速く、メモリ効率も良かった。
      • ただしskewなデータでのみ正確だった
    • Combinatorial Group Testing CountMinは早く正確だった。
      • ただしメモリ効率は悪かった
    • CountSketchはメモリ効率が良く正確だった。
      • ただしスピードが遅い
slide23
おわりに
  • ここで紹介したアルゴリズムの実装は全て以下のURLで公開されている。
    • http://research.att.com/~marioh/frequent-items/index.html