http://www.mmds.org In many data mining situa-ons, we do - - PowerPoint PPT Presentation

http mmds org in many data mining situa ons we do not
SMART_READER_LITE
LIVE PREVIEW

http://www.mmds.org In many data mining situa-ons, we do - - PowerPoint PPT Presentation

Note to other teachers and users of these slides: We would be delighted if you found this our material useful in giving your own lectures. Feel free to use these slides verbatim, or to modify them to fit your own needs. If you make use of a


slide-1
SLIDE 1

Mining ¡of ¡Massive ¡Datasets ¡ Jure ¡Leskovec, ¡Anand ¡Rajaraman, ¡Jeff ¡Ullman ¡

Stanford ¡University ¡

http://www.mmds.org ¡ ¡

Note to other teachers and users of these slides: We would be delighted if you found this our material useful in giving your own lectures. Feel free to use these slides verbatim, or to modify them to fit your own needs. If you make use of a significant portion of these slides in your own lecture, please include this message, or a link to our web site: http://www.mmds.org

slide-2
SLIDE 2

¡ In ¡many ¡data ¡mining ¡situa-ons, ¡we ¡do ¡not ¡

know ¡the ¡en-re ¡data ¡set ¡in ¡advance ¡

¡ Stream ¡Management ¡is ¡important ¡when ¡the ¡

input ¡rate ¡is ¡controlled ¡externally: ¡

§ Google ¡queries ¡ § Twi6er ¡or ¡Facebook ¡status ¡updates ¡

¡ We ¡can ¡think ¡of ¡the ¡data ¡as ¡infinite ¡and ¡ ¡

non-­‑sta-onary ¡(the ¡distribu=on ¡changes ¡ ¡

  • ver ¡=me) ¡
  • J. ¡Leskovec, ¡A. ¡Rajaraman, ¡J. ¡Ullman: ¡Mining ¡of ¡Massive ¡Datasets, ¡h6p://www.mmds.org ¡

2 ¡

slide-3
SLIDE 3

3 ¡

¡ Input ¡elements ¡enter ¡at ¡a ¡rapid ¡rate, ¡ ¡

at ¡one ¡or ¡more ¡input ¡ports ¡(i.e., ¡streams) ¡

§ We ¡call ¡elements ¡of ¡the ¡stream ¡tuples ¡

¡ The ¡system ¡cannot ¡store ¡the ¡en-re ¡stream ¡

accessibly ¡

¡ Q: ¡How ¡do ¡you ¡make ¡cri-cal ¡calcula-ons ¡

about ¡the ¡stream ¡using ¡a ¡limited ¡amount ¡of ¡ (secondary) ¡memory? ¡

  • J. ¡Leskovec, ¡A. ¡Rajaraman, ¡J. ¡Ullman: ¡Mining ¡of ¡Massive ¡Datasets, ¡h6p://www.mmds.org ¡
slide-4
SLIDE 4
  • J. ¡Leskovec, ¡A. ¡Rajaraman, ¡J. ¡Ullman: ¡Mining ¡of ¡Massive ¡Datasets, ¡h6p://www.mmds.org ¡

4 ¡

Processor

Limited Working Storage . . . 1, 5, 2, 7, 0, 9, 3 . . . a, r, v, t, y, h, b . . . 0, 0, 1, 0, 1, 1, 0 time Streams Entering. Each is stream is composed of elements/tuples Ad-Hoc Queries Output Archival Storage Standing Queries

slide-5
SLIDE 5

§ Sensor ¡data ¡

§ E.g., ¡millions ¡of ¡temperature ¡sensors ¡deployed ¡in ¡the ¡

  • cean ¡

§ Image ¡data ¡from ¡satellites, ¡or ¡even ¡from ¡ surveillance ¡cameras ¡

§ E.g., ¡London ¡

§ Internet ¡and ¡Web ¡traffic ¡

§ Millions ¡of ¡streams ¡of ¡IP ¡packets ¡

§ Web ¡data ¡

§ Search ¡queries ¡to ¡Google, ¡clicks ¡on ¡Bing, ¡etc. ¡

  • J. ¡Leskovec, ¡A. ¡Rajaraman, ¡J. ¡Ullman: ¡Mining ¡of ¡Massive ¡Datasets, ¡h6p://www.mmds.org ¡

5 ¡

slide-6
SLIDE 6

¡ Types ¡of ¡queries ¡one ¡wants ¡on ¡answer ¡on ¡ ¡

a ¡data ¡stream: ¡ ¡

§ Filtering ¡a ¡data ¡stream ¡

