37 Pages

advertising-2

Course: CS 345, Fall 2001
School: Stanford
Rating:
 
 
 
 
 

Word Count: 1249

Document Preview

345 CS Data Mining Online algorithms Search advertising Online algorithms Classic model of algorithms You get to see the entire input, then compute some function of it In this context, offline algorithm Online algorithm You get to see the input one piece at a time, and need to make irrevocable decisions along the way Similar to data stream models Example: Bipartite matching 1 2 3 Girls 4 a b c d Boys Example:...

Register Now

Unformatted Document Excerpt

Coursehero >> California >> Stanford >> CS 345

Course Hero has millions of student submitted documents similar to the one
below including study guides, practice problems, reference materials, practice exams, textbook help and tutor support.

Course Hero has millions of student submitted documents similar to the one below including study guides, practice problems, reference materials, practice exams, textbook help and tutor support.
345 CS Data Mining Online algorithms Search advertising Online algorithms Classic model of algorithms You get to see the entire input, then compute some function of it In this context, offline algorithm Online algorithm You get to see the input one piece at a time, and need to make irrevocable decisions along the way Similar to data stream models Example: Bipartite matching 1 2 3 Girls 4 a b c d Boys Example: Bipartite matching 1 2 3 Girls 4 a b c d Boys M = {(1,a),(2,b),(3,d)} is a matching Cardinality of matching = |M| = 3 Example: Bipartite matching 1 2 3 Girls 4 a b c d Boys M = {(1,c),(2,b),(3,d),(4,a)} is a perfect matching Matching Algorithm Problem: Find a maximum-cardinality matching for a given bipartite graph A perfect one if it exists There is a polynomial-time offline algorithm (Hopcroft and Karp 1973) But what if we dont have the entire graph upfront? Online problem Initially, we are given the set Boys In each round, one girls choices are revealed At that time, we have to decide to either: Pair the girl with a boy Dont pair the girl with any boy Example of application: assigning tasks to servers Online problem 1 2 3 4 a b c d (1,a) (2,b) (3,d) Greedy algorithm Pair the new girl with any eligible boy If there is none, dont pair girl How good is the algorithm? Competitive Ratio For input I, suppose greedy produces matching Mgreedy while an optimal matching is Mopt Competitive ratio = minall possible inputs I (|Mgreedy|/|Mopt|) Analyzing the greedy algorithm Consider the set G of girls matched in Mopt but not in Mgreedy Then it must be the case that every boy adjacent to girls in G is already matched in Mgreedy There must be at least |G| such boys Otherwise the optimal algorithm could not have matched all the G girls Therefore |Mgreedy| |G| = |Mopt - Mgreedy| |Mgreedy|/|Mopt| 1/2 Worst-case scenario 1 2 3 4 a b c d (1,a) (2,b) History of web advertising Banner ads (1995-2001) Initial form of web advertising Popular websites charged X$ for every 1000 impressions of ad Called CPM rate Modeled similar to TV, magazine ads Untargeted to demographically tageted Low clickthrough rates low ROI for advertisers Performance-based advertising Introduced by Overture around 2000 Advertisers bid on search keywords When someone searches for that keyword, the highest bidders ad is shown Advertiser is charged only if the ad is clicked on Similar model later adopted by Google with some changes Called Adwords Ads vs. search results Web 2.0 Performance-based advertising works! Multi-billion-dollar industry Interesting problems What ads to show for a search? If Im an advertiser, which search terms should I bid on and how much to bid? Adwords problem A stream of queries arrives at the search engine q1, q2, Several advertisers bid on each query When query qi arrives, search engine must pick a subset of advertisers whose ads are shown Goal: maximize search engines revenues Clearly we need an online algorithm! Greedy algorithm Simplest algorithm is greedy Its easy to see that the greedy algorithm is actually optimal! Complications (1) Each ad has a different likelihood of being clicked Advertiser 1 bids $2, click probability = 0.1 Advertiser 2 bids $1, click probability = 0.5 Clickthrough rate measured historically Simple solution Instead of raw bids, use the expected revenue per click Complications (2) Each advertiser has a limited budget Search engine guarantees that the advertiser will not be charged more than their daily budget Simplified model (for now) Assume all bids are 0 or 1 Each advertiser has the same budget B One advertiser per query Lets try the greedy algorithm Arbitrarily pick eligible an advertiser for each keyword Bad scenario for greedy Two advertisers A and B A bids on query x, B bids on x and y Both have budgets of $4 Query stream: xxxxyyyy Worst case greedy choice: BBBB____ Optimal: AAAABBBB Competitive ratio = Simple analysis shows this is the worst case BALANCE algorithm [MSVV] [Mehta, Saberi, Vazirani, and Vazirani] For each query, pick the advertiser with the largest unspent budget Break ties arbitrarily Example: BALANCE Two advertisers A and B A bids on query x, B bids on x and y Both have budgets of $4 Query stream: xxxxyyyy BALANCE choice: ABABBB__ Optimal: AAAABBBB Competitive ratio = Analyzing BALANCE (1) Consider simple case: two advertisers, P and Q, each with budget B (assume B 1) Assume optimal solution exhausts both advertisers budgets BALANCE must exhaust at least one advertisers budget OPT = 2B If not, we can allocate more queries Assume BALANCE exhausts Qs budget, but aloocates x queries fewer than the optimal BAL = 2B - x Analyzing Balance B Queries allocated to A1 in optimal solution Queries allocated to A2 in optimal solution A1 A2 x y A1 A2 x B Opt revenue = 2B Balance revenue = 2B-x = B+y We have y x Balance revenue is minimum for x=y=B/2 Minimum Balance revenue = 3B/2 Competitive Ratio = 3/4 Analyzing BALANCE (2) Three types of queries: (A) P is the only bidder (B) Q is the only bidder (C) P and Q both bid Since Qs budget is exhausted but Ps is not, and we couldnt allocate x queries, they must be of type C Analyzing BALANCE (3) BALANCE allocates at least x Type C queries to Q In the Optimal, these were assigned to P Consider the last Type C query assigned to Q At this point, Qs leftover budget was greater than Ps So Ps allocation was at least x So we have BAL B + x Analyzing BALANCE (4) We now have: BAL = 2B x BAL B + x The minimum value of BAL is obtained when x = B/2 BAL = 3B/2 OPT = 2B So BAL/OPT = 3/4 General Result In the general case, worst competitive ratio of BALANCE is 11/e = approx. 0.63 Interestingly, no online algorithm has a better competitive ratio Wont go through the details here, but lets see the worst case that gives this ratio Worst case for BALANCE N advertisers, each with budget B N 1 NB queries appear in N rounds of B queries each Round 1 queries: bidders A1, A2, , AN Round 2 queries: bidders A2, A3, , AN Round i queries: bidders Ai, , AN Optimum allocation: allocate round i queries to Ai Optimum revenue NB BALANCE allocation A1 A2 A3 AN-1 AN B/(N-2) B/(N-1) B/N After k rounds, sum of allocations to each of bins Ak,,AN is Sk = Sk+1 = = SN = 1i kB/(N-i+1) If we find the smallest k such that Sk B, then after k rounds we cannot allocate any queries to any advertiser BALANCE analysis B/1 B/2 B/3 B/(N-k+1) B/(N-1) S2 Sk = B B/N S1 1/1 1/2 1/3 1/(N-k+1) 1/(N-1) S2 Sk = 1 1/N S1 BALANCE analysis Fact: Hn = 1 i n1/i = approx. log(n) for large n Result due to Euler 1/1 1/2 1/3 1/(N-k+1) 1/(N-1) log(N) log(N)-1 Sk = 1 1/N Sk = 1 implies HN-k = log(N)-1 = log(N/e) N-k = N/e k = N(1-1/e) BALANCE analysis So after the first N(1-1/e) rounds, we cannot allocate a query to any advertiser Revenue = BN(1-1/e) Competitive ratio = 1-1/e General version of problem Arbitrary bids, budgets Consider query q, advertiser i Bid = xi Budget = bi BALANCE can be terrible Consider two advertisers A1 and A2 A1: x1 = 1, b1 = 110 A2: x2 = 10, b2 = 100 Generalized BALANCE Arbitrary bids; consider query q, bidder i Bid = xi Budget = bi Amount spent so far = mi Fraction of budget left over fi = 1-mi/bi Define i(q) = xi(1-e-fi) Allocate query q to bidder i with largest value of i(q) Same competitive ratio (1-1/e)
Find millions of documents on Course Hero - Study Guides, Lecture Notes, Reference Materials, Practice Exams and more. Course Hero has millions of course specific materials providing students with the best way to expand their education.

