This document provides an overview of artificial intelligence and machine learning. It discusses how machine learning works using data and examples to build intelligence. Examples of everyday and business uses of machine learning are presented, such as predicting property prices, email spam detection, and demand forecasting. The document outlines the types of analytics that can be performed, from descriptive to predictive to prescriptive. It also discusses how machine learning models are developed and deployed through predictive APIs.
22. I. Get more customers
II. Serve customers better
III. Serve customers more efficiently
23. I. Get more customers
• Reduce churn
• Score leads
customer churn indicator
customer revenue
24. II. Serve customers better
• Provide the right products
• Optimize pricing
• Use predictive enterprise apps…
customer & product purchase indicator
product & price #sales
25. III. Serve customers more efficiently
• Predict demand
• Automate tasks
• Use predictive enterprise apps…
context demand
credit application repayment indicator
26. Predictive enterprise apps
• Social media filtering
• Message routing
tweet actionability indicator
request employee
RULES
27. –Katherine Barr, Partner at VC-firm MDV
"Pairing human workers with
machine learning and automation
will transform knowledge work
and unleash new levels of human
productivity and creativity."
30. 1. Show churn rate against time
2. Predict which customers will churn next
3. Decide what to do about each customer
(e.g. propose to switch plan, send promotional offer, etc.)
30
Churn analysis
31. “Decide what to do about each customer”→ prioritised list of actions,
based on…
• Customer representation + context
• Churn prediction & action prediction
• Uncertainty in predictions
• Revenue brought by customer & Cost of actions
• Constraints on frequency of solicitations
31
Churn analysis
32. 1. Show past demand against calendar
2. Predict demand for [product] at [store] in next 2 days
3. Decide how much to ship
• Trade-off: cost of storage vs risk of lost sales
• Constraints on order size, truck volume, capacity of people
putting stuff into shelves
32
Replenishment
34. 3. Decide price given product and context…
• For several price candidates (within constrained range):
• Predict # sales given product, context, price
• Multiply by price to estimate revenue
34
Pricing optimisation
35. 3. Decide price given product and context…
• For several price candidates (within constrained range):
• Predict 95%-confidence lower bound on # sales given
product, context, price
• Multiply by price to estimate revenue
35
Pricing optimisation
36. • Context
• Predictions
• Uncertainty in predictions
• Constraints
• Costs / benefits
• Competing objectives
• Business rules
36
Decisions are based on…
40. Software components for automated decisions:
• Create training dataset from historical data (merge sources, aggregate…)
• Provide predictive model from given training set (i.e. learn)
• Provide prediction against model for given context
• Provide optimal decision from given contextual data, predictions,
uncertainties, constraints, objectives, costs
• Apply given decision
40
Separation of concerns
41. Software components for automated decisions:
• Create training dataset from historical data (merge sources, aggregate…)
• Provide predictive model from given training set (i.e. learn)
• Provide prediction against model for given context
• Provide optimal decision from given contextual data, predictions,
uncertainties, constraints, objectives, costs
• Apply given decision
41
Application-specific component
42. Software components for automated decisions:
• Create training dataset from historical data (merge sources, aggregate…)
• Provide predictive model from given training set (i.e. learn)
• Provide prediction against model for given context
• Provide optimal decision from given contextual data, predictions,
uncertainties, constraints, objectives, costs
• Apply given decision
42
Optimization / Operations Research component
43. Software components for automated decisions:
• Create training dataset from historical data (merge sources, aggregate…)
• Provide predictive model from given training set (i.e. learn)
• Provide prediction against model for given context
• Provide optimal decision from given contextual data, predictions,
uncertainties, constraints, objectives, costs
• Apply given decision
43
Machine Learning components
44. Software components for automated decisions:
• Create training dataset from historical data (merge sources, aggregate…)
• Provide predictive model from given training set (i.e. learn)
• Provide prediction against model for given context
• Provide optimal decision from given contextual data, predictions,
uncertainties, constraints, objectives, costs
• Apply given decision
44
Predictive APIs
46. The two phases of machine learning:
• TRAIN a model
• PREDICT with a model
46
Predictive APIs
47. The two methods of predictive APIs:
• TRAIN a model
• PREDICT with a model
47
Predictive APIs
48. The two methods of predictive APIs:
• model = create_model(‘training.csv’)
• predicted_output, confidence =
create_prediction(model, new_input)
48
Predictive APIs
49. Cloud:
• Amazon ML
• BigML
• Google Prediction
• PredicSis
49
Providers of REST http Predictive APIs
Open source:
• Seldon
• PredictionIO
64. Make sure that…
• All efforts are directed at solving the right problem for your
company
• You’re using the right algorithm, infrastructure, or ML solution
for that problem
• Team members understand each other (developers, data
scientists, product managers, business executives)
64
Before you start implementing
66. PREDICTIONS OBJECTIVES DATA
Context
Who will use the predictive system / who will be
affected by it? Provide some background.
Value Proposition
What are we trying to do? E.g. spend less time on
X, increase Y...
Data Sources
Where do/can we get data from? (internal
database, 3rd party API, etc.)
Problem
Question to predict answers to (in plain English)
Input (i.e. question "parameter")
Possible outputs (i.e. "answers")
Type of problem (e.g. classification, regression,
recommendation...)
Baseline
What is an alternative way of making predictions
(e.g. manual rules based on feature values)?
Performance evaluation
Domain-specific / bottom-line metrics for
monitoring performance in production
Prediction accuracy metrics (e.g. MSE if
regression; % accuracy, #FP for classification)
Offline performance evaluation method (e.g.
cross-validation or simple training/test split)
Dataset
How do we collect data (inputs and outputs)?
How many data points?
Features
Used to represent inputs and extracted from
data sources above. Group by types and
mention key features if too many to list all.
Using predictions
When do we make predictions and how many?
What is the time constraint for making those predictions?
How do we use predictions and confidence values?
Learning predictive models
When do we create/update models? With which data / how much?
What is the time constraint for creating a model?
Criteria for deploying model (e.g. minimum performance value — absolute,
relative to baseline or to previous model)
IDEASPECSDEPLOYMENT
69. PREDICTIONS OBJECTIVES DATA
BACKGROUND End-user Value prop Sources
ENGINE SPECS ML problem Perf eval Preparation
INTEGRATION Using pred Learning modelINTEGRATION Using pred Learning model