§ Select ¡elements ¡with ¡property ¡x ¡from ¡the ¡stream ¡

§ Coun-ng ¡dis-nct ¡elements ¡

§ Number ¡of ¡dis=nct ¡elements ¡in ¡the ¡last ¡n ¡elements ¡ ¡

  • f ¡the ¡stream ¡

§ Es-ma-ng ¡moments ¡

§ Es=mate ¡avg./std. ¡dev. ¡of ¡last ¡n ¡elements ¡

§ Finding ¡frequent ¡elements ¡

  • J. ¡Leskovec, ¡A. ¡Rajaraman, ¡J. ¡Ullman: ¡Mining ¡of ¡Massive ¡Datasets, ¡h6p://www.mmds.org ¡

6 ¡

slide-7
SLIDE 7

¡ Mining ¡query ¡streams ¡

§ Google ¡wants ¡to ¡know ¡what ¡queries ¡are ¡ ¡ more ¡frequent ¡today ¡than ¡yesterday ¡

¡ Mining ¡click ¡streams ¡

§ Yahoo ¡wants ¡to ¡know ¡which ¡of ¡its ¡pages ¡are ¡ geYng ¡an ¡unusual ¡number ¡of ¡hits ¡in ¡the ¡past ¡hour ¡

¡ Mining ¡social ¡network ¡news ¡feeds ¡

§ E.g., ¡look ¡for ¡trending ¡topics ¡on ¡Twi6er, ¡Facebook ¡

  • J. ¡Leskovec, ¡A. ¡Rajaraman, ¡J. ¡Ullman: ¡Mining ¡of ¡Massive ¡Datasets, ¡h6p://www.mmds.org ¡

7 ¡

slide-8
SLIDE 8

¡ Sensor ¡Networks ¡ ¡

§ Standard ¡devia=on ¡of ¡temperature ¡

¡ IP ¡packets ¡monitored ¡at ¡a ¡switch ¡

§ Gather ¡informa=on ¡for ¡op=mal ¡rou=ng ¡ § Detect ¡denial-­‑of-­‑service ¡a6acks ¡

  • J. ¡Leskovec, ¡A. ¡Rajaraman, ¡J. ¡Ullman: ¡Mining ¡of ¡Massive ¡Datasets, ¡h6p://www.mmds.org ¡

8 ¡

slide-9
SLIDE 9

¡ Input: ¡sequence ¡of ¡T ¡elements ¡a1, ¡a2, ¡… ¡aT ¡

¡from ¡a ¡known ¡universe ¡U, ¡where ¡|U|=u. ¡

¡

Goal: ¡perform ¡a ¡computa=on ¡on ¡the ¡input, ¡in ¡ ¡ single ¡lea ¡to ¡right ¡pass ¡using ¡ ¡

¡ Process ¡elements ¡in ¡real ¡=me ¡ ¡ Can’t ¡store ¡the ¡full ¡data ¡=> ¡minimal ¡storage ¡

requirement ¡to ¡maintain ¡working ¡“summary”. ¡

  • J. ¡Leskovec, ¡A. ¡Rajaraman, ¡J. ¡Ullman: ¡Mining ¡of ¡Massive ¡Datasets, ¡h6p://www.mmds.org ¡

9 ¡

slide-10
SLIDE 10

Some ¡func=ons ¡are ¡easy: ¡min, ¡max, ¡sum, ¡ ¡… ¡ We ¡use ¡a ¡single ¡register ¡𝒕, ¡simple ¡update: ¡ ¡

¡ Maximum: ¡Ini-alize ¡𝒕 ¡← ¡0 ¡ ¡ ¡ ¡

¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡For ¡element ¡𝒚 ¡, ¡ ¡𝒕 ¡← ¡max ¡𝒕,𝒚 ¡ ¡ ¡, ¡ ¡𝒕 ¡← ¡max ¡𝒕,𝒚 ¡ ¡

¡ Sum: ¡Ini-alize ¡𝒕 ¡← ¡0 ¡ ¡ ¡ ¡

¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡For ¡element ¡𝒚 ¡, ¡ ¡𝒕 ¡← ¡𝒕+𝒚 ¡ ¡ ¡, ¡ ¡𝒕 ¡← ¡𝒕+𝒚 ¡ ¡ ¡ 32, ¡ 112, ¡ 14, ¡ 9, ¡ 37, ¡ 83, ¡ 115, ¡ 2, ¡

slide-11
SLIDE 11

¡ Heavy ¡hi6ers: ¡keys ¡that ¡occur ¡lots ¡and ¡lots ¡of ¡

