1. 程式人生 > >The Path to Understanding Machine Learning

The Path to Understanding Machine Learning

The Path to Understanding Machine Learning

Artificial Intelligence has been the center of media hype. Promises of self-driving cars, virtual assistants, and autonomy are pushed every day in headlines across the globe. Some of these headlines are legit and have real near-term possibilities, like self-driving cars. Others are greatly exaggerated with dramatic titles to drive ad revenue.

The media paints two types of pictures for the near future. A utopian future, where goods are abundant, people don’t need to work, and products are manufactured by intelligent machines. A dystopian future where jobs are scarce, the economy is in near collapse, and all the work are taking by the intelligent machines controlled by our A.I. overlords. Although these scenarios make good science fiction movies, It’s important to understand what’s possible and what’s not, what’s the signal and what’s the noise

.

It’s true that current A.I. technology is on its way to create an enormous amount of economic, societal, and political impact. People who can understand the potential and create these impacts will be the winners.

If you don’t want to be left behind, you’ll need to understand modern day Artificial Intelligence. The number one way to truly realize the potential of A.I. is to be educated in it. Recent advancements in A.I. have been credited to two subfields, Machine Learning, and Deep Learning. Luckily, these two fields are pretty accessible to learn today thanks to the vast amount of resources online.

Below is a list of subjects you should get familiar with to understand what’s happening under the hood when you say to your smart device, “This is so sad Alexa play Despacito” .

The Foundation

Having a foundational understanding is essential to building intuition, therefore it’s always advised to learn the first principles.

Programming

To teach a machine, you’ll first need to learn how to speak its language. Learning a programming language like Python is a great first step.

Intro to python from Codecademy — Accessible start to python

Probability & Statistics

Machine Learning can be thought of as a branch of probability and statistics. It is absolutely essential to understand the underlying statistics of your data. You don’t need a degree in probability and statistics to practice machine learning. But having a fundamental understanding of them goes a long way especially when you are banging your head, stuck, on a machine learning problem.

Intro to Probability and Statistics from MIT open courseware — Learn the basics necessary to understand ML.

Calculus

Calculus is used a lot in Machine Learning; for example, finding an optimal solution for your problem space, or when doing probabilistic modeling. Having said that, you don’t have to go and pull out a calculus book and read it front to back. Some key topics to learn are differential calculus and Integral calculus.

Essence of Calculus youtube playlist from 3blue1Brown — Seriously a must watch. It took me 3–4 hours total and I learned more from this than my first semester of calculus in college.

Differential Calculus from khan academy — A more comprehensive calculus course.

Linear Algebra

In Machine learning, we can represent data in a high dimensional space. Computers are good at reasoning in high dimensions, much better than humans. Can you imagine what a 4-dimensional plane looks like? What about 5? How about 1,000? Linear algebra allows you to represent data in high dimensions and perform math operations on them. Linear Algebra also parallelizes exceptionally well and one of the reasons why GPUs are so widely used in ML today.

Essence of Linear Algebra from 3blue1Brown — Another must watch! If you had difficulties understanding linear algebra before, you won’t after this.

Linear Algebra Chapter from the Deep Learning Book — Understand the math notations.

The Good Stuff

Think you’ll get bored learning the foundations first? Not a problem! A top-down approach can sometimes be more effective if that’s how you learn. Start with Machine Learning and Deep Learning, get super confused, then research your way into enlightenment.

Machine Learning

Machine Learning is a field that concerns itself with algorithms that can learn from experience. It sits in the intersection of computer science, probability, statistics, calculus, and linear algebra. As I’ve said before, you don’t have to fully understand those topics to get started with machine learning. You can start with learning the jargon and the high-level basics and dig deeper into the math from there. Whichever you prefer.

Machine Learning at Coursera by Andrew — An incredibly popular start to ML. Downside is, it’s taught in octave. I recommend using this material to learn the python code alongside this course.

ISLR by Gareth James, Daniela Witten, Trevor Hastie and Robert Tibshirani — Considered as the machine learning bible, this is an excellent book to wrap your head around fundamental ML topics.

Deep Learning

Deep Learning is a subfield of machine learning that focuses on building deep neural networks that can learn from experiences. Deep learning has been getting a lot of hype lately and for good reasons. They are super successful at computer vision and natural language processing tasks. To get started in Deep Learning, I recommend going through machine learning first as deep learning builds on top of that.

Deeplearning.ai from Andrew Ng — The deep learning version of his famous Machine Learning course. All you need to know about the math notations, equations, and deep learning concepts.

fast.ai from Jeremy Howard and team — This is a top-down approach and recommended if you’re already a programmer. You start with the code, then learn the concepts from there.

That’s it!

Whew! That looks like a lot of stuff. But after learning it all, you’ll be well on your way as a contributor to the A.I. revolution. After understanding A.I. you’ll know when to call BS when you see something like this…

A Terrible Overhyped Headline

And you’ll appreciate the beauty when you see something like this…

ML Algorithm Converging to the Optimal Solution