Machine Learning is all the rage today with many different options and paradigms. This session will walk through the basics of Machine Learning and show how to get started with the open source Spark ML framework. Through Scala code examples you will learn how to build and deploy learning systems like recommendation engines.
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
5. 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
7. 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
8. 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
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
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 1 User 2 User 3 User 4 User 5
Property 1 ✔
Property 2 ✔ ✔
Property 3 ✔ ✔ ✔
Property 4 ✔ ✔
Property 5 ✔
Human Intelligence First
★
★
★ ★
★
14. 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 ✔ ✔
15. 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 ✔
16. 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
17. 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
18. 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 ✔ ✔
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
22. 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
23. 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
25. Deployment
• Deploy it on 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
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