=mes ¡

¡ The ¡number ¡of ¡dis$nct ¡keys ¡in ¡the ¡stream ¡

§ Applica=on ¡of ¡MinHash ¡to ¡computa=on ¡of ¡ document ¡similarity ¡

¡ Second ¡frequency ¡moment. ¡

¡ 32, ¡ 12, ¡ 14, ¡ 32, ¡ ¡7, ¡ 12, ¡ 32, ¡ 7, ¡ 6, ¡ 12, ¡ 4, ¡

slide-12
SLIDE 12

¡ Cool ¡applica=ons ¡of ¡hashing ¡ ¡ Can ¡compute ¡interes=ng ¡global ¡proper=es ¡of ¡

a ¡long ¡stream, ¡with ¡only ¡one ¡pass ¡over ¡the ¡ data, ¡while ¡maintaining ¡only ¡a ¡small ¡amount ¡

  • f ¡informa=on ¡about ¡it. ¡We ¡call ¡this ¡small ¡

amount ¡of ¡informa=on ¡a ¡sketch ¡

slide-13
SLIDE 13

Some ¡applica=ons: ¡

¡ Determining ¡popular ¡products ¡ ¡ Compu=ng ¡frequent ¡search ¡queries ¡ ¡ Iden=fying ¡heavy ¡TCP ¡flows ¡ ¡ Iden=fying ¡vola=le ¡stocks ¡

slide-14
SLIDE 14

Special ¡case: ¡an ¡array ¡of ¡integers ¡A[1..T] ¡with ¡a ¡ majority ¡element. ¡ ¡ Find ¡majority ¡element ¡in ¡single ¡pass ¡over ¡data ¡ using ¡sublinear ¡auxiliary ¡space? ¡ ¡ ¡ ¡

slide-15
SLIDE 15

¡guaranteed ¡to ¡occur ¡> ¡T/2 ¡-mes ¡ ¡

counter:= ¡0; ¡current ¡:= ¡NULL ¡ for ¡i ¡:= ¡1 ¡to ¡n ¡do ¡ if ¡counter ¡== ¡0, ¡then ¡ ¡ current ¡:= ¡A[i]; ¡ ¡ counter++; ¡ else ¡if ¡A[i] ¡== ¡current ¡then ¡ Counter ¡++ ¡ Else ¡counter ¡-­‑ ¡-­‑ ¡

return ¡current ¡

slide-16
SLIDE 16

Find ¡all ¡elements ¡that ¡occur ¡at ¡least ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡-mes. ¡ ¡ ¡ ¡ provably ¡impossible ¡ ¡in ¡sublinear ¡auxiliary ¡ space ¡ ¡ ¡ So ¡what ¡do ¡we ¡do? ¡

✏T

slide-17
SLIDE 17

Applica=ons: ¡ ¡

§ IP ¡Packet ¡streams: ¡Number ¡of ¡dis=nct ¡ ¡IP ¡addresses ¡or ¡

IP ¡flows ¡(source+des=na=on ¡IP, ¡port, ¡protocol) ¡

§ Anomaly ¡detec=on, ¡traffic ¡monitoring ¡

§ Search: ¡ ¡Find ¡how ¡many ¡dis=nct ¡search ¡queries ¡were ¡

issued ¡to ¡a ¡search ¡engine ¡(on ¡a ¡certain ¡topic) ¡ yesterday ¡

§ Web ¡services: ¡ ¡How ¡many ¡dis=nct ¡users ¡(cookies) ¡

searched/browsed ¡a ¡certain ¡term/item ¡

§ adver=sing, ¡marke=ng, ¡trends ¡

32, ¡ 12, ¡ 14, ¡ 32, ¡ ¡7, ¡ 12, ¡ 32, ¡ 7, ¡ 6, ¡ 12, ¡ 4, ¡

slide-18
SLIDE 18

Measures ¡how ¡uneven ¡the ¡distribu=on ¡of ¡ elements ¡in ¡the ¡stream ¡is ¡ ¡ In ¡database ¡context: ¡the ¡size ¡of ¡a ¡“self-­‑join” ¡– ¡ the ¡size ¡of ¡the ¡table ¡you ¡get ¡when ¡you ¡join ¡a ¡ rela=on ¡with ¡itself ¡on ¡a ¡par=cular ¡a6ribute. ¡

slide-19
SLIDE 19

¡ Can ¡do ¡amazing ¡things ¡with ¡randomness ¡ ¡ Can ¡implement ¡many ¡of ¡those ¡amazing ¡things ¡

with ¡limited ¡randomness ¡