SlideShare uma empresa Scribd logo
1 de 20
Learn Like a Human: Taking Machine
Learning from Batch to Real-Time
By Elad Rosenheim, Senior Software Architect
delivered in
Learn Like a Human: Taking Machine Learning from Batch to Real-Time
• The Industry’s Problem
• Old School Solutions
• Meet the Contextual Bandits
On the Agenda:
Learn Like a Human: Taking Machine Learning from Batch to Real-Time
• Publishers, retailers, SaaS
all share a common problem
• They know their domain
but not how to optimize for each user
• Screen real-estate is limited
yet everyone sees the same thing
The Industry’s Problem
Learn Like a Human: Taking Machine Learning from Batch to Real-Time
Commonly asked questions
• What articles should be
shown on the homepage of
an online publisher?
• What titles and images
would attract the most
clicks?
• What should the order and
layout of the articles be?
• Should every user see the
“Top Videos” section?
• What is the best layout for
the homepage?
Learn Like a Human: Taking Machine Learning from Batch to Real-Time
Commonly asked questions
• Which product sorting
layout would yield the
highest revenue?
• Should the layout differ
significantly between
different user segments?
Learn Like a Human: Taking Machine Learning from Batch to Real-Time
• What types of products should be shown,
and to whom?
Commonly asked questions
Learn Like a Human: Taking Machine Learning from Batch to Real-Time
In the Beginning:
• First came the educated guess
• Then came the A/B test
• "Data Beats Opinion“
• Freedom to experiment (with nice tools)
• Hopefully: Less fear of change, less politics
• How does it work?
• Split traffic between baseline and alternative variations
• In theory: Sit and wait for significant results
• In practice: Peek at the numbers ‘til “95% confidence” is reached
Learn Like a Human: Taking Machine Learning from Batch to Real-Time
While you wait, you're bleeding clicks!
Clicks = Money
What about the really dynamic stuff?
Campaigns, headlines, products on sale
A/B Tests: Already Old School?
Learn Like a Human: Taking Machine Learning from Batch to Real-Time
• A Single-arm Bandit
• Suppose I have multiple arms in front of me,
each with its unknown mean reward…
• How do I optimize income from multiple
machines?
• Caution or Haste?
• Explore vs. Exploit
• In our context:
How do I optimize multiple variations?
Enter the Multi-arm Bandits
Learn Like a Human: Taking Machine Learning from Batch to Real-Time
• (Very) Simple Solutions
• ε-greedy, ε–decreasing
• First 100% random explore, then ~90% exploit?
• Magic numbers, built-in revenue loss
• Bayesian-based approaches
• Smoother curve from explore to exploit
• “Winner” is now a less relevant term
Bandits - A Classic Problem
Learn Like a Human: Taking Machine Learning from Batch to Real-Time
We want to find the variation “best on average“
…but we’re not improving the conversion rate of any single variation
Bandits work well when…
0.4%1.7%2.4%
Learn Like a Human: Taking Machine Learning from Batch to Real-Time
• Each of us is a beautiful and unique feature vector!
• By showing the right variation to the right people, we can improve
conversions per variation and beat the best variation
• Machine learning challenge accepted!
Enter Personalization
Learn Like a Human: Taking Machine Learning from Batch to Real-Time
The Usual Suspects
• Collaborative Filtering?
• Very big, very sparse matrix
• Cold start, batch process
• Not suitable in this case
• Classifiers?
• Logistic Regression, Random Forest et al.
• Periodically learn over all converters so far
• More data = more time, bigger model
• “Partial Feedback” problem:
• Users aren’t of class “Variation A” or “Variation B”.
• Rather, for any given user, we’re placing our bets on a variation and
don’t know what the reward would be for any other alternative.
Learn Like a Human: Taking Machine Learning from Batch to Real-Time
• Like a bandit, we need to learn as we go (not in batch),
but this time with “context” - the user’s data
• Incremental Learning over the stream of impressions & rewards
(“Partial Fit”)
• We’re looking to…
• Start learning from the first impression
• Handle the explore-exploit curve
• Run fast (enough)
• Worst case: Converge on the best variation like a bandit
What We Need
Learn Like a Human: Taking Machine Learning from Batch to Real-Time
• They “eat” the data stream
• They demand fast access to user data
• Historical or immediate
• Their model is always ready for action
• In the Papers
• Linear Bayes, LinUCB
• What we do: Per-Variation Logistic Regression
• A variant supporting updates in “mini-batches”
• Exploration-on-top
• Worst case: “Garbage In Multi Arm Bandit Out”
• Light on memory, compact output
Meet the Contextual Bandits
Learn Like a Human: Taking Machine Learning from Batch to Real-Time
• Online should be fast & scaled
• Offline: A test-bed for iteratively testing new ideas
• New algorithms
• Tweaked parameters
• Feature transformations - last but not least!
How We Do It: Online & Offline
Learn Like a Human: Taking Machine Learning from Batch to Real-Time
Persist Model
The Online Flow
DY Web Servers:
a. Get our script
b. Log impressions,
conversions
Learn Workers
User DB
Load to Predict Server
Queue Per Test
A B C
A B C
A B C
Predictions
Learn Like a Human: Taking Machine Learning from Batch to Real-Time
• Test, Improve, Iterate
• Using real-world data
• Using generated data
• From easy to hard
The Offline Evaluator
Learn Like a Human: Taking Machine Learning from Batch to Real-Time
• Learn in the center site, predict quickly in each geo. How?
• Push models via local Redis slaves
• Compressed SSH tunnel
• User data - daily aggregation
• Store into LMDB (simple, fast memory-mapped K/V DB)
• Sync via S3 (LZ4 compressed), read from local SSD
• Learn & Predict services
• Python as ML lingua franca: NumPy, SciPy, scikit-learn
Going Global
Learn Like a Human: Taking Machine Learning from Batch to Real-Time
• Better data beats better algorithms
• Reduce aggressively
Keep It Simple, Smart!
By Elad Rosenheim, Senior Software Architect
Final Word:
* Thanks to Idan Michaeli, Lead Data Scientist

