Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Introduction to Machine Learning

2,521 views

Published on

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.

Published in: Technology
  • Be the first to comment

Introduction to Machine Learning

  1. 1. James Ward Platform Evangelist jamesward.com @_JamesWard Introduction to Machine Learning
  2. 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. 3. How Humans Learn Observe world Compare to expectations Analyze differences Refine model
  4. 4. How Machines Learn Data to Model Evaluate model Feedback signals Refine model
  5. 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
  6. 6. Machine Learning
  7. 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. 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. 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. 10. Product Recommendation User Likes Prediction Collaborative Filtering
  11. 11. Demo! https://dreamhouseapp.io/pio
  12. 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. 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. 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. 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. 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. 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. 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. 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. 20. 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
  21. 21. 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
  22. 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. 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
  24. 24. Code! https://github.com/jamesward/dreamhouse-sparkml
  25. 25. Deployment • Deploy it on Heroku • Run on a Spark Cluster • When to train? • Where to put the model?
  26. 26. PredictionIO • Template Gallery • Event Server • Model Persistence • Engine Tuning & Versioning • REST Endpoint for Predictions Open Source Machine Learning Server
  27. 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. 28. Predictive Services
  29. 29. Thank Y u

×