sampling from databases
play

Sampling from Databases CompSci 590.04 Instructor: - PowerPoint PPT Presentation

Sampling from Databases CompSci 590.04 Instructor: AshwinMachanavajjhala Lecture 2 : 590.04 Fall 15 1 Recap Given a set of elements, random sampling


  1. Sampling ¡from ¡Databases ¡ CompSci ¡590.04 ¡ Instructor: ¡AshwinMachanavajjhala ¡ Lecture ¡2 ¡: ¡590.04 ¡Fall ¡15 ¡ 1 ¡

  2. Recap ¡ • Given ¡a ¡set ¡of ¡elements, ¡random ¡sampling ¡when ¡number ¡of ¡ elements ¡N ¡is ¡known ¡is ¡easy ¡ if ¡you ¡have ¡random ¡access ¡to ¡any ¡ arbitrary ¡element ¡ – Pick ¡n ¡indexes ¡at ¡random ¡from ¡1 ¡… ¡N ¡ – Read ¡the ¡corresponding ¡n ¡elements ¡ • Reservoir ¡Sampling: ¡If ¡N ¡is ¡unknown, ¡or ¡if ¡you ¡are ¡only ¡allowed ¡ sequenMal ¡access ¡to ¡the ¡data ¡ – Read ¡elements ¡one ¡at ¡a ¡Mme. ¡Include ¡t th ¡element ¡into ¡a ¡reservoir ¡of ¡size ¡n ¡ with ¡probability ¡n/t. ¡ ¡ – Need ¡to ¡access ¡at ¡most ¡n(1+ln(N/n)) ¡elements ¡to ¡get ¡a ¡sample ¡of ¡size ¡n ¡ – OpMmal ¡for ¡any ¡reservoir ¡based ¡algorithm ¡ Lecture ¡2 ¡: ¡590.04 ¡Fall ¡15 ¡ 2 ¡

  3. Today’s ¡Class ¡ ¡ • In ¡general, ¡sampling ¡from ¡a ¡database ¡where ¡elements ¡are ¡only ¡ accessed ¡using ¡indexes. ¡ – B + -­‑Trees ¡ ¡ – Nearest ¡neighbor ¡indexes ¡ • EsMmaMng ¡the ¡number ¡of ¡restaurants ¡in ¡Google ¡Places. ¡ ¡ Lecture ¡2 ¡: ¡590.04 ¡Fall ¡15 ¡ 3 ¡

  4. B+ ¡Tree ¡ • Data ¡values ¡only ¡appear ¡in ¡the ¡leaves ¡ • Internal ¡nodes ¡only ¡contain ¡keys ¡ • Each ¡node ¡has ¡between ¡f max /2 ¡and ¡f max ¡children ¡ – f max ¡= ¡maximum ¡fan-­‑out ¡of ¡the ¡tree ¡ • Root ¡has ¡2 ¡or ¡more ¡children ¡ Lecture ¡2 ¡: ¡590.04 ¡Fall ¡15 ¡ 4 ¡

  5. Problem ¡ • How ¡to ¡pick ¡an ¡element ¡uniformly ¡at ¡random ¡from ¡the ¡B + ¡Tree? ¡ ¡ Lecture ¡2 ¡: ¡590.04 ¡Fall ¡15 ¡ 5 ¡

  6. A_empt ¡1: ¡Random ¡Path ¡ ¡ Choose ¡a ¡random ¡path ¡ • Start ¡from ¡the ¡root ¡ • Choose ¡a ¡child ¡uniformly ¡at ¡random ¡ • Uniformly ¡sample ¡from ¡the ¡resulMng ¡leaf ¡node ¡ • Will ¡this ¡result ¡in ¡a ¡random ¡sample? ¡ ¡ Lecture ¡2 ¡: ¡590.04 ¡Fall ¡15 ¡ 6 ¡

  7. A_empt ¡1: ¡Random ¡Path ¡ ¡ Choose ¡a ¡random ¡path ¡ • Start ¡from ¡the ¡root ¡ • Choose ¡a ¡child ¡uniformly ¡at ¡random ¡ • Uniformly ¡sample ¡from ¡the ¡resulMng ¡leaf ¡node ¡ • Will ¡this ¡result ¡in ¡a ¡random ¡sample? ¡ ¡ NO. ¡ ¡ Elements ¡reachable ¡from ¡ ¡ internal ¡nodes ¡with ¡low ¡ fanout ¡are ¡more ¡likely. ¡ ¡ ¡ Lecture ¡2 ¡: ¡590.04 ¡Fall ¡15 ¡ 7 ¡

  8. A_empt ¡2 ¡: ¡Random ¡Path ¡with ¡RejecMon ¡ • A_empt ¡1 ¡will ¡work ¡if ¡all ¡internal ¡nodes ¡have ¡the ¡same ¡fan-­‑out ¡ • Choose ¡a ¡random ¡path ¡ – Start ¡from ¡the ¡root ¡ – Choose ¡a ¡child ¡uniformly ¡at ¡random ¡ – Uniformly ¡sample ¡from ¡the ¡resulMng ¡leaf ¡node ¡ • Accept ¡the ¡sample ¡with ¡probability ¡ Lecture ¡2 ¡: ¡590.04 ¡Fall ¡15 ¡ 8 ¡

  9. A_empt ¡2 ¡: ¡Correctness ¡ • Any ¡root ¡to ¡leaf ¡path ¡is ¡picked ¡with ¡probability: ¡ • The ¡probability ¡of ¡including ¡a ¡record ¡ ¡ given ¡the ¡path: ¡ ¡ ¡ Lecture ¡2 ¡: ¡590.04 ¡Fall ¡15 ¡ 9 ¡

  10. A_empt ¡2 ¡: ¡Correctness ¡ • Any ¡root ¡to ¡leaf ¡path ¡is ¡picked ¡with ¡probability: ¡ • The ¡probability ¡of ¡including ¡a ¡record ¡ ¡ given ¡the ¡path: ¡ ¡ • The ¡probability ¡of ¡including ¡a ¡record: ¡ ¡ ¡ Lecture ¡2 ¡: ¡590.04 ¡Fall ¡15 ¡ 10 ¡

  11. A_empt ¡3 ¡: ¡Early ¡Abort ¡ ¡ Idea: ¡Perform ¡acceptance/rejecMon ¡test ¡at ¡each ¡node. ¡ ¡ • Start ¡from ¡the ¡root ¡ • Choose ¡a ¡child ¡uniformly ¡at ¡random ¡ • ConMnue ¡the ¡traversal ¡with ¡probability: ¡ • At ¡the ¡leaf, ¡pick ¡an ¡element ¡uniformly ¡at ¡ ¡ random, ¡and ¡accept ¡it ¡with ¡probability ¡: ¡ Proof ¡of ¡correctness: ¡same ¡as ¡previous ¡algorithm ¡ Lecture ¡2 ¡: ¡590.04 ¡Fall ¡15 ¡ 11 ¡

  12. A_empt ¡4: ¡Batch ¡Sampling ¡ • Repeatedly ¡sampling ¡ n ¡elements ¡will ¡require ¡accessing ¡the ¡ internal ¡nodes ¡many ¡Mmes. ¡ ¡ Lecture ¡2 ¡: ¡590.04 ¡Fall ¡15 ¡ 12 ¡

  13. A_empt ¡4: ¡Batch ¡Sampling ¡ Repeatedly ¡sampling ¡ n ¡elements ¡will ¡require ¡accessing ¡the ¡internal ¡nodes ¡ • many ¡Mmes. ¡ ¡ Perform ¡random ¡walks ¡simultaneously: ¡ • At ¡the ¡root ¡node, ¡assign ¡each ¡of ¡the ¡n ¡samples ¡to ¡one ¡of ¡its ¡ children ¡uniformly ¡at ¡random ¡ – ¡n ¡ à ¡(n 1 , ¡n 2 , ¡…, ¡n k ) ¡ • At ¡each ¡internal ¡node, ¡ – Divide ¡incoming ¡samples ¡uniformly ¡across ¡children. ¡ ¡ • Each ¡leaf ¡node ¡receives ¡ s ¡samples. ¡Include ¡each ¡sample ¡with ¡ acceptance ¡probability ¡ Lecture ¡2 ¡: ¡590.04 ¡Fall ¡15 ¡ 13 ¡

  14. A_empt ¡4 ¡: ¡Batch ¡Sampling ¡ • Problem: ¡If ¡we ¡start ¡the ¡algorithm ¡with ¡n, ¡we ¡might ¡end ¡up ¡with ¡ fewer ¡than ¡n ¡samples ¡(due ¡to ¡rejecMon) ¡ Lecture ¡2 ¡: ¡590.04 ¡Fall ¡15 ¡ 14 ¡

  15. A_empt ¡4 ¡: ¡Batch ¡Sampling ¡ • Problem: ¡If ¡we ¡start ¡the ¡algorithm ¡with ¡n, ¡we ¡might ¡end ¡up ¡with ¡ fewer ¡than ¡n ¡samples ¡(due ¡to ¡rejecMon) ¡ • SoluMon: ¡Start ¡with ¡a ¡larger ¡set ¡ • ¡n’ ¡= ¡n/β h-­‑1 , ¡where ¡β ¡is ¡the ¡raMo ¡of ¡average ¡fanout ¡and ¡f max ¡ Lecture ¡2 ¡: ¡590.04 ¡Fall ¡15 ¡ 15 ¡

  16. Summary ¡of ¡B + tree ¡sampling ¡ • Randomly ¡choosing ¡a ¡path ¡weights ¡elements ¡differently ¡ – Elements ¡in ¡the ¡subtree ¡rooted ¡at ¡nodes ¡with ¡lower ¡fan-­‑out ¡are ¡more ¡likely ¡ to ¡be ¡picked ¡than ¡those ¡under ¡higher ¡fan-­‑out ¡internal ¡nodes ¡ • Accept/Reject ¡sampling ¡helps ¡remove ¡this ¡bias. ¡ ¡ Lecture ¡2 ¡: ¡590.04 ¡Fall ¡15 ¡ 16 ¡

  17. Nearest ¡Neighbor ¡indexes ¡ Lecture ¡2 ¡: ¡590.04 ¡Fall ¡15 ¡ 17 ¡

  18. Problem ¡Statement ¡ Input: ¡ ¡ • A ¡database ¡D ¡that ¡can’t ¡be ¡accessed ¡directly, ¡and ¡where ¡each ¡ element ¡is ¡associated ¡with ¡a ¡geo ¡locaMon. ¡ ¡ ¡ • A ¡nearest ¡neighbor ¡index ¡(elements ¡in ¡D ¡near ¡<x, ¡y>) ¡ – AssumpMon: ¡index ¡returns ¡k ¡elements ¡closest ¡to ¡the ¡point ¡<x,y> ¡ ¡ Output ¡ ¡ • EsMmate ¡ ¡ ¡ Lecture ¡2 ¡: ¡590.04 ¡Fall ¡15 ¡ 18 ¡

  19. Problem ¡Statement ¡ Input: ¡ ¡ A ¡database ¡D ¡that ¡can’t ¡be ¡accessed ¡directly, ¡and ¡where ¡each ¡element ¡is ¡ • associated ¡with ¡a ¡geo ¡locaMon. ¡ ¡ ¡ A ¡nearest ¡neighbor ¡index ¡(elements ¡in ¡D ¡near ¡<x, ¡y>) ¡ • – AssumpMon: ¡index ¡returns ¡k ¡elements ¡closest ¡to ¡the ¡point ¡<x,y> ¡ Output ¡ ¡ EsMmate ¡ ¡ • ApplicaMons ¡ • EsMmate ¡the ¡size ¡of ¡a ¡populaMon ¡in ¡a ¡region ¡ • EsMmate ¡the ¡size ¡of ¡a ¡compeMng ¡business’ ¡database ¡ • EsMmate ¡the ¡prevalence ¡of ¡a ¡disease ¡in ¡a ¡region ¡ ¡ Lecture ¡2 ¡: ¡590.04 ¡Fall ¡15 ¡ 19 ¡

  20. A_empt ¡1: ¡Naïve ¡geo ¡sampling ¡ For ¡i ¡= ¡1 ¡to ¡N ¡ • Pick ¡a ¡random ¡point ¡ p i ¡= ¡<x,y> ¡ • Find ¡element ¡ d i ¡ in ¡D ¡that ¡is ¡closes ¡to ¡ p i ¡ • Return ¡ ¡ Lecture ¡2 ¡: ¡590.04 ¡Fall ¡15 ¡ 20 ¡

  21. Problem? ¡ ¡ Voronoi ¡Cell: ¡ ¡ Points ¡for ¡which ¡d 4 ¡is ¡ the ¡closest ¡element ¡ ¡ Elements ¡d 7 ¡and ¡d 8 ¡are ¡much ¡more ¡ likely ¡to ¡be ¡picked ¡than ¡d 1 ¡ Lecture ¡2 ¡: ¡590.04 ¡Fall ¡15 ¡ 21 ¡

  22. Voronoi ¡DecomposiMon ¡ ¡ Perpendicular ¡ bisector ¡of ¡d 4 , ¡d 3 ¡ Lecture ¡2 ¡: ¡590.04 ¡Fall ¡15 ¡ 22 ¡

Recommend


More recommend