### A self-study guide for aspiring machine learning practitioners

Machine Learning Crash Course features a series of lessons with video lectures, real-world case studies, and hands-on practice exercises.

- 30+ exercises
- 25 lessons
- 15 hours
- Lectures from Google researchers
- Real-world case studies
- Interactive visualizations of algorithms in action

**Some of the questions answered in this course**

- Learn best practices from Google experts on key machine learning concepts.
- How does machine learning differ from traditional programming?
- What is lost, and how do I measure it?
- How does gradient descent work?
- How do I determine whether my model is effective?
- How do I represent my data so that a program can learn from it?
- How do I build a deep neural network?

Is Machine Learning Crash Course right for you?

I have little or no machine learning background.

I have some background in machine learning, but I’d like a more current and complete understanding.

I know machine learning really well, but I know little or nothing about TensorFlow.

Please read through the following Prework and Prerequisites sections before beginning Machine Learning Crash Course, to ensure you are prepared to complete all the modules.

**$ads={1}**

**Prework**

Before beginning Machine Learning Crash Course, do the following:

- If you’re new to machine learning, take Introduction to Machine Learning Problem Framing. This one-hour self-study course teaches you how to identify appropriate problems for machine learning.
- If you are new to NumPy, do the NumPy Ultraquick Tutorial Colab exercise, which provides all the NumPy information you need for this course.
- If you are new to pandas, do the pandas UltraQuick Tutorial Colab exercise, which provides all the pandas information you need for this course.

Programming exercises run directly in your browser (no setup required!) using the Colaboratory platform. Colaboratory is supported on most major browsers, and is most thoroughly tested on desktop versions of Chrome and Firefox. If you’d prefer to download and run the exercises offline, see these instructions for setting up a local environment.

**Prerequisites**

Machine Learning Crash Course does not presume or require any prior knowledge in machine learning. However, to understand the concepts presented and complete the exercises, we recommend that students meet the following prerequisites:

You must be comfortable with variables, linear equations, graphs of functions, histograms, and statistical means.

You should be a good programmer. Ideally, you should have some experience programming in Python because the programming exercises are in Python. However, experienced programmers without Python experience can usually complete the programming exercises anyway.

The following sections provide links to additional background material that is helpful.

**$ads={2}**

**Algebra**

variables, coefficients, and functions linear equations such as logarithms, and logarithmic equations such as sigmoid function Linear algebra tensor and tensor rank matrix multiplication Trigonometry tanh (discussed as an activation function; no prior knowledge needed).

Statistics mean, median, outliers, and standard deviation ability to read a histogram

Calculus (optional, for advanced topics) concept of a derivative (you won’t have to actually calculate derivatives) gradient or slope partial derivatives (which are closely related to gradients) chain rule (for a full understanding of the backpropagation algorithm for training neural networks)

**Python Programming**

The following Python basics are covered in The Python Tutorial: defining and calling functions, using positional and keyword parameters dictionaries, lists, sets (creating, accessing, and iterating) for loops, for loops with multiple iterator variables (e.g., for a, b in [(1,2), (3,4)]) if/else conditional blocks and conditional expressions string formatting (e.g., ‘%.2f’ % 3.14) variables, assignment, basic data types (int, float, bool, str)

A few of the programming exercises use the following more advanced Python concept: list comprehensions

**Bash Terminal / Cloud Console**

To run the programming exercises on your local machine or in a cloud console, you should be comfortable working on the command line:

- Bash Reference Manual
- Bash Cheatsheet
- Learn Shell