Today, most application developers write code without much regard for how quickly it will run. Moreover, once the code is written, it is rare for it to be reengineered to run faster. But two technology trends of historic proportions are instigating a resurgence in software performance engineering, the art of making code run fast. The first is the emergence of cloud computing, where the economics of renting computation, as opposed to buying it, heightens the utility of application speed.
Latent variable models are widely used in applications ranging from natural language processing to recommender systems. Exact inference using maximum likelihood for these models is generally NP-hard, and computationally prohibitive on big and/or high-dimensional data. This has motivated the development of approximate inference methods that balance between computational complexity and statistical efficiency. Understanding the computational and statistical tradeoff is important for analyzing approximate inference approaches as well as designing new ones.
Controlled experiments, or A/B tests, are the gold standard for optimizing websites. From Amazon's checkout flow to Google's search results, A/B tests can help companies improve workflows to download software, sign-up for subscriptions, click on content, or make a purchase. But, controlled experiments have roots far beyond optimizing websites for conversion. In its simplest form, controlled experiments help establish a causal relationship of a change for a target audience.