stanford大學(xué)-大數(shù)據(jù)挖掘-advertising.ppt_第1頁
stanford大學(xué)-大數(shù)據(jù)挖掘-advertising.ppt_第2頁
stanford大學(xué)-大數(shù)據(jù)挖掘-advertising.ppt_第3頁
stanford大學(xué)-大數(shù)據(jù)挖掘-advertising.ppt_第4頁
stanford大學(xué)-大數(shù)據(jù)挖掘-advertising.ppt_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

CS 345 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,4,a,b,c,d,Girls,Boys,Example: Bipartite matching,1,2,3,4,a,b,c,d,M = (1,a),(2,b),(3,d) is a matching Cardinality of matching = |M| = 3,Girls,Boys,Example: Bipartite matching,1,2,3,4,a,b,c,d,Girls,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,(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,(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 adopted by Google with some changes around 2002 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”,The Adwords Innovation,Advertiser,Bid,CTR,Bid * CTR,A,B,C,$1.00,$0.75,$0.50,1%,2%,2.5%,1 cent,1.5 cents,1.125 cents,The Adwords Innovation,Advertiser,Bid,CTR,Bid * CTR,A,B,C,$1.00,$0.75,$0.50,1%,2%,2.5%,1 cent,1.5 cents,1.125 cents,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 an eligible 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,Consider simple case: two advertisers, A1 and A2, each with budget B (assume B 1) Assume optimal solution exhausts both advertisers budgets BALANCE must exhaust at least one advertisers budget If not, we can allocate more queries Assume BALANCE exhausts A2s budget,Analyzing Balance,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,Queries allocated to A1 in optimal solution,Queries allocated to A2 in optimal solution,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,After k rounds, sum of allocations to each of bins Ak,AN is Sk = Sk+1 = = SN = 1 1 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) B/N,S1,S2,Sk = B,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) 1/N,log(N),Sk = 1 im

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論