Share
Embed
Estimating Conversion Rate in Display Advertising from Past Performance Data
有名な論文ですね。
スパース性が高いデータに対する推定方法や補正方法等、実務で参考になる点が多いです。もちろん研究にも。
jujudubai
June 13, 2014
Transcript
21 slides
-
Agenda 1. Introduction 2. Issues 1. Problem Setup & Formulation
2. Data Hierarchies 3. Conversion Rate Estimation 1. Past Performance at Different Hierarchical Levels 2. Combining Estimators using Logistic Regression 4. Practical Issues (Propose) 1. Data Imbalance 2. Output Calibration 3. Missing Features 4. Feature Selection 5. Results & Discussion 1. Data Imbalance & Score Calibration 2. Missing Value Imputation 3. “Baseline Estimators” vs “Logistic Regression” 6. Conclusion -
Introduction 1.ɹࠂग़ߘͷೖࡳΛߦ͏DSPͷ͓ ɹࠂΛදࣔ͢ΔWebαΠτɺϢʔβʔ͔Β࠷దԽͳ”bidprice”Λਪఆ͍ͨ͠ ɹ㱺ɹCVRΛਖ਼֬ʹ༧ଌ͢Δඞཁੑ 2.ɹ՝ ɹ[1]ɹCVRۃΊͯখ͘͞ɺੳʹेͳ͕ಘΒΕͳ͍ -ɹCVR = 0.0001 ~
0.1% ɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹ㱺ɹ֊Խɺ”implicit”ͳΫϥελϦϯάͰղܾ ɹ[2] ɹRTBͰɺೖࡳ·Ͱͷ͕࣌ؒ5 ~ 10ms͔͠ͳ͍ -ɹ࣌ؒత੍͕ڧ͍ͨΊɺܭࢉྔ͕গͳ͔ͭ͘ਖ਼֬ͳଌఆ๏͕ඞཁ ɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹ㱺ɹɹLogistic RegressionͰղܾ -
Issues: §2.2 Problem Setup & Formulation 1.ɹมͷઆ໌ 2.ɹ࠷దͳࠂͷબ 3.ɹϩδεςΟοΫճؼʹΑΔCVRͷ༧ଌ •
ɹCVΛ֬తʹଊ͑Δ 4.ɹ࠷దͳࠂͷબʹ͓͚Δઃఆ Yijk ⇠ Bernoulli (pijk), pijk = p(Y = 1|ui, pj, ak) ϕϧψʔΠΛԾఆ͢Δ user : ui page : pj ad : ak ad⇤ = arg max k=1,....,n p ( Y =1 | ui, pj, ak) -
5. ɹϢʔβʔݸਓʢu_iʣͷCVRΛݟੵΒͣʹɺΫϥελϦϯάͱ࠷ਪఆ๏ʹै͍ܭࢉ • ɹ{ad,user,page} ͱ֊ߏԽͤ͞Δ͜ͱͰɺσʔλͷεύʔεੑΛղܾ $7 JNQ Ϣʔβʔͷଐ͢ΔΫϥελʔͱ ϢʔβʔݸਓͷCVRಉΛߟ͑Δ ˜
Yijk ⇠ Binomial ( Tijk,˜ pijk), ˜ pijk = p ( Y = 1 | u 2 UsrClusti, pj, ak), ˜ p MLE ijk = ( Sijk Tijk , if Tijk 6= 0 unknown, if Tink = 0 , -
§2.3 Data Hierarchies 1.ɹσʔλʹ֊ߏΛ࣋ͨͤɺ”implict” ͳΫϥελϦϯά ɹAdɺpageɺuserͷNodeΛٻΊΔͱɺla × lp × lu
ݸʢ=MݸʣͷΫϥελʹॴଐ͢Δ 2.ɹ“implicit” user clustering ͱ… ɹ㱺ɹ“explicit”ͳΫϥελϦϯάʢσϞάϥϑΟοΫใऩೖΛҼࢠʹ…) ɹɹɹͰͳ͘ɺ ɹɹɹ๚ͨ͠WebαΠτͷΧςΰϦʔΛҼࢠʹ… ɹɹɹ{User × Publisher Type × Campaign} -
3. ɹpast count data(i.e., number of imp and cv) ͔ΒదͳΫϥελʔʹஔ
ɹݸਓͱΫϥελͷCVRͷۙࣅࣜ Ϣʔβʔͷଐ͢ΔΫϥελʔ pijk = p(Y = 1|ui,pj,ak) ⇡ ˜ pijk = p( ˜ Y = 1|u 2 Cui ,pj,ak) -
Conversion Rate Estimation: §3.1 Past Performance at Different Hierarchical Levels
1. ɹThe first challengeɿ ɹಉҰ͘͠ۃΊ͍ͯۙCVRΛ࣋ͭ”user”ͱ”group users”=ClusterΛಛఆ͢Δ͜ͱ 2. ɹThe main challengeɿ ɹෆ͕ͪ͠ͳ”CVͨ͠؍ଌ”ΛͲͷΑ͏ʹѻ͏͔ ɹmissing dataͷิਖ਼ ɹex) for a true conversion rate that is on order of 10^-5 (on the order of millions imp) 3. ɹCVRͷ࠶ఆٛ 4. ɹ࠷ਪఆ๏Ͱܭࢉ֤ͨؔ͠Λσʔλ֊ຖͰͦΕͧΕ͔͚߹ΘͤɺMݸͷp_ijkΛఆٛ ɹ㱺ɹ֤֊ຖͷ̍ͭ̍ͭͷCVR༧ଌثͷਫ਼ऑ͍͕ɺͦΕΛΈ߹ΘͤΔ͜ͱߴਫ਼ʹ VTFSɺQBHFɺ"EάϧʔϓԽ pijk = f(ˆ ˜ p1 ijk = 1| u 2 Cui ,2 Cpj ,a 2 Cak ) -
§3.2 Combining Estimators using Logistic Regression 1.ɹϩδεςΟοΫճؼΛར༻֤ͯ͠༧ଌثʹ࠷దͳॏΈ͚ ɹ㱺ɹMݸͷҟͳΔϨϕϧͰͷ࠷ਪఆ๏ʹΑΔCVRͷਪఆ 2.ɹ֤༧ଌثΛΈ߹ΘͤͨCVR༧ଌͷ࠷ఆٛ
ɹ㱺ɹ࠷దͳύϥϝʔλϕΫτϧ”β”ΛܾΊΔඞཁੑ pijk = f(ˆ ˜ p1 ijk ,...,ˆ ˜ pM ijk ; ) -
3.ɹ֤PVʹଳ͢Δ”ରؔ” 4.ɹ࠷దͳ”β”ͷਪఆʢL-BFGS-B๏ʣࢀߟʣhttp://en.wikipedia.org/wiki/L-BFGS
➡ɹ࠷దԽΞϧΰϦζϜͷҰछ ➡ɹRͰoptim() ΩϟϯϖʔϯͷTճͷJNQ userɺpageɺAdͷΈ߹Θͤ࣌ͷਖ਼֬ͳCVRͷܭࢉख๏ -
Practical Issues (Propose): §4.1 Data Imbalance 1. ɹ2ͭͷ”Data Imbalance” 1.ɹThe
average conversion rate of an advertising campaign is inherently very low and … - ɹCVRฏۉతʹ͘ɺेͳαϯϓϧΛ֬อ͢Δͷ͕ࠔ ɹex) 10^-3 to 10^-6 2.ɹThe ratio of the number of no-conversion events to that of conversion events is very large… - ɹcvʹର͢Δʢେͳʣimpͷσʔλͷௐ 2.ɹରࡦ ɹɹ-ɹCVͨ͠σʔλશͯར༻ ɹɹ-ɹnon-CVσʔλαϯϓϦϯάͯ͠ར༻ -
§4.2 Output Calibration 1.ɹείΞΛ۠ؒͰׂ͠ɺCalibration͢Δ ɹLRͷ݁Ռɹʹɹbinʹׂ
ຊͷ$73ʹ͚ۙͮΔ CJOͷ$73ʢαϯϓϧʣΛܭࢉ -
§4.3 Missing Features 1.ɹσʔλ͕ͳ͍߹ͷิਖ਼ ɹɹ-ɹMARύλʔϯʢmissing at randomʣ ɹɹ ɹˠɹ͋Δม͕ܽଌͱͳΔ֬؍ଌ͞Εͨσʔλ͚ͩʹґଘ͠ɺ ɹɹ
ɹɹɹܽଌ͍ͯ͠Δมͷຊདྷͷʹґଘ͠ͳ͍ ɹɹ ex)ɹϢʔβʔϓϩϑΝΠϧαʔόʹͳ͍userIDɺcategoryʹྨͰ͖ͳ͍Web page ɹɹ-ɹ͖݅ΨεʹΑΔิਖ਼ -
Results & Discussion: §5.1 Data Imbalance & Score Calibration 1.ɹ
࣮ݧ݅ ɹɹ-ɹࠂ5छྨʢͦΕͧΕ1͋ͨΓ100ສPVʣ ɹɹ-ɹ2012/1ͷ2िؒͷϩάΛར༻ ɹɹ-ɹ1ि܇࿅ɺ2िςετ ɹɹ-ɹ͋ΔϢʔβʔ͕ϖʔδɺࠂΛݟͨ࣌ʹCV͢Δ͔͠ͳ͍͔༧ 2.ɹ܇࿅σʔλͷCV/non-CVͷӨڹ ɹˎɹIRʢimbalance ratioʣʹΑΔࠩͳ͠ -
§5.3 “Baseline Estimators” vs “Logistic Regression” 1. ɹఏҊख๏ͷޮՌ 1.ɹBaseline 1
: ϢʔβʔͷྸɺੑผɺډॅҬͷσϞάϥϑΟοΫͳଐੑʹΑΔΫϥελϦϯάͱ ࠂ܈ʹΑΔਪఆ Ϣʔβʔͱಉ͡ϢʔβʔάϧʔϓʢΫϥελʔʣ ʢաڈͷӾཡύλʔϯσϞάϥϑΟοΫʹΑΓಛఆʣ pijk ⇡ ˆ ˜ p1 = pMLE(Y = 1| u 2 CG ui ,ak 2 Campaignak ) -
2.ɹBaseLine 2 : ɹࠂ܈ΛݟͨϢʔβʔͱಛఆͷࠂʹΑΔਪఆ 2. ݁Ռ -ɹLR͕B1ʹରͯ͠28.2%ɺB2ʹରͯ͠5.92%͕ߴ͍
pijk ⇡ ˆ ˜ p2 = pMLE(Y = 1|u 2 CA ui ,ak) -
§6 Conclusion 1. ݁ 1. RTBʹର͢ΔߴͳCVRਪఆख๏ΛఏҊ →ɹLRʹΑΔύϥϝʔλͷਪఆ͕·͍͠ 2. ֊ߏԽʹΑΓਫ਼্͕ →ɹ{user,page,ad}
ͷΑ͏ʹ֊Խ͢Δ͜ͱ͕·͍͠ 2. ՝ͱٙ • ɹCVͷΫϥελϦϯάख๏ʹؔͯ͠ৄ͍͠هࡌ͕ͳ͔ͬͨɻ ɹ”implicit”ͳΫϥελϦϯάͷ۩ମతͳख๏͕هࡌ͞Ε͍ͯͳ͍ɻ