James Ward
Platform Evangelist
jamesward.com
@_JamesWard
Introduction to
Machine Learning
Machine Learning • Deep Learning • Predictive Analytics • NLP • Smart Data Discovery
AI in the Salesforce Platform
Salesforce Einstein
Introducing
World’s smartest
CRM
Empowering Sales,
Service, Marketing & IT
Everyone can build
AI-powered apps fast
How Humans Learn
Observe
world
Compare to
expectations
Analyze
differences
Refine
model
How Machines Learn
Data to
Model
Evaluate
model
Feedback
signals
Refine
model
What is Machine Learning?
Decision
if (a == “foo”) {
if (b == “bar”) {
if (c == “baz”) {
Data
Ask Model
Prediction Categorization
Apply Algorithm
Create Model
Data
Pattern Recognition via Zeros & Ones
Machine Learning
Machine Learning Spectrum
Use Cases
• Search Relevance
• Collaborative Filtering
• Decision Support
• Time Series Forecasting
Core Methods
• Compression
• Classification
• Regression
• Reinforcement
Frameworks
• Neural Networks
• Support Vector Machines
• Decision Trees
• Bayesian Models
• K-Nearest Neighbor
• Logistic Regression
Use Cases
o Rate leads with how likely they are to close
o Categorize this text as offensive or not
o Recommend products based on what I’ve liked
o Detect anomalies in credit card purchase behavior
ML Core Methods
• Compression – Determine the pattern
• Classification – Determine if “thing” is an x or y
• Regression – Determine the correct output for an input
• Reinforcement – Determine what action yields an award
Product Recommendation
User Likes Prediction
Collaborative Filtering
Demo!
https://dreamhouseapp.io/pio
Prediction IO = Open Source Machine Learning Server
Heroku = Cloud platform to deliver, scale, and monitor apps built in any technology
Heroku Postgres = Relational database in the cloud, managed by Heroku
Heroku Connect = Data sync between Salesforce and Heroku Postgres
Apache Spark = Big Data Framework
Spark ML = Machine Learning libraries built on Apache Spark
Pieces of the Puzzle
Product Recommendation
User 1 User 2 User 3 User 4 User 5
Property 1 ✔
Property 2 ✔ ✔
Property 3 ✔ ✔ ✔
Property 4 ✔ ✔
Property 5 ✔
Human Intelligence First
★
★
★ ★
★

 
Product Recommendation
4 Bedroom Near Park Good School Views New Build
Property 1 ✔ ✔
Property 2 ✔ ✔
Property 3 ✔ ✔
Property 4 ✔
Property 5 ✔ ✔
Features
4 Bedroom Near Park Good School Views New Build
User 1 ✔ ✔
User 2 ✔ ✔
User 3 ✔ ✔
User 4 ✔ ✔
User 5 ✔ ✔
Product Recommendation
Deriving Features from Favorites
4 Bedroom Near Park Good School Views New Build
Property 1 ✔ ✔
Property 2 ✔ ✔
Property 3 ✔ ✔
Property 4 ✔
Property 5 ✔ ✔
×
4 Bedroom Near Park Good School Views New Build
User 1 ✔ ✔
User 2 ✔ ✔
User 3 ✔ ✔
User 4 ✔ ✔
User 5 ✔ ✔
Property Features User FeaturesFavorites
=
User 1 User 2 User 3 User 4 User 5
Property 1 ✔
Property 2 ✔ ✔
Property 3 ✔ ✔ ✔
Property 4 ✔ ✔
Property 5 ✔
4 Bedroom Near Park Good School Views New Build
Property 1 ✔ ✔
Property 2 ✔ ✔
Property 3 ✔ ✔
Property 4 ✔
Property 5 ✔ ✔
×
4 Bedroom Near Park Good School Views New Build
User 1 ✔ ✔
User 2 ✔ ✔
User 3 ✔ ✔
User 4 ✔ ✔
User 5 ✔ ✔
Property FeaturesUser FeaturesFavorites
=
User 1 User 2 User 3 User 4 User 5
Property 1 ✔
Property 2 ✔ ✔
Property 3 ✔ ✔ ✔
Property 4 ✔ ✔
Property 5 ✔
Product Recommendation
Deriving Recommendations from Features
4 Bedroom Near Park Good School Views New Build
Property 1 ✔ ✔
Property 2 ✔ ✔
Property 3 ✔ ✔
Property 4 ✔
Property 5 ✔ ✔
×
4 Bedroom Near Park Good School Views New Build
User 1 ✔ ✔
User 2 ✔ ✔
User 3 ✔ ✔
User 4 ✔ ✔
User 5 ✔ ✔
Property Features User Features Recommendations
=
User 1 User 2 User 3 User 4 User 5
Property 1 ✔
★
Property 2 ✔ ✔
★ ★
Property 3 ✔ ✔ ✔
Property 4
★ ✔ ✔
Property 5 ✔
Favorites
User 1 User 2 User 3 User 4 User 5
Property 1 ✔
Property 2 ✔ ✔
Property 3 ✔ ✔ ✔
Property 4 ✔ ✔
Property 5 ✔
?
4 Bedroom Near Park Good School Views New Build
Property 1 ✔ ✔
Property 2 ✔ ✔
Property 3 ✔ ✔
Property 4 ✔
Property 5 ✔ ✔
&
4 Bedroom Near Park Good School Views New Build
User 1 ✔ ✔
User 2 ✔ ✔
User 3 ✔ ✔
User 4 ✔ ✔
User 5 ✔ ✔
Property Features User Features
Alternating Least Squares
4 Bedroom Near Park Good School Views New Build
User 1 ✔ ✔
User 2 ✔ ✔
User 3 ✔
User 4 ✔ ✔
User 5 ✔
1. Generate Random User Feature Data
4 Bedroom Near Park Good School Views New Build
Property 1 ✔ ✔
Property 2 ✔ ✔
Property 3 ✔
Property 4 ✔
Property 5 ✔
2. Using Favorites, Compute Optimal Property Features
User 1 User 2 User 3 User 4 User 5
Property 1 ✔
Property 2 ✔ ✔
Property 3 ✔ ✔ ✔
Property 4 ✔ ✔
Property 5 ✔
× =
3. Using Property Features and Favorites, Compute Optimal User Features
User 1 User 2 User 3 User 4 User 5
Property 1 ✔
Property 2 ✔ ✔
Property 3 ✔ ✔ ✔
Property 4 ✔ ✔
Property 5 ✔
4 Bedroom Near Park Good School Views New Build
Property 1 ✔ ✔
Property 2 ✔ ✔
Property 3 ✔
Property 4 ✔
Property 5 ✔
×
4 Bedroom Near Park Good School Views New Build
User 1 ✔
User 2 ✔ ✔ ✔
User 3 ✔
User 4 ✔ ✔
User 5 ✔ ✔
=
4. Repeat
The User Features & Property Features converge to a model that fits the training data
Latent Features
Feature 1 Feature 2 Feature 3 Feature 4 Feature N
Property 1 ✔ ✔
Property 2 ✔ ✔
Property 3 ✔ ✔
Property 4 ✔
Property 5 ✔ ✔
Feature 1 Feature 2 Feature 3 Feature 4 Feature N
User 1 ✔ ✔
User 2 ✔ ✔
User 3 ✔ ✔
User 4 ✔ ✔
User 5 ✔ ✔
Data -> Model -> Prediction
Recommendations
User 1 User 2 User 3 User 4 User 5
Property 1 ✔
★
Property 2 ✔ ✔
★ ★
Property 3 ✔ ✔ ✔
Property 4
★ ✔ ✔
Property 5 ✔
Favorites
User 1 User 2 User 3 User 4 User 5
Property 1 ✔
Property 2 ✔ ✔
Property 3 ✔ ✔ ✔
Property 4 ✔ ✔
Property 5 ✔
4 Bedroom Near Park Good School Views New Build
Property 1 ✔ ✔
Property 2 ✔ ✔
Property 3 ✔ ✔
Property 4 ✔
Property 5 ✔ ✔
4 Bedroom Near Park Good School Views New Build
User 1 ✔ ✔
User 2 ✔ ✔
User 3 ✔ ✔
User 4 ✔ ✔
User 5 ✔ ✔
Property Features
User Features
Dot Product
Calculating Predictions
Feature 1 Feature 2 Feature 3 Feature 4 Feature N
Property 1 ✔ ✔
Feature 1 Feature 2 Feature 3 Feature 4 Feature N
User 1 ✔ ✔
0 × 0 ++ ++ 1 × 1 1 × 0 0 × 1 0 × 0
Recommendations
Matrix Factorization Model
User 1 User 2 User 3 User 4 User 5
Property 1
9 7 5 5 0
Property 2
9 9 7 7 0
Property 3
7 9 9 9 0
Property 4
5 9 9 9 0
Property 5
0 0 0 0 9
ALS Storage Efficiency
User 1 User 2 User 3 User 4 User 5 User6 User7 User8 User9 User10
Propert
y 1 9 7 5 5 0 9 7 5 5 0
Propert
y 2 9 9 7 7 0 9 9 7 7 0
Propert
y 3 7 9 9 9 0 7 9 9 9 0
Propert
y 4 5 9 9 9 0 5 9 9 9 0
Propert
y 5 0 0 0 0 9 0 0 0 0 9
Propert
y6 9 7 5 5 0 9 7 5 5 0
Propert
y7 9 9 7 7 0 9 9 7 7 0
Propert
y8 7 9 9 9 0 7 9 9 9 0
Propert
y9 5 9 9 9 0 5 9 9 9 0
Propert
y10 0 0 0 0 9 0 0 0 0 9
User
1
User
2
User
3
User
4
User
5
User
6
User
7
User
8
User
9
User
10
Featu
re1
9 7 5 5 0 9 7 5 5 0
Featu
re2
9 9 7 7 0 9 9 7 7 0
Featu
re3
7 9 9 9 0 7 9 9 9 0
Users x Properties
10 x 10
Feature1 Feature2 Feature3
Property 1 9 7 5
Property 2 9 9 7
Property 3 7 9 9
Property 4 5 9 9
Property 5 0 0 0
Property 6 9 7 5
Property 7 9 9 7
Property 8 7 9 9
Property 9 5 9 9
Property 10 0 0 0
Features x Properties
3 x 10
+
Users x Features
10 x 3
Alternating Least Squares
val favorites: Seq[Favorite] = ...
val ratings = favorites.map(fav => Rating(fav.user, fav.prop, 1))
val (userFeatures, propertyFeatures) = ALS.train(ratings = ratings, rank = 5)
val predictions = userFeatures * propertyFeatures
val predictionsForUser = predictions.filter(_.userId == userId)
Spark ML Makes it Easy
Code!
https://github.com/jamesward/dreamhouse-sparkml
Deployment
• Deploy it on Heroku
• Run on a Spark Cluster
• When to train?
• Where to put the model?
PredictionIO
• Template Gallery
• Event Server
• Model Persistence
• Engine Tuning & Versioning
• REST Endpoint for Predictions
Open Source Machine Learning Server
Introducing: Predictive Vision & Sentiment Services `
Leverage existing and train your own deep learning
models to recognize and classify images
Access deep learning models to classify the
sentiment of text
Predictive Vision Service Predictive Sentiment Service
Predictive Sentiment Service
Get started today!
metamind.io
Introducing: Predictive Vision & Sentiment Services
Predictive Services
Thank Y u

Introduction to Machine Learning

  • 1.
  • 2.
    Machine Learning •Deep Learning • Predictive Analytics • NLP • Smart Data Discovery AI in the Salesforce Platform Salesforce Einstein Introducing World’s smartest CRM Empowering Sales, Service, Marketing & IT Everyone can build AI-powered apps fast
  • 3.
    How Humans Learn Observe world Compareto expectations Analyze differences Refine model
  • 4.
    How Machines Learn Datato Model Evaluate model Feedback signals Refine model
  • 5.
    What is MachineLearning? Decision if (a == “foo”) { if (b == “bar”) { if (c == “baz”) { Data Ask Model Prediction Categorization Apply Algorithm Create Model Data Pattern Recognition via Zeros & Ones
  • 6.
  • 7.
    Machine Learning Spectrum UseCases • Search Relevance • Collaborative Filtering • Decision Support • Time Series Forecasting Core Methods • Compression • Classification • Regression • Reinforcement Frameworks • Neural Networks • Support Vector Machines • Decision Trees • Bayesian Models • K-Nearest Neighbor • Logistic Regression
  • 8.
    Use Cases o Rateleads with how likely they are to close o Categorize this text as offensive or not o Recommend products based on what I’ve liked o Detect anomalies in credit card purchase behavior
  • 9.
    ML Core Methods •Compression – Determine the pattern • Classification – Determine if “thing” is an x or y • Regression – Determine the correct output for an input • Reinforcement – Determine what action yields an award
  • 10.
    Product Recommendation User LikesPrediction Collaborative Filtering
  • 11.
  • 12.
    Prediction IO =Open Source Machine Learning Server Heroku = Cloud platform to deliver, scale, and monitor apps built in any technology Heroku Postgres = Relational database in the cloud, managed by Heroku Heroku Connect = Data sync between Salesforce and Heroku Postgres Apache Spark = Big Data Framework Spark ML = Machine Learning libraries built on Apache Spark Pieces of the Puzzle
  • 13.
    Product Recommendation User 1User 2 User 3 User 4 User 5 Property 1 ✔ Property 2 ✔ ✔ Property 3 ✔ ✔ ✔ Property 4 ✔ ✔ Property 5 ✔ Human Intelligence First ★ ★ ★ ★ ★   
  • 14.
    Product Recommendation 4 BedroomNear Park Good School Views New Build Property 1 ✔ ✔ Property 2 ✔ ✔ Property 3 ✔ ✔ Property 4 ✔ Property 5 ✔ ✔ Features 4 Bedroom Near Park Good School Views New Build User 1 ✔ ✔ User 2 ✔ ✔ User 3 ✔ ✔ User 4 ✔ ✔ User 5 ✔ ✔
  • 15.
    Product Recommendation Deriving Featuresfrom Favorites 4 Bedroom Near Park Good School Views New Build Property 1 ✔ ✔ Property 2 ✔ ✔ Property 3 ✔ ✔ Property 4 ✔ Property 5 ✔ ✔ × 4 Bedroom Near Park Good School Views New Build User 1 ✔ ✔ User 2 ✔ ✔ User 3 ✔ ✔ User 4 ✔ ✔ User 5 ✔ ✔ Property Features User FeaturesFavorites = User 1 User 2 User 3 User 4 User 5 Property 1 ✔ Property 2 ✔ ✔ Property 3 ✔ ✔ ✔ Property 4 ✔ ✔ Property 5 ✔ 4 Bedroom Near Park Good School Views New Build Property 1 ✔ ✔ Property 2 ✔ ✔ Property 3 ✔ ✔ Property 4 ✔ Property 5 ✔ ✔ × 4 Bedroom Near Park Good School Views New Build User 1 ✔ ✔ User 2 ✔ ✔ User 3 ✔ ✔ User 4 ✔ ✔ User 5 ✔ ✔ Property FeaturesUser FeaturesFavorites = User 1 User 2 User 3 User 4 User 5 Property 1 ✔ Property 2 ✔ ✔ Property 3 ✔ ✔ ✔ Property 4 ✔ ✔ Property 5 ✔
  • 16.
    Product Recommendation Deriving Recommendationsfrom Features 4 Bedroom Near Park Good School Views New Build Property 1 ✔ ✔ Property 2 ✔ ✔ Property 3 ✔ ✔ Property 4 ✔ Property 5 ✔ ✔ × 4 Bedroom Near Park Good School Views New Build User 1 ✔ ✔ User 2 ✔ ✔ User 3 ✔ ✔ User 4 ✔ ✔ User 5 ✔ ✔ Property Features User Features Recommendations = User 1 User 2 User 3 User 4 User 5 Property 1 ✔ ★ Property 2 ✔ ✔ ★ ★ Property 3 ✔ ✔ ✔ Property 4 ★ ✔ ✔ Property 5 ✔ Favorites User 1 User 2 User 3 User 4 User 5 Property 1 ✔ Property 2 ✔ ✔ Property 3 ✔ ✔ ✔ Property 4 ✔ ✔ Property 5 ✔ ? 4 Bedroom Near Park Good School Views New Build Property 1 ✔ ✔ Property 2 ✔ ✔ Property 3 ✔ ✔ Property 4 ✔ Property 5 ✔ ✔ & 4 Bedroom Near Park Good School Views New Build User 1 ✔ ✔ User 2 ✔ ✔ User 3 ✔ ✔ User 4 ✔ ✔ User 5 ✔ ✔ Property Features User Features
  • 17.
    Alternating Least Squares 4Bedroom Near Park Good School Views New Build User 1 ✔ ✔ User 2 ✔ ✔ User 3 ✔ User 4 ✔ ✔ User 5 ✔ 1. Generate Random User Feature Data 4 Bedroom Near Park Good School Views New Build Property 1 ✔ ✔ Property 2 ✔ ✔ Property 3 ✔ Property 4 ✔ Property 5 ✔ 2. Using Favorites, Compute Optimal Property Features User 1 User 2 User 3 User 4 User 5 Property 1 ✔ Property 2 ✔ ✔ Property 3 ✔ ✔ ✔ Property 4 ✔ ✔ Property 5 ✔ × = 3. Using Property Features and Favorites, Compute Optimal User Features User 1 User 2 User 3 User 4 User 5 Property 1 ✔ Property 2 ✔ ✔ Property 3 ✔ ✔ ✔ Property 4 ✔ ✔ Property 5 ✔ 4 Bedroom Near Park Good School Views New Build Property 1 ✔ ✔ Property 2 ✔ ✔ Property 3 ✔ Property 4 ✔ Property 5 ✔ × 4 Bedroom Near Park Good School Views New Build User 1 ✔ User 2 ✔ ✔ ✔ User 3 ✔ User 4 ✔ ✔ User 5 ✔ ✔ = 4. Repeat The User Features & Property Features converge to a model that fits the training data
  • 18.
    Latent Features Feature 1Feature 2 Feature 3 Feature 4 Feature N Property 1 ✔ ✔ Property 2 ✔ ✔ Property 3 ✔ ✔ Property 4 ✔ Property 5 ✔ ✔ Feature 1 Feature 2 Feature 3 Feature 4 Feature N User 1 ✔ ✔ User 2 ✔ ✔ User 3 ✔ ✔ User 4 ✔ ✔ User 5 ✔ ✔
  • 19.
    Data -> Model-> Prediction Recommendations User 1 User 2 User 3 User 4 User 5 Property 1 ✔ ★ Property 2 ✔ ✔ ★ ★ Property 3 ✔ ✔ ✔ Property 4 ★ ✔ ✔ Property 5 ✔ Favorites User 1 User 2 User 3 User 4 User 5 Property 1 ✔ Property 2 ✔ ✔ Property 3 ✔ ✔ ✔ Property 4 ✔ ✔ Property 5 ✔ 4 Bedroom Near Park Good School Views New Build Property 1 ✔ ✔ Property 2 ✔ ✔ Property 3 ✔ ✔ Property 4 ✔ Property 5 ✔ ✔ 4 Bedroom Near Park Good School Views New Build User 1 ✔ ✔ User 2 ✔ ✔ User 3 ✔ ✔ User 4 ✔ ✔ User 5 ✔ ✔ Property Features User Features
  • 20.
    Dot Product Calculating Predictions Feature1 Feature 2 Feature 3 Feature 4 Feature N Property 1 ✔ ✔ Feature 1 Feature 2 Feature 3 Feature 4 Feature N User 1 ✔ ✔ 0 × 0 ++ ++ 1 × 1 1 × 0 0 × 1 0 × 0
  • 21.
    Recommendations Matrix Factorization Model User1 User 2 User 3 User 4 User 5 Property 1 9 7 5 5 0 Property 2 9 9 7 7 0 Property 3 7 9 9 9 0 Property 4 5 9 9 9 0 Property 5 0 0 0 0 9
  • 22.
    ALS Storage Efficiency User1 User 2 User 3 User 4 User 5 User6 User7 User8 User9 User10 Propert y 1 9 7 5 5 0 9 7 5 5 0 Propert y 2 9 9 7 7 0 9 9 7 7 0 Propert y 3 7 9 9 9 0 7 9 9 9 0 Propert y 4 5 9 9 9 0 5 9 9 9 0 Propert y 5 0 0 0 0 9 0 0 0 0 9 Propert y6 9 7 5 5 0 9 7 5 5 0 Propert y7 9 9 7 7 0 9 9 7 7 0 Propert y8 7 9 9 9 0 7 9 9 9 0 Propert y9 5 9 9 9 0 5 9 9 9 0 Propert y10 0 0 0 0 9 0 0 0 0 9 User 1 User 2 User 3 User 4 User 5 User 6 User 7 User 8 User 9 User 10 Featu re1 9 7 5 5 0 9 7 5 5 0 Featu re2 9 9 7 7 0 9 9 7 7 0 Featu re3 7 9 9 9 0 7 9 9 9 0 Users x Properties 10 x 10 Feature1 Feature2 Feature3 Property 1 9 7 5 Property 2 9 9 7 Property 3 7 9 9 Property 4 5 9 9 Property 5 0 0 0 Property 6 9 7 5 Property 7 9 9 7 Property 8 7 9 9 Property 9 5 9 9 Property 10 0 0 0 Features x Properties 3 x 10 + Users x Features 10 x 3
  • 23.
    Alternating Least Squares valfavorites: Seq[Favorite] = ... val ratings = favorites.map(fav => Rating(fav.user, fav.prop, 1)) val (userFeatures, propertyFeatures) = ALS.train(ratings = ratings, rank = 5) val predictions = userFeatures * propertyFeatures val predictionsForUser = predictions.filter(_.userId == userId) Spark ML Makes it Easy
  • 24.
  • 25.
    Deployment • Deploy iton Heroku • Run on a Spark Cluster • When to train? • Where to put the model?
  • 26.
    PredictionIO • Template Gallery •Event Server • Model Persistence • Engine Tuning & Versioning • REST Endpoint for Predictions Open Source Machine Learning Server
  • 27.
    Introducing: Predictive Vision& Sentiment Services ` Leverage existing and train your own deep learning models to recognize and classify images Access deep learning models to classify the sentiment of text Predictive Vision Service Predictive Sentiment Service Predictive Sentiment Service Get started today! metamind.io Introducing: Predictive Vision & Sentiment Services
  • 28.
  • 29.

Editor's Notes

  • #3 Talk track And today we are excited to announce Salesforce Einstein. Einstein is bringing AI to Everyone. First, it makes the World’s #1 CRM the World’s Smartest CRM Second, Einstein empowers all our users - Sales, Service, Marketing, and IT - to be their best and be smarter about their customers. And finally, we went beyond the apps and extended Einstein to our platform so everyone can build AI Powered apps. ### more copy ### The power of Einstein comes from combining our leadership in cloud technology with this comprehensive set of technologies that we acquired or built - machine learning, deep learning, smart discovery and NLP. When applied to customer data and a deep understanding of the customer experience we will make our apps smarter, and have Intelligence built into Salesforce. Namely: • Sales users can prospect better, improve forecasting, and automate routine tasks • Service users can leverage IoT, intelligent communities, and aided case recommendations to deliver new levels of service • Marketing users can personalize campaigns so every customer receives the right content on the right channel at the right time