# 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