The ¡Big ¡Data ¡Algorithmic ¡Toolkit ¡ Moses ¡Charikar ¡ ¡ Stanford ¡University ¡
My ¡Background ¡ • 1991-‑1995 ¡ ¡B.Tech ¡IIT-‑Bombay ¡ • 1995-‑2000 ¡ ¡Stanford ¡PhD ¡ ¡ • 2000-‑2001 ¡ ¡Google ¡Research ¡ • 2001-‑2015 ¡ ¡Princeton ¡ • 2015-‑ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Stanford ¡ 2 ¡
My ¡background ¡ • ApproximaKon ¡Algorithms ¡ – heurisKcs ¡with ¡provable ¡guarantees ¡for ¡hard ¡ opKmizaKon ¡problems ¡ – mathemaKcal ¡programming ¡techniques ¡ linear ¡programs, ¡etc ¡ • Algorithmic ¡techniques ¡for ¡Massive ¡Data ¡Sets ¡ – dimension ¡reducKon ¡ – similarity ¡search ¡
Scenarios ¡ • Google ¡search ¡log ¡ ¡ • ¡ ¡
Scenarios ¡ • Facebook ¡social ¡network ¡
Scenarios ¡ • Sequencing ¡human ¡genome ¡ ¡ • What ¡discoveries ¡can ¡come ¡from ¡more ¡ sequencing? ¡
Theorists’ ¡Methodology ¡ • Strip ¡away ¡applicaKon ¡specific ¡details ¡ • Focus ¡on ¡core ¡problem ¡ • What ¡can ¡we ¡do? ¡ • What ¡corner ¡cuUng ¡needed? ¡ • What ¡is ¡impossible? ¡
Sketching ¡ ¡ • Replace ¡original ¡data ¡by ¡compact ¡summary ¡ ( sketch ) ¡ ¡ approximated ¡ • Problems ¡of ¡interest ¡can ¡be ¡solved ¡using ¡ sketches. ¡ sketch ¡ complex ¡ ¡ 0 ¡ 1 ¡ 0 ¡ 1 ¡ 1 ¡ 0 ¡ 0 ¡ 1 ¡ 1 ¡ 0 ¡ object ¡ 0 ¡ 0 ¡ 1 ¡ 0 ¡ 1 ¡ 1 ¡ 0 ¡ 0 ¡ 1 ¡ 0 ¡
Streaming ¡Algorithms ¡ • Compute ¡in ¡one ¡pass ¡over ¡data ¡using ¡limited ¡ storage ¡
But ¡isn’t ¡this ¡old ¡hat? ¡
Caveats ¡ • Very ¡high ¡level ¡ • A ¡flavor ¡of ¡the ¡quesKons ¡and ¡results ¡
¡ BASIC ¡PRIMITIVES ¡
Basic ¡StaKsKcs ¡ • DisKnct ¡Elements ¡ X f p • Frequency ¡Moments ¡ F p = i i X ( f i − g i ) p i • (1+ε) ¡approximaKon ¡in ¡O(1/ε 2 ) ¡space ¡
ConnecKons ¡ • DerandomizaKon: ¡hash ¡funcKons ¡ • Impossibility ¡results ¡
Document ¡Similarity: ¡MinHash ¡ • [Broder, ¡‘97] ¡ [Broder, ¡Manasse, ¡Glassman, ¡Zweig, ¡’97] ¡
Locality ¡SensiKve ¡Hashing ¡ • [Indyk, ¡Motwani ¡‘98] ¡ • Hash ¡funcKons ¡that ¡disKnguish ¡ ¡ between ¡near ¡and ¡far ¡points ¡ • Building ¡block ¡for ¡ ¡ Nearest ¡Neighbor ¡Search ¡ ¡
Vector ¡representaKon ¡ • Associate ¡vector ¡with ¡each ¡data ¡point ¡ v ¡ • Distance ¡between ¡data ¡points ¡ = ¡angle ¡between ¡vectors ¡ θ ¡ u ¡ u · v cos( θ ) = || u || · || v || • Compact ¡sketch ¡for ¡esKmaKng ¡angular ¡ distances? ¡
Hash ¡FuncKon: ¡SimHash ¡ r ¡ s ( u ) = sign ( u · r ) u ¡ Pr [ s ( u ) 6 = s ( v )] = θ ( u , v ) v ¡ π • Hash ¡value ¡is ¡one ¡bit ¡ • Concatenate ¡bits ¡from ¡many ¡hash ¡funcKons ¡to ¡ get ¡compact ¡representaKon ¡
Frequent ¡Items ¡ • Most ¡frequent ¡queries ¡in ¡Google ¡query ¡log ¡
Approximate ¡CounKng ¡ • Hash ¡table: ¡counter ¡for ¡each ¡bucket ¡ • elements ¡mapped ¡with ¡random ¡signs ¡ 1 ¡ 2 ¡ 3 ¡ 4 ¡ 5 ¡ 6 ¡ 7 ¡ 8 ¡ 9 ¡ esKmate ¡= ¡counter ¡x ¡sign ¡ 1 ¡ 3 ¡ 4 ¡ 9 ¡ 0 8 ¡ 7 ¡ 6 ¡ 5 ¡ 2 ¡
• Noisy ¡esKmator ¡ sP j > k f 2 j k f i • Many ¡independent ¡copies ¡ return ¡median ¡
¡ GRAPH ¡ALGORITHMS ¡
Model ¡ • Stream ¡of ¡edges ¡on ¡n ¡nodes ¡added/deleted ¡ • Run ¡algorithm ¡using ¡O(n ¡log(n)) ¡space ¡
Problems ¡ • ConnecKvity ¡ • Distances ¡ • Clustering ¡ • Dense ¡subgraphs ¡ • ParKKoning ¡ • Random ¡walks ¡ • Matching ¡
Tools ¡ • Spanners ¡ • Sparsifiers ¡ • Sketches ¡
¡ LINEAR ¡ALGEBRA ¡
• Least ¡squares ¡regression ¡ • matrix ¡mulKplicaKon ¡ • polynomial ¡fiUng ¡ • low ¡rank ¡approximaKon ¡ • graph ¡sparsificaKon ¡
¡ SAMPLING ¡
Sequencing ¡Human ¡Genome ¡ • What ¡discoveries ¡can ¡come ¡from ¡more ¡ sequencing? ¡ ¡
Course ¡ • cs369g.stanford.edu ¡
Recommend
More recommend