Behavioral targeting (BT) leverages historical user behavior to select the ads most relevant to users to display. The state-of-the-art of BT derives a linear Poisson regression model from fine-grained user behavioral data and predicts click-through rate (CTR) from user history. We designed and implemented a highly scalable and efficient solution to BT using Hadoop MapReduce framework. With our parallel algorithm and the resulting system, we can build above 450 BT-category models from the entire Yahoo's user base within one day, the scale that one can not even imagine with prior systems. Moreover, our approach has yielded 20% CTR lift over the existing production system by leveraging the well-grounded probabilistic model fitted from a much larger training dataset.
Specifically, our major contributions include: (1) A MapReduce statistical learning algorithm and implementation that achieve optimal data parallelism, task parallelism, and load balance in spite of the typically skewed distribution of domain data. (2) An in-place feature vector generation algorithm with linear time complexity O(n) regardless of the granularity of sliding target window. (3) An in-memory caching scheme that significantly reduces the number of disk IOs to make large-scale learning practical. (4) Highly efficient data structures and sparse representations of models and data to enable fast model updates. We believe that our work makes significant contributions to solving large-scale machine learning problems of industrial relevance in general. Finally, we report comprehensive experimental results, using industrial proprietary codebase and datasets.
[1]
Norman E. Gibbs,et al.
A Comparison of Several Bandwidth and Profile Reduction Algorithms
,
1976,
TOMS.
[2]
Pravin K. Trivedi,et al.
Regression Analysis of Count Data: Preface
,
1998
.
[3]
H. Sebastian Seung,et al.
Algorithms for Non-negative Matrix Factorization
,
2000,
NIPS.
[4]
Shang-Hua Teng,et al.
Smoothed analysis of algorithms: why the simplex algorithm usually takes polynomial time
,
2001,
STOC '01.
[5]
John F. Canny,et al.
GaP: a factor model for discrete data
,
2004,
SIGIR '04.
[6]
Sanjay Ghemawat,et al.
MapReduce: Simplified Data Processing on Large Clusters
,
2004,
OSDI.