Mais conteúdo relacionado

Mais procurados

Improving website conversions
Improving website conversionsImproving website conversions
Improving website conversionsSam shetty
 
Geary LSF University Presents: Analytics Basics
Geary LSF University Presents: Analytics BasicsGeary LSF University Presents: Analytics Basics
Geary LSF University Presents: Analytics BasicsKatie Fellenz
 
Building a successful Multi-Screen Digital Strategy
Building a successful Multi-Screen Digital StrategyBuilding a successful Multi-Screen Digital Strategy
Building a successful Multi-Screen Digital StrategyShay Rosen (שי רוזן)
 
Jessops - eCommerce Strategy
Jessops - eCommerce StrategyJessops - eCommerce Strategy
Jessops - eCommerce StrategyMartha Tolosa
 
Marketing Consulting Services
Marketing Consulting ServicesMarketing Consulting Services
Marketing Consulting ServicesTim Somers
 
Establishing An Online Presence - Coonamble Shire Council
Establishing An Online Presence - Coonamble Shire CouncilEstablishing An Online Presence - Coonamble Shire Council
Establishing An Online Presence - Coonamble Shire CouncilAndrew Cavallaro
 
III Kongres eHandlu: Yash Abhishek Chaurasia (Unbounce.com), "Delightful Cust...
III Kongres eHandlu: Yash Abhishek Chaurasia (Unbounce.com), "Delightful Cust...III Kongres eHandlu: Yash Abhishek Chaurasia (Unbounce.com), "Delightful Cust...
III Kongres eHandlu: Yash Abhishek Chaurasia (Unbounce.com), "Delightful Cust...ecommerce poland expo
 
Oren Cohen - Optimizely (All Things Data 2015)
Oren Cohen - Optimizely (All Things Data 2015)Oren Cohen - Optimizely (All Things Data 2015)
Oren Cohen - Optimizely (All Things Data 2015)Shuki Mann
 
Google Premier Connect - Growing Health Businesses
Google Premier Connect - Growing Health BusinessesGoogle Premier Connect - Growing Health Businesses
Google Premier Connect - Growing Health BusinessesAlexei Kouleshov
 
IIA Analytics
IIA AnalyticsIIA Analytics
IIA AnalyticsLar Veale
 
Empowering Multiscreen web and mobile applications with Mobilespear
Empowering Multiscreen web and mobile applications with MobilespearEmpowering Multiscreen web and mobile applications with Mobilespear
Empowering Multiscreen web and mobile applications with MobilespearShay Rosen (שי רוזן)
 
