# Overview of Machine Learning Systems ## When to Use Machine Learning _Machine learning is an approach to (1) learn (2) complex patterns from (3) existing data and use these patterns to make (4) predictions on (5) unseen data._ 1. Learn: the system has the capacity to learn 2. Complex patterns: there are patterns to learn, and they are complex 3. Existing data: data is available, or it’s possible to collect data 4. Predictions: it’s a predictive problem 5. Unseen data: unseen data shares patterns with the training data 6. It’s repetitive 7. The cost of wrong predictions is cheap 8. It’s at scale 9. The patterns are constantly changing ## Machine Learning Use Cases - A search engine or a recommender system. - Machine translation - Assistants on mobile phone - Fraud detection - Price optimization - Brand monitoring - Health-care application ## Understanding Machine Learning Systems ### Machine Learning in Research Versus in Production | | Research | Production | | -------- | -------- | -------- | | Requirements | State-of-the-art model performance on benchmark datasets | Different stakeholders have different requirements | | Computational priority | Fast training, high throughput | Fast inference, low latency | | Data | Static | Constantly shifting | | Fairness | Often not a focus | Must be considered | | Interpretability | Often not a focus | Must be considered | ### Machine Learning Systems Versus Traditional Software