Below is a small sample set of documents:

Stanford - CS - 345
CS 345 Data MiningOnline algorithms Search advertising Online algorithmsClassic model of algorithmsOnline algorithmYou get to see the entire input, then compute some function of it In this context, "offline algorithm" You get to see the input one
Stanford - CS - 345
CS 345 Data MiningOnline algorithms Search advertising Online algorithmsClassic model of algorithmsOnline algorithmYou get to see the entire input, then compute some function of it In this context, "offline algorithm" You get to see the input one
Stanford - CS - 345
Association RulesMarket Baskets Frequent Itemsets A-priori Algorithm1The Market-Basket ModelA large set of items, e.g., things sold in a supermarket. A large set of baskets, each of which is a small set of the items, e.g., the things one customer buys
Stanford - CS - 345
"Association Rules"Market Baskets Frequent Itemsets Apriori Algorithm1The MarketBasket Modelx A large set of items, e.g., things sold in a supermarket. x A large set of baskets, each of which is a small set of the items, e.g., the things one customer
Stanford - CS - 345
Association RulesMarket Baskets Frequent Itemsets A-priori Algorithm1The Market-Basket ModelA large set of items, e.g., things sold in a supermarket. A large set of baskets, each of which is a small set of the items, e.g., the things one customer buys
Stanford - CS - 345
Association RulesMarket Baskets Frequent Itemsets Apriori Algorithm1The MarketBasket Modelx A large set of items, e.g., things sold in a supermarket. x A large set of baskets, each of which is a small set of the items, e.g., the things one customer bu
Stanford - CS - 345
Association RulesMarket Baskets Frequent Itemsets A-Priori Algorithm1The Market-Basket ModelA large set of items, e.g., things sold in a supermarket. A large set of baskets, each of which is a small set of the items, e.g., the things one customer buys
Stanford - CS - 345
Association RulesMarket Baskets Frequent Itemsets APriori Algorithm1The MarketBasket Modelx A large set of items, e.g., things sold in a supermarket. x A large set of baskets, each of which is a small set of the items, e.g., the things one customer bu
Stanford - CS - 345
Improvements to A-PrioriPark-Chen-Yu Algorithm Multistage Algorithm Approximate Algorithms Compacting Results1PCY AlgorithmHash-based improvement to A-Priori. During Pass 1 of A-priori, most memory is idle. Use that memory to keep counts of buckets in
Stanford - CS - 345
Improvements to APrioriParkChenYu Algorithm Multistage Algorithm Approximate Algorithms Compacting Results1PCY Algorithmx Hashbased improvement to APriori. x During Pass 1 of Apriori, most memory is idle. x Use that memory to keep counts of buckets in
Stanford - CS - 345
Improvements to APrioriParkChenYu Algorithm Multistage Algorithm Approximate Algorithms Compacting Results1PCY Algorithmx Hashbased improvement to APriori. x During Pass 1 of Apriori, most memory is idle. x Use that memory to keep counts of buckets in
Stanford - CS - 345
Improvements to APrioriBloom Filters ParkChenYu Algorithm Multistage Algorithm Approximate Algorithms Compacting Results1Aside: HashBased Filteringx Simple problem: I have a set S of one billion strings of length 10. x I want to scan a larger file F o
Stanford - CS - 345
SQL/MRPeter Pawlowski Member of Technical Staff January 16, 2009ASTER BACKGROUND2Our Founders3 PhD students from Stanford C.S. Cool ideas. . but no funding, no product, no clients!OK, they had $ 10,000.3Our Product: nCluster A massively scalable
Stanford - CS - 345
Clustering AlgorithmsApplications Hierarchical Clustering k Means Algorithms CURE Algorithm1The Problem of Clusteringx Given a set of points, with a notion of distance between points, group the points into some number of clusters, so that members of a
Stanford - CS - 345
Clustering PreliminariesApplications Euclidean/Non-Euclidean Spaces Distance Measures1The Problem of ClusteringGiven a set of points, with a notion of distance between points, group the points into some number of clusters, so that members of a cluster
Stanford - CS - 345
Clustering PreliminariesApplications Euclidean/NonEuclidean Spaces Distance Measures1The Problem of Clusteringx Given a set of points, with a notion of distance between points, group the points into some number of clusters, so that members of a cluste
Stanford - CS - 345
Clustering PreliminariesApplications Euclidean/Non-Euclidean Spaces Distance Measures1The Problem of ClusteringGiven a set of points, with a notion of distance between points, group the points into some number of clusters, so that members of a cluster
Stanford - CS - 345
Clustering PreliminariesApplications Euclidean/NonEuclidean Spaces Distance Measures1The Problem of Clusteringx Given a set of points, with a notion of distance between points, group the points into some number of clusters, so that members of a cluste
Stanford - CS - 345
Clustering AlgorithmsHierarchical Clustering k -Means Algorithms CURE Algorithm1Methods of ClusteringHierarchical (Agglomerative):Initially, each point in cluster by itself. Repeatedly combine the two "nearest" clusters into one.Point Assignment:Ma
Stanford - CS - 345
Clustering AlgorithmsHierarchical Clustering k Means Algorithms CURE Algorithm1Methods of Clusteringx Hierarchical (Agglomerative): Initially, each point in cluster by itself. Repeatedly combine the two "nearest" clusters into one. Maintain a set of
Stanford - CS - 345
Clustering AlgorithmsHierarchical Clustering k -Means Algorithms CURE Algorithm1Methods of ClusteringHierarchical (Agglomerative):Initially, each point in cluster by itself. Repeatedly combine the two nearest clusters into one.Point Assignment:Main
Stanford - CS - 345
Clustering AlgorithmsHierarchical Clustering k Means Algorithms CURE Algorithm1Methods of Clusteringx Hierarchical (Agglomerative): Initially, each point in cluster by itself. Repeatedly combine the two "nearest" clusters into one. Maintain a set of
Stanford - CS - 345
CS345 Data Mining Crawling the Web Web Crawling BasicsStart with a "seed set" of tovisit urlsget next url get page extract urlsto visit urlsWebvisited urlsweb pagesCrawling Issues Load on web servers Insufficient resources to crawl entire web
Stanford - CS - 345
Problem 1:a) True Consider visiting the rows in the permuted order. The first time you see a one in any of the two columns, the column C1 \/ C2 will also have a one. Consequently, the first (minimum) row number which corresponds to the min hash value for
Stanford - CS - 345
Locality-Sensitive HashingBasic Technique Hamming-LSH Applications1Finding Similar PairsSuppose we have in main memory data representing a large number of objects.May be the objects themselves (e.g., summaries of faces). May be signatures as in minha
Stanford - CS - 345
LocalitySensitive HashingBasic Technique HammingLSH Applications1Finding Similar Pairsx Suppose we have in main memory data representing a large number of objects. May be the objects themselves (e.g., summaries of faces). May be signatures as in minh
Stanford - CS - 345
Finding Similar PairsDivideComputeMerge LocalitySensitive Hashing Applications1Finding Similar Pairsx Suppose we have in main memory data representing a large number of objects. May be the objects themselves (e.g., summaries of faces). May be signatu
Stanford - CS - 345
Mining Data StreamsThe Stream Model Sliding Windows Counting 1s1The Stream ModelData enters at a rapid rate from one or more input ports. The system cannot store the entire stream. How do you make critical calculations about the stream using a limited
Stanford - CS - 345
Mining Data StreamsThe Stream Model Sliding Windows Counting 1's1The Stream Modelx Data enters at a rapid rate from one or more input ports. x The system cannot store the entire stream. x How do you make critical calculations about the stream using a
Stanford - CS - 345
Mining Data StreamsThe Stream Model Sliding Windows Counting 1's1Data Management Versus Stream ManagementIn a DBMS, input is under the control of the programmer.SQL INSERT commands or bulk loaders.Stream Management is important when the input rate i
Stanford - CS - 345
Mining Data StreamsThe Stream Model Sliding Windows Counting 1's1Data Management Versus Stream Managementx In a DBMS, input is under the control of the programmer. x Stream Management is important when the input rate is controlled externally. Example
Stanford - CS - 345
More Stream-MiningCounting How Many Elements Computing Moments1Counting Distinct ElementsProblem: a data stream consists of elements chosen from a set of size n. Maintain a count of the number of distinct elements seen so far. Obvious approach: mainta
Stanford - CS - 345
More StreamMiningCounting How Many Elements Computing "Moments"1Counting Distinct Elementsx Problem: a data stream consists of elements chosen from a set of size n. Maintain a count of the number of distinct elements seen so far. x Obvious approach: m
Stanford - CS - 345
More Stream-MiningCounting Distinct Elements Computing "Moments" Frequent Itemsets Elephants and Troops Exponentially Decaying Windows1Counting Distinct ElementsProblem: a data stream consists of elements chosen from a set of size n. Maintain a count
Stanford - CS - 345
More StreamMiningCounting Distinct Elements Computing "Moments" Frequent Itemsets Elephants and Troops Exponentially Decaying Windows1Counting Distinct Elementsx Problem: a data stream consists of elements chosen from a set of size n. Maintain a count
Stanford - CS - 345
Still More Stream-MiningFrequent Itemsets Elephants and Troops Exponentially Decaying Windows1Counting ItemsProblem: given a stream, which items appear more than s times in the window? Possible solution: think of the stream of baskets as one binary st
Stanford - CS - 345
Still More StreamMiningFrequent Itemsets Elephants and Troops Exponentially Decaying Windows1Counting Itemsx Problem: given a stream, which items appear more than s times in the window? x Possible solution: think of the stream of baskets as one binary
Stanford - CS - 345
Stream ClusteringExtension of DGIM to More Complex Problems1Clustering a StreamAssume points enter in a stream. Maintain a sliding window of points. Queries ask for clusters of points within some suffix of the window. Important issue: where are the cl
Stanford - CS - 345
Stream ClusteringExtension of DGIM to More Complex Problems1Clustering a Streamx Assume points enter in a stream. x Maintain a sliding window of points. x Queries ask for clusters of points within some suffix of the window. x Important issue: where ar
Stanford - CS - 345
CS345 Data MiningIntroductions What Is It? Cultures of Data Mining1Course Staffx Instructors: Anand Rajaraman Jeff Ullman Robbie Yanx TA:2Requirementsx Homework (Gradiance and other) 20% x Project 40% x Final Exam 40% Gradiance class code BB8F69
Stanford - CS - 345
CS345 - Data MiningIntroductions What Is It? Cultures of Data Mining1Course StaffInstructors:Anand Rajaraman Jeff UllmanTA:Jeff Klingner2RequirementsHomework (Gradiance and other) 20%Gradiance class code DD984360Project 40% Final Exam 40%3Pr
Stanford - CS - 345
CS345 Data MiningIntroductions What Is It? Cultures of Data Mining1Course Staffx Instructors: Anand Rajaraman Jeff Ullman Jeff Klingnerx TA:2Requirementsx Homework (Gradiance and other) 20% x Project 40% x Final Exam 40% Gradiance class code DD9
Stanford - CS - 345
CS345 - Data MiningCourse Introduction Varieties of Data Mining Bonferroni's Principle1Course StaffInstructors:Anand Rajaraman Jeff UllmanTA:Babak Pahlavan2RequirementsHomework (Gradiance and other) 20%Gradiance class code B0E9AA66 Note URL for
Stanford - CS - 345
CS345A: Data Mining on the WebCourse Introduction Issues in Data Mining Bonferroni's Principle1Course Staffx Instructors: Anand Rajaraman Jeff Ullman Babak Pahlavanx TA:2Requirementsx Homework (Gradiance and other) 20% Gradiance class code B0E9A
Stanford - CS - 345
CS345A: Data Mining on the WebCourse Introduction Issues in Data Mining Bonferroni's Principle1Course Staffx Instructors: Anand Rajaraman Jeff Ullmanx Reach us as cs345awin0809staff @ lists.stanford.edu. x More info on www.stanford.edu/class/cs345a.
Stanford - CS - 345
Generalizing MapReduceThe Computational Model MapReduceLike Algorithms Computing Joins1Overviewx There is a new computing environment available: x Mapreduce allows us to exploit this environment easily. x But not everything is mapreduce. x What else c
Stanford - CS - 345
CS 345A Data MiningMapReduceSingle-node architectureCPU Machine Learning, Statistics Memory "Classical" Data Mining DiskCommodity ClustersWeb data sets can be very largeTens to hundreds of terabytesCannot mine on a single server (why?) Standard arc
Stanford - CS - 345
CS 345A Data MiningMapReduce Singlenode architectureCPU Machine Learning, Statistics Memory "Classical" Data Mining DiskCommodity ClustersWeb data sets can be very large Cannot mine on a single server (why?) Standard architecture emerging: Te
Stanford - CS - 345
CS 345A Data MiningMapReduceSingle-node architectureCPU Machine Learning, Statistics Memory Classical Data Mining DiskCommodity ClustersWeb data sets can be very largeTens to hundreds of terabytesCannot mine on a single server (why?) Standard archi
Stanford - CS - 345
CS 345A Data MiningMapReduce Singlenode architectureCPU Machine Learning, Statistics Memory "Classical" Data Mining DiskCommodity ClustersWeb data sets can be very large Cannot mine on a single server (why?) Standard architecture emerging: Te
Stanford - CS - 345
Near-Neighbor SearchApplications Matrix Formulation Minhashing1Example Application: Face RecognitionWe have a database of (say) 1 million face images. We want to find the most similar images in the database. Represent faces by (relatively) invariant v
Stanford - CS - 345
NearNeighbor SearchApplications Matrix Formulation Minhashing1Example Application: Face Recognitionx We have a database of (say) 1 million face images. x We want to find the most similar images in the database. x Represent faces by (relatively) invari
Stanford - CS - 345
Near-Neighbor SearchApplications Matrix Formulation Minhashing1Example Problem - Face RecognitionWe have a database of (say) 1 million face images. We are given a new image and want to find the most similar images in the database. Represent faces by (
Stanford - CS - 345
NearNeighbor SearchApplications Matrix Formulation Minhashing1Example Problem Face Recognitionx We have a database of (say) 1 million face images. x We are given a new image and want to find the most similar images in the database. x Represent faces b
Stanford - CS - 345
What is Database Theory?A collection of studies, often connected to the relational model of data. Restricted forms of logic, between SQL and full rst-order. Dependency theory: generalizing functional dependencies. Conjunctive queries CQ's: useful, decida
Stanford - CS - 345
CS345 Data MiningLink Analysis Algorithms Page Rank Anand Rajaraman, Jeffrey D. UllmanLink Analysis Algorithms Page Rank Hubs and Authorities TopicSpecific Page Rank Spam Detection Algorithms Other interesting topics we won't cover Detecting dup
Stanford - CS - 345
Link Analysis AlgorithmsCS345 Data MiningLink Analysis Algorithms Page RankPage Rank Hubs and Authorities Topic-Specific Page Rank Spam Detection Algorithms Other interesting topics we wont coverDetecting duplicates and mirrors Mining for communities
Stanford - CS - 345
CS345 Data MiningLink Analysis Algorithms Page Rank Anand Rajaraman, Jeffrey D. UllmanLink Analysis Algorithms Page Rank Hubs and Authorities TopicSpecific Page Rank Spam Detection Algorithms Other interesting topics we won't cover Detecting dup
Stanford - CS - 345
CS345 Data MiningLink Analysis Algorithms Page RankAnand Rajaraman, Jeffrey D. UllmanLink Analysis AlgorithmsPage Rank Hubs and Authorities Topic-Specific Page Rank Spam Detection Algorithms Other interesting topics we wont coverDetecting duplicates
Stanford - CS - 345
CS345 Data MiningLink Analysis Algorithms Page RankAnand Rajaraman, Jeffrey D. UllmanLink Analysis AlgorithmsPage Rank Hubs and Authorities Topic-Specific Page Rank Spam Detection Algorithms Other interesting topics we won't coverDetecting duplicates
Stanford - CS - 345
CS345 Data MiningLink Analysis Algorithms Page Rank Anand Rajaraman, Jeffrey D. UllmanLink Analysis Algorithms Page Rank Hubs and Authorities TopicSpecific Page Rank Spam Detection Algorithms Other interesting topics we won't cover Detecting dup