Demandbase + Reachdesk: Turning Marketing Data into Magic
Demandbase + Reachdesk: Turning Marketing Data into MagicDemandbase + Reachdesk: Turning Marketing Data into Magic
Demandbase + Reachdesk: Turning Marketing Data into MagicDemandbase
 
Klikki innometrics webinar presentation
Klikki innometrics webinar presentationKlikki innometrics webinar presentation
Klikki innometrics webinar presentationKliKKi Group
 
From Unknown to Known: Turning Website Visitors into Organization Advocates
From Unknown to Known: Turning Website Visitors into Organization AdvocatesFrom Unknown to Known: Turning Website Visitors into Organization Advocates
From Unknown to Known: Turning Website Visitors into Organization AdvocatesInformz
 
Introduction to Intempt
Introduction to IntemptIntroduction to Intempt
Introduction to IntemptSid Chaudhary
 
Website evaluation
Website evaluationWebsite evaluation
Website evaluationadeptdigital
 
Search Marketing In Airlines
Search Marketing In AirlinesSearch Marketing In Airlines
Search Marketing In AirlinesColin Lewis
 

Mais procurados (20)

Web analytics
Web analyticsWeb analytics
Web analytics
 
Improving website conversions
Improving website conversionsImproving website conversions
Improving website conversions
 
Geary LSF University Presents: Analytics Basics
Geary LSF University Presents: Analytics BasicsGeary LSF University Presents: Analytics Basics
Geary LSF University Presents: Analytics Basics
 
Building a successful Multi-Screen Digital Strategy
Building a successful Multi-Screen Digital StrategyBuilding a successful Multi-Screen Digital Strategy
Building a successful Multi-Screen Digital Strategy
 
Jessops - eCommerce Strategy
Jessops - eCommerce StrategyJessops - eCommerce Strategy
Jessops - eCommerce Strategy
 
Marketing Consulting Services
Marketing Consulting ServicesMarketing Consulting Services
Marketing Consulting Services
 
2014 ieef-optimization-meetup-october-2014
2014 ieef-optimization-meetup-october-20142014 ieef-optimization-meetup-october-2014
2014 ieef-optimization-meetup-october-2014
 
Establishing An Online Presence - Coonamble Shire Council
Establishing An Online Presence - Coonamble Shire CouncilEstablishing An Online Presence - Coonamble Shire Council
Establishing An Online Presence - Coonamble Shire Council
 
III Kongres eHandlu: Yash Abhishek Chaurasia (Unbounce.com), "Delightful Cust...
III Kongres eHandlu: Yash Abhishek Chaurasia (Unbounce.com), "Delightful Cust...III Kongres eHandlu: Yash Abhishek Chaurasia (Unbounce.com), "Delightful Cust...
III Kongres eHandlu: Yash Abhishek Chaurasia (Unbounce.com), "Delightful Cust...
 
SEO Is Dead?
SEO Is Dead?SEO Is Dead?
SEO Is Dead?
 
Oren Cohen - Optimizely (All Things Data 2015)
Oren Cohen - Optimizely (All Things Data 2015)Oren Cohen - Optimizely (All Things Data 2015)
Oren Cohen - Optimizely (All Things Data 2015)
 
Google Premier Connect - Growing Health Businesses
Google Premier Connect - Growing Health BusinessesGoogle Premier Connect - Growing Health Businesses
Google Premier Connect - Growing Health Businesses
 
IIA Analytics
IIA AnalyticsIIA Analytics
IIA Analytics
 
Empowering Multiscreen web and mobile applications with Mobilespear
Empowering Multiscreen web and mobile applications with MobilespearEmpowering Multiscreen web and mobile applications with Mobilespear
Empowering Multiscreen web and mobile applications with Mobilespear
 
Demandbase + Reachdesk: Turning Marketing Data into Magic
Demandbase + Reachdesk: Turning Marketing Data into MagicDemandbase + Reachdesk: Turning Marketing Data into Magic
Demandbase + Reachdesk: Turning Marketing Data into Magic
 
Klikki innometrics webinar presentation
Klikki innometrics webinar presentationKlikki innometrics webinar presentation
Klikki innometrics webinar presentation
 
From Unknown to Known: Turning Website Visitors into Organization Advocates
From Unknown to Known: Turning Website Visitors into Organization AdvocatesFrom Unknown to Known: Turning Website Visitors into Organization Advocates
From Unknown to Known: Turning Website Visitors into Organization Advocates
 
Introduction to Intempt
Introduction to IntemptIntroduction to Intempt
Introduction to Intempt
 
Website evaluation
Website evaluationWebsite evaluation
Website evaluation
 
Search Marketing In Airlines
Search Marketing In AirlinesSearch Marketing In Airlines
Search Marketing In Airlines
 

Semelhante a Learn Like a Human: Taking Machine Learning from Batch to Real-Time

Taking Machine Learning from Batch to Real-Time (big data eXposed 2015)
Taking Machine Learning from Batch to Real-Time (big data eXposed 2015)Taking Machine Learning from Batch to Real-Time (big data eXposed 2015)
Taking Machine Learning from Batch to Real-Time (big data eXposed 2015)Elad Rosenheim
 
Thomas Jensen. Machine Learning
Thomas Jensen. Machine LearningThomas Jensen. Machine Learning
Thomas Jensen. Machine LearningVolha Banadyseva
 
Building a Recommendation Engine - A Balancing act
Building a Recommendation Engine - A Balancing actBuilding a Recommendation Engine - A Balancing act
Building a Recommendation Engine - A Balancing actElad Rosenheim
 
From Labelling Open data images to building a private recommender system
From Labelling Open data images to building a private recommender systemFrom Labelling Open data images to building a private recommender system
From Labelling Open data images to building a private recommender systemPierre Gutierrez
 
EIA2017Italy - Danny Lange - Artificial Intelligence - A Game Changer in App ...
EIA2017Italy - Danny Lange - Artificial Intelligence - A Game Changer in App ...EIA2017Italy - Danny Lange - Artificial Intelligence - A Game Changer in App ...
EIA2017Italy - Danny Lange - Artificial Intelligence - A Game Changer in App ...European Innovation Academy
 
Master Technical Recruiting Workshop: How to Recruit Top Tech Talent
Master Technical Recruiting Workshop:  How to Recruit Top Tech TalentMaster Technical Recruiting Workshop:  How to Recruit Top Tech Talent
Master Technical Recruiting Workshop: How to Recruit Top Tech TalentRecruitingDaily.com LLC
 
Churn prediction data modeling
Churn prediction data modelingChurn prediction data modeling
Churn prediction data modelingPierre Gutierrez
 
An Agile Approach to Machine Learning
An Agile Approach to Machine LearningAn Agile Approach to Machine Learning
An Agile Approach to Machine LearningRandy Shoup
 
AWS re:Invent 2016: Leverage the Power of the Crowd To Work with Amazon Mecha...
AWS re:Invent 2016: Leverage the Power of the Crowd To Work with Amazon Mecha...AWS re:Invent 2016: Leverage the Power of the Crowd To Work with Amazon Mecha...
AWS re:Invent 2016: Leverage the Power of the Crowd To Work with Amazon Mecha...Amazon Web Services
 
Solopreneuring Lessons Learned - Phoenix Startup Week
Solopreneuring Lessons Learned - Phoenix Startup WeekSolopreneuring Lessons Learned - Phoenix Startup Week
Solopreneuring Lessons Learned - Phoenix Startup WeekGuy Bieber
 
An Overview of automated testing (1)
An Overview of automated testing (1)An Overview of automated testing (1)
An Overview of automated testing (1)Rodrigo Lopes
 
Coaching teams in creative problem solving
Coaching teams in creative problem solvingCoaching teams in creative problem solving
Coaching teams in creative problem solvingFlowa Oy
 
Building Startups and Minimum Viable Products (NDC2013)
Building Startups and Minimum Viable Products (NDC2013)Building Startups and Minimum Viable Products (NDC2013)
Building Startups and Minimum Viable Products (NDC2013)Ben Hall
 
H2O World - Solving Customer Churn with Machine Learning - Julian Bharadwaj
H2O World - Solving Customer Churn with Machine Learning - Julian BharadwajH2O World - Solving Customer Churn with Machine Learning - Julian Bharadwaj
H2O World - Solving Customer Churn with Machine Learning - Julian BharadwajSri Ambati
 
Eric Proegler Oredev Performance Testing in New Contexts
Eric Proegler Oredev Performance Testing in New ContextsEric Proegler Oredev Performance Testing in New Contexts
Eric Proegler Oredev Performance Testing in New ContextsEric Proegler
 
BDX 2016 - Kevin lyons & yakir buskilla @ eXelate
BDX 2016 - Kevin lyons & yakir buskilla  @ eXelate BDX 2016 - Kevin lyons & yakir buskilla  @ eXelate
BDX 2016 - Kevin lyons & yakir buskilla @ eXelate Ido Shilon
 
Moving Fast At Scale
Moving Fast At ScaleMoving Fast At Scale
Moving Fast At ScaleRandy Shoup
 
Big Data Spain 2018: How to build Weighted XGBoost ML model for Imbalance dat...
Big Data Spain 2018: How to build Weighted XGBoost ML model for Imbalance dat...Big Data Spain 2018: How to build Weighted XGBoost ML model for Imbalance dat...
Big Data Spain 2018: How to build Weighted XGBoost ML model for Imbalance dat...Alok Singh
 
Lecture13-Product-Development-PartI-Feb25-2018.pptx
Lecture13-Product-Development-PartI-Feb25-2018.pptxLecture13-Product-Development-PartI-Feb25-2018.pptx
Lecture13-Product-Development-PartI-Feb25-2018.pptxKamalKamalli1
 

Semelhante a Learn Like a Human: Taking Machine Learning from Batch to Real-Time (20)

Taking Machine Learning from Batch to Real-Time (big data eXposed 2015)
Taking Machine Learning from Batch to Real-Time (big data eXposed 2015)Taking Machine Learning from Batch to Real-Time (big data eXposed 2015)
Taking Machine Learning from Batch to Real-Time (big data eXposed 2015)
 
Thomas Jensen. Machine Learning
Thomas Jensen. Machine LearningThomas Jensen. Machine Learning
Thomas Jensen. Machine Learning
 
Building a Recommendation Engine - A Balancing act
Building a Recommendation Engine - A Balancing actBuilding a Recommendation Engine - A Balancing act
Building a Recommendation Engine - A Balancing act
 
From Labelling Open data images to building a private recommender system
From Labelling Open data images to building a private recommender systemFrom Labelling Open data images to building a private recommender system
From Labelling Open data images to building a private recommender system
 
EIA2017Italy - Danny Lange - Artificial Intelligence - A Game Changer in App ...
EIA2017Italy - Danny Lange - Artificial Intelligence - A Game Changer in App ...EIA2017Italy - Danny Lange - Artificial Intelligence - A Game Changer in App ...
EIA2017Italy - Danny Lange - Artificial Intelligence - A Game Changer in App ...
 
Master Technical Recruiting Workshop: How to Recruit Top Tech Talent
Master Technical Recruiting Workshop:  How to Recruit Top Tech TalentMaster Technical Recruiting Workshop:  How to Recruit Top Tech Talent
Master Technical Recruiting Workshop: How to Recruit Top Tech Talent
 
Churn prediction data modeling
Churn prediction data modelingChurn prediction data modeling
Churn prediction data modeling
 
An Agile Approach to Machine Learning
An Agile Approach to Machine LearningAn Agile Approach to Machine Learning
An Agile Approach to Machine Learning
 
AWS re:Invent 2016: Leverage the Power of the Crowd To Work with Amazon Mecha...
AWS re:Invent 2016: Leverage the Power of the Crowd To Work with Amazon Mecha...AWS re:Invent 2016: Leverage the Power of the Crowd To Work with Amazon Mecha...
AWS re:Invent 2016: Leverage the Power of the Crowd To Work with Amazon Mecha...
 
Solopreneuring Lessons Learned - Phoenix Startup Week
Solopreneuring Lessons Learned - Phoenix Startup WeekSolopreneuring Lessons Learned - Phoenix Startup Week
Solopreneuring Lessons Learned - Phoenix Startup Week
 
An Overview of automated testing (1)
An Overview of automated testing (1)An Overview of automated testing (1)
An Overview of automated testing (1)
 
Coaching teams in creative problem solving
Coaching teams in creative problem solvingCoaching teams in creative problem solving
Coaching teams in creative problem solving
 
Building Startups and Minimum Viable Products (NDC2013)
Building Startups and Minimum Viable Products (NDC2013)Building Startups and Minimum Viable Products (NDC2013)
Building Startups and Minimum Viable Products (NDC2013)
 
H2O World - Solving Customer Churn with Machine Learning - Julian Bharadwaj
H2O World - Solving Customer Churn with Machine Learning - Julian BharadwajH2O World - Solving Customer Churn with Machine Learning - Julian Bharadwaj
H2O World - Solving Customer Churn with Machine Learning - Julian Bharadwaj
 
Eric Proegler Oredev Performance Testing in New Contexts
Eric Proegler Oredev Performance Testing in New ContextsEric Proegler Oredev Performance Testing in New Contexts
Eric Proegler Oredev Performance Testing in New Contexts
 
BDX 2016 - Kevin lyons & yakir buskilla @ eXelate
BDX 2016 - Kevin lyons & yakir buskilla  @ eXelate BDX 2016 - Kevin lyons & yakir buskilla  @ eXelate
BDX 2016 - Kevin lyons & yakir buskilla @ eXelate
 
CMS Crash Course!
CMS Crash Course!CMS Crash Course!
CMS Crash Course!
 
Moving Fast At Scale
Moving Fast At ScaleMoving Fast At Scale
Moving Fast At Scale
 
Big Data Spain 2018: How to build Weighted XGBoost ML model for Imbalance dat...
Big Data Spain 2018: How to build Weighted XGBoost ML model for Imbalance dat...Big Data Spain 2018: How to build Weighted XGBoost ML model for Imbalance dat...
Big Data Spain 2018: How to build Weighted XGBoost ML model for Imbalance dat...
 
Lecture13-Product-Development-PartI-Feb25-2018.pptx
Lecture13-Product-Development-PartI-Feb25-2018.pptxLecture13-Product-Development-PartI-Feb25-2018.pptx
Lecture13-Product-Development-PartI-Feb25-2018.pptx
 

Mais de Dynamic Yield

Retailers fighting coronavirus with a cause
Retailers fighting coronavirus with a causeRetailers fighting coronavirus with a cause
Retailers fighting coronavirus with a causeDynamic Yield
 
The Dynamic Yield Brand Bible
The Dynamic Yield Brand BibleThe Dynamic Yield Brand Bible
The Dynamic Yield Brand BibleDynamic Yield
 
The State of Personalization Maturity: Q1 2018
The State of Personalization Maturity: Q1 2018The State of Personalization Maturity: Q1 2018
The State of Personalization Maturity: Q1 2018Dynamic Yield
 
Personalizing the Tottenham Fan Experience
Personalizing the Tottenham Fan ExperiencePersonalizing the Tottenham Fan Experience
Personalizing the Tottenham Fan ExperienceDynamic Yield
 
The Economics of eCommerce Conversion Rate Optimization
The Economics of eCommerce Conversion Rate OptimizationThe Economics of eCommerce Conversion Rate Optimization
The Economics of eCommerce Conversion Rate OptimizationDynamic Yield
 
Understanding Product Recommendations: Value, Functionality & Best Practices
Understanding Product Recommendations: Value, Functionality & Best PracticesUnderstanding Product Recommendations: Value, Functionality & Best Practices
Understanding Product Recommendations: Value, Functionality & Best PracticesDynamic Yield
 
50 Million Shoppers Prove Power of Product Recommendations
50 Million Shoppers Prove Power of Product Recommendations50 Million Shoppers Prove Power of Product Recommendations
50 Million Shoppers Prove Power of Product RecommendationsDynamic Yield
 
Drinking Our Own Brew on DynamicYield.com
Drinking Our Own Brew on DynamicYield.comDrinking Our Own Brew on DynamicYield.com
Drinking Our Own Brew on DynamicYield.comDynamic Yield
 
Proven Personalization Wins
 to Increase eCommerce Revenue
Proven Personalization Wins
 to Increase eCommerce RevenueProven Personalization Wins
 to Increase eCommerce Revenue
Proven Personalization Wins
 to Increase eCommerce RevenueDynamic Yield
 
Landing page checklist
Landing page checklistLanding page checklist
Landing page checklistDynamic Yield
 

Mais de Dynamic Yield (10)

Retailers fighting coronavirus with a cause
Retailers fighting coronavirus with a causeRetailers fighting coronavirus with a cause
Retailers fighting coronavirus with a cause
 
The Dynamic Yield Brand Bible
The Dynamic Yield Brand BibleThe Dynamic Yield Brand Bible
The Dynamic Yield Brand Bible
 
The State of Personalization Maturity: Q1 2018
The State of Personalization Maturity: Q1 2018The State of Personalization Maturity: Q1 2018
The State of Personalization Maturity: Q1 2018
 
Personalizing the Tottenham Fan Experience
Personalizing the Tottenham Fan ExperiencePersonalizing the Tottenham Fan Experience
Personalizing the Tottenham Fan Experience
 
The Economics of eCommerce Conversion Rate Optimization
The Economics of eCommerce Conversion Rate OptimizationThe Economics of eCommerce Conversion Rate Optimization
The Economics of eCommerce Conversion Rate Optimization
 
Understanding Product Recommendations: Value, Functionality & Best Practices
Understanding Product Recommendations: Value, Functionality & Best PracticesUnderstanding Product Recommendations: Value, Functionality & Best Practices
Understanding Product Recommendations: Value, Functionality & Best Practices
 
50 Million Shoppers Prove Power of Product Recommendations
50 Million Shoppers Prove Power of Product Recommendations50 Million Shoppers Prove Power of Product Recommendations
50 Million Shoppers Prove Power of Product Recommendations
 
Drinking Our Own Brew on DynamicYield.com
Drinking Our Own Brew on DynamicYield.comDrinking Our Own Brew on DynamicYield.com
Drinking Our Own Brew on DynamicYield.com
 
Proven Personalization Wins
 to Increase eCommerce Revenue
Proven Personalization Wins
 to Increase eCommerce RevenueProven Personalization Wins
 to Increase eCommerce Revenue
Proven Personalization Wins
 to Increase eCommerce Revenue
 
Landing page checklist
Landing page checklistLanding page checklist
Landing page checklist
 

Último

Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 

Último (20)

Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 

Learn Like a Human: Taking Machine Learning from Batch to Real-Time

  • 1. Learn Like a Human: Taking Machine Learning from Batch to Real-Time By Elad Rosenheim, Senior Software Architect delivered in
  • 2. Learn Like a Human: Taking Machine Learning from Batch to Real-Time • The Industry’s Problem • Old School Solutions • Meet the Contextual Bandits On the Agenda:
  • 3. Learn Like a Human: Taking Machine Learning from Batch to Real-Time • Publishers, retailers, SaaS all share a common problem • They know their domain but not how to optimize for each user • Screen real-estate is limited yet everyone sees the same thing The Industry’s Problem
  • 4. Learn Like a Human: Taking Machine Learning from Batch to Real-Time Commonly asked questions • What articles should be shown on the homepage of an online publisher? • What titles and images would attract the most clicks? • What should the order and layout of the articles be? • Should every user see the “Top Videos” section? • What is the best layout for the homepage?
  • 5. Learn Like a Human: Taking Machine Learning from Batch to Real-Time Commonly asked questions • Which product sorting layout would yield the highest revenue? • Should the layout differ significantly between different user segments?
  • 6. Learn Like a Human: Taking Machine Learning from Batch to Real-Time • What types of products should be shown, and to whom? Commonly asked questions
  • 7. Learn Like a Human: Taking Machine Learning from Batch to Real-Time In the Beginning: • First came the educated guess • Then came the A/B test • "Data Beats Opinion“ • Freedom to experiment (with nice tools) • Hopefully: Less fear of change, less politics • How does it work? • Split traffic between baseline and alternative variations • In theory: Sit and wait for significant results • In practice: Peek at the numbers ‘til “95% confidence” is reached
  • 8. Learn Like a Human: Taking Machine Learning from Batch to Real-Time While you wait, you're bleeding clicks! Clicks = Money What about the really dynamic stuff? Campaigns, headlines, products on sale A/B Tests: Already Old School?
  • 9. Learn Like a Human: Taking Machine Learning from Batch to Real-Time • A Single-arm Bandit • Suppose I have multiple arms in front of me, each with its unknown mean reward… • How do I optimize income from multiple machines? • Caution or Haste? • Explore vs. Exploit • In our context: How do I optimize multiple variations? Enter the Multi-arm Bandits
  • 10. Learn Like a Human: Taking Machine Learning from Batch to Real-Time • (Very) Simple Solutions • ε-greedy, ε–decreasing • First 100% random explore, then ~90% exploit? • Magic numbers, built-in revenue loss • Bayesian-based approaches • Smoother curve from explore to exploit • “Winner” is now a less relevant term Bandits - A Classic Problem
  • 11. Learn Like a Human: Taking Machine Learning from Batch to Real-Time We want to find the variation “best on average“ …but we’re not improving the conversion rate of any single variation Bandits work well when… 0.4%1.7%2.4%
  • 12. Learn Like a Human: Taking Machine Learning from Batch to Real-Time • Each of us is a beautiful and unique feature vector! • By showing the right variation to the right people, we can improve conversions per variation and beat the best variation • Machine learning challenge accepted! Enter Personalization
  • 13. Learn Like a Human: Taking Machine Learning from Batch to Real-Time The Usual Suspects • Collaborative Filtering? • Very big, very sparse matrix • Cold start, batch process • Not suitable in this case • Classifiers? • Logistic Regression, Random Forest et al. • Periodically learn over all converters so far • More data = more time, bigger model • “Partial Feedback” problem: • Users aren’t of class “Variation A” or “Variation B”. • Rather, for any given user, we’re placing our bets on a variation and don’t know what the reward would be for any other alternative.
  • 14. Learn Like a Human: Taking Machine Learning from Batch to Real-Time • Like a bandit, we need to learn as we go (not in batch), but this time with “context” - the user’s data • Incremental Learning over the stream of impressions & rewards (“Partial Fit”) • We’re looking to… • Start learning from the first impression • Handle the explore-exploit curve • Run fast (enough) • Worst case: Converge on the best variation like a bandit What We Need
  • 15. Learn Like a Human: Taking Machine Learning from Batch to Real-Time • They “eat” the data stream • They demand fast access to user data • Historical or immediate • Their model is always ready for action • In the Papers • Linear Bayes, LinUCB • What we do: Per-Variation Logistic Regression • A variant supporting updates in “mini-batches” • Exploration-on-top • Worst case: “Garbage In Multi Arm Bandit Out” • Light on memory, compact output Meet the Contextual Bandits
  • 16. Learn Like a Human: Taking Machine Learning from Batch to Real-Time • Online should be fast & scaled • Offline: A test-bed for iteratively testing new ideas • New algorithms • Tweaked parameters • Feature transformations - last but not least! How We Do It: Online & Offline
  • 17. Learn Like a Human: Taking Machine Learning from Batch to Real-Time Persist Model The Online Flow DY Web Servers: a. Get our script b. Log impressions, conversions Learn Workers User DB Load to Predict Server Queue Per Test A B C A B C A B C Predictions
  • 18. Learn Like a Human: Taking Machine Learning from Batch to Real-Time • Test, Improve, Iterate • Using real-world data • Using generated data • From easy to hard The Offline Evaluator
  • 19. Learn Like a Human: Taking Machine Learning from Batch to Real-Time • Learn in the center site, predict quickly in each geo. How? • Push models via local Redis slaves • Compressed SSH tunnel • User data - daily aggregation • Store into LMDB (simple, fast memory-mapped K/V DB) • Sync via S3 (LZ4 compressed), read from local SSD • Learn & Predict services • Python as ML lingua franca: NumPy, SciPy, scikit-learn Going Global
  • 20. Learn Like a Human: Taking Machine Learning from Batch to Real-Time • Better data beats better algorithms • Reduce aggressively Keep It Simple, Smart! By Elad Rosenheim, Senior Software Architect Final Word: * Thanks to Idan Michaeli, Lead Data Scientist

Notas do Editor

  1. איך ניסו עד היום לתקוף את הבעיות האלה?
  2. בואו ניקח את הפיתרון שלנו שלב אחד קדימה
  3. בואו ניקח את הפיתרון שלנו שלב אחד קדימה
  4. בואו ניקח את הפיתרון שלנו שלב אחד קדימה
  5. בקיצור, העולם לא כ"כ מופלא כפי שמוכרים לנו
  6. בואו ניקח את הפיתרון שלנו שלב אחד קדימה
  7. לבעיה הזו אין פיתרון אופטימלי, אבל יש בהחלט גישות שונות ברמות שונות של מורכבות
  8. עכשיו, בנדיטים הם לא כ"כ רעים למעשה...
  9. והמגבלה הזו מביאה אותנו לשלב הבא בחיפוש, והוא: פרסונליזציה
  10. יפה, אז קיבלנו את האתגר. על איזה אלגוריתמים אנחנו חושבים?
  11. אז בעצם, אנחנו מחפשים משהו אחר – משפחה חדשה של אלגוריתמים
  12. אז בואו ונכיר את הגיבורים החדשים שלנו...
  13. אלגוריתם כשלעצמו זה דבר נחמד, אבל איך בונים את כל המעטפת לפרודקשן?
  14. בואו ונבין טוב יותר את הזרימה