Machine learning (ML) has grown consistently in worldwide prevalence. Its implications have stretched from small, seemingly inconsequential victories to groundbreaking discoveries. The SEO community is no exception. An understanding and intuition of machine learning can support our understanding of the challenges and solutions Google's engineers are facing, while also opening our minds to ML's broader implications.

The advantages of gaining an general understanding of machine learning include:



Gaining empathy for engineers, who are ultimately trying to establish the best results for users

Understanding what problems machines are solving for, their current capabilities and scientists' goals

Understanding the competitive ecosystem and how companies are using machine learning to drive results

Preparing oneself for what many industry leaders call a major shift in our society (Andrew Ng refers to AI as a "new electricity")

Understanding basic concepts that often appear within research (it's helped me with understanding certain concepts that appear within Google Brain's Research)

Growing as an individual and expanding your horizons (you might really enjoy machine learning!)

When code works and data is produced, it's a very fulfilling, empowering feeling (even if it's a very humble result)

I spent a year taking online courses, reading books, and learning about learning (...as a machine). This post is the fruit borne of that labor -- it covers 17 machine learning resources (including online courses, books, guides, conference presentations, etc.) comprising the most affordable and popular machine learning resources on the web (through the lens of a complete beginner). I've also added a summary of "If I were to start over again, how I would approach it."

This article isn't about credit or degrees. It's about regular Joes and Joannas with an interest in machine learning, and who want to spend their learning time efficiently. Most of these resources will consume over 50 hours of commitment. Ain't nobody got time for a painful waste of a work week (especially when this is probably completed during your personal time). The goal here is for you to find the resource that best suits your learning style. I genuinely hope you find this research useful, and I encourage comments on which materials prove most helpful (especially ones not included)! #HumanLearningMachineLearning

Executive summary:

Here's everything you need to know in a chart:

Here's my suggested program:

1. Starting out (estimated 60 hours)

Start with shorter content targeting beginners. This will allow you to get the gist of what's going on with minimal time commitment.

2. Ready to commit (estimated 80 hours)

By this point, learners would understand their interest levels. Continue with content focused on applying relevant knowledge as fast as possible.

Commit to Fast.ai 10 hours per week, for 7 weeks. If you have a friend/mentor that can help you work through AWS setup, definitely lean on any support in installation (it's 100% the worst part of ML).



Acquire Hands-On Machine Learning with Scikit-Learn and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems, and read the first two chapters immediately. Then use this as supplemental to the Fast.ai course.

3. Broadening your horizons (estimated 115 hours)

If you've made it through the last section and are still hungry for more knowledge, move on to broadening your horizons. Read content focused on teaching the breadth of machine learning -- building an intuition for what the algorithms are trying to accomplish (whether visual or mathematically).

Start watching videos and participating in Udacity's Intro to Machine Learning (by Sebastian Thrun and Katie Malone).



Work through Andrew Ng's Coursera Machine Learning course.

Your next steps

By this point, you will already have AWS running instances, a mathematical foundation, and an overarching view of machine learning. This is your jumping-off point to determine what you want to do.

You should be able to determine your next step based on your interest, whether it's entering Kaggle competitions; doing Fast.ai part two; diving deep into the mathematics with Pattern Recognition & Machine Learning by Christopher Bishop; giving Andrew Ng's newer Deeplearning.ai course on Coursera; learning more about specific tech stacks (TensorFlow, Scikit-Learn, Keras, Pandas, Numpy, etc.); or applying machine learning to your own problems.

Why am I recommending these steps and resources?

I am not qualified to write an article on machine learning. I don't have a PhD. I took one statistics class in college, which marked the first moment I truly understood "fight or flight" reactions. And to top it off, my coding skills are lackluster (at their best, they're chunks of reverse-engineered code from Stack Overflow). Despite my many shortcomings, this piece had to be written by someone like me, an average person.

Statistically speaking, most of us are average (ah, the bell curve/Gaussian distribution always catches up to us). Since I'm not tied to any elitist sentiments, I can be real with you. Below contains a high-level summary of my reviews on all of the classes I took, along with a plan for how I would approach learning machine learning if I could start over. Click to expand each course for the full version with notes.

In-depth reviews of machine learning courses:

Starting out

Jason Maye's Machine Learning 101 slidedeck: 2 years of head-banging, so you don't have to ↓

Need to Know: A stellar high-level overview of machine learning fundamentals in an engaging and visually stimulating format. Loved: Very user-friendly, engaging, and playful slidedeck.

Has the potential to take some of the pain out of the process, through introducing core concepts.

Breaks up content by beginner/need-to-know (green), and intermediate/less-useful noise (specifically for individuals starting out) (blue).

Provides resources to dive deeper into machine learning.

Provides some top people to follow in machine learning. Disliked: That there is not more! Jason's creativity, visual-based teaching approach, and quirky sense of humor all support the absorption of the material. Lecturer: Jason Mayes: Senior Creative Technologist and Research Engineer at Google

Masters in Computer Science from University of Bristols

Personal Note: He's also kind on Twitter! :) Links: Machine Learning 101 slide deck Tips on Watching: Set aside 2-4 hours to work through the deck once.

Since there is a wealth of knowledge, refer back as needed (or as a grounding source).

Identify areas of interest and explore the resources provided.

{ML} Recipes with Josh Gordon ↓

Need to Know: This mini-series YouTube-hosted playlist covers the very fundamentals of machine learning with opportunities to complete exercises. Loved: It is genuinely beginner-focused. They make no assumption of any prior knowledge. Gloss over potentially complex topics that may serve as noise. Playlist ~2 hours

Very high-quality filming, audio, and presentation, almost to the point where it had its own aesthetic.

Covers some examples in scikit-learn and TensorFlow, which felt modern and practical.

Josh Gordon was an engaging speaker. Disliked: I could not get Dockers on Windows (suggested package manager). This wasn't a huge deal, since I already had my AWS setup by this point; however, a bit of a bummer since it made it impossible to follow certain steps exactly. Issue: Every time I tried to download (over the course of two weeks), the .exe file would recursively start and keep spinning until either my memory ran out, computer crashed, or I shut my computer down. I sent this to Docker's Twitter account to no avail.

Lecturer: Josh Gordon: Developer Advocate for at TensorFlow at Google

Leads Machine Learning advocacy at Google

Member of the Udacity AI & Data Industry Advisory Board

Masters in Computer Science from Columbia University Links: Hello World - Machine Learning Recipes #1 (YouTube)

GitHub: Machine Learning Recipes with Josh Gordon Tips on Watching: The playlist is short (only ~1.5 hours screen time). However, it can be a bit fast-paced at times (especially if you like mimicking the examples), so set aside 3-4 hours to play around with examples and allow time for installation, pausing, and following along.

Take time to explore code labs.

Google's Machine Learning Crash Course with TensorFlow APIs ↓

Need to Know: A Google researcher-made crash course on machine learning that is interactive and offers its own built-in coding system! Loved: Different formats of learning: high-quality video (with ability to adjust speed, closed captioning), readings, quizzes (with explanations), visuals (including whiteboarding), interactive components/ playgrounds, code lab exercises (run directly in your browser (no setup required!))

Non-intimidating One of my favorite quotes: "You don't need to understand the math to be able to take a look at the graphical interpretation." Broken down into digestible sections Introduces key terms

Disliked: N/A Lecturers: Multiple Google researchers participated in this course, including: Peter Norvig Director of Research at Google Inc. Previously he directed Google's core search algorithms group. He is co-author of Artificial Intelligence: A Modern Approach

D. Sculley Senior Staff Software Engineer at Google KDD award-winning papers Works on massive-scale ML systems for online advertising Was part of a research ML paper on optimizing chocolate chip cookies According to his personal website, he prefers to go by "D."

Cassandra Xia Programmer, Software Engineer at Google She has some really cool (and cute) projects based on learning statistics concepts interactively

Maya Gupta Leads Glassbox Machine Learning R&D team at Google Associate Professor of Electrical Engineering at the University of Washington (2003-2012) In 2007, Gupta received the PECASE award from President George Bush for her work in classifying uncertain (e.g. random) signals Gupta also runs Artifact Puzzles, the second-largest US maker of wooden jigsaw puzzles

Sally Goldman Research Scientist at Google Co-author of A Practical Guide to Data Structures and Algorithms Using Java Numerous journals, classes taught at Washington University, and contributions to the ML community

Links: Machine Learning Crash Course Tips on Doing: Actively work through playground and coding exercises

OCDevel's Machine Learning Guide Podcast ↓

Need to Know: This podcast focuses on the high-level fundamentals of machine learning, including basic intuition, algorithms, math, languages, and frameworks. It also includes references to learn more on each episode's topic. Loved: Great for trips (when traveling a ton, it was an easy listen).

The podcast makes machine learning fun with interesting and compelling analogies.

Tyler is a big fan of Andrew Ng's Coursera course and reviews concepts in Coursera course very well, such that both pair together nicely.

Covers the canonical resources for learning more on a particular topic. Disliked: Certain courses were more theory-based; all are interesting, yet impractical.

Due to limited funding the project is a bit slow to update and has less than 30 episodes. Podcaster: Tyler Renelle: Machine learning engineer focused on time series and reinforcement

Background in full-stack JavaScript, 10 years web and mobile

Creator of HabitRPG, an app that treats habits as an RPG game Links: Machine Learning Guide podcast

Machine Learning Guide podcast (iTunes) Tips on Listening: Listen along your journey to help solidify understanding of topics.

Skip episodes 1, 3, 16, 21, and 26 (unless their topics interest and inspire you!).

Kaggle Machine Learning Track (Lesson 1) ↓

Need to Know: A simple code lab that covers the very basics of machine learning with scikit-learn and Panda through the application of the examples onto another set of data. Loved: A more active form of learning.

An engaging code lab that encourages participants to apply knowledge.

This track offers has a built-in Python notebook on Kaggle with all input files included. This removed any and all setup/installation issues. Side note: It's a bit different than Jupyter notebook (e.g., have to click into a cell to add another cell).

Each lesson is short, which made the entire lesson go by very fast. Disliked: The writing in the first lesson didn't initially make it clear that one would need to apply the knowledge in the lesson to their workbook. It wasn't a big deal, but when I started referencing files in the lesson, I had to dive into the files in my workbook to find they didn't exist, only to realize that the knowledge was supposed to be applied and not transcribed.

Lecturer: Dan Becker: Data Scientist at Kaggle

Undergrad in Computer Science, PhD in Econometrics

Supervised data science consultant for six Fortune 100 companies

Contributed to the Keras and Tensorflow libraries

Finished 2nd (out of 1353 teams) in $3 million Heritage Health Prize data mining competition

Speaks at deep learning workshops at events and conferences Links: https://www.kaggle.com/learn/machine-learning Tips on Doing: Read the exercises and apply to your dataset as you go.

Try lesson 2, which covers more complex/abstract topics (note: this second took a bit longer to work through).

Ready to commit

Fast.ai (part 1 of 2) ↓

Need to Know: Hands-down the most engaging and active form of learning ML. The source I would most recommend for anyone (although the training plan does help to build up to this course). This course is about learning through coding. This is the only course that I started to truly see the practical mechanics start to come together. It involves applying the most practical solutions to the most common problems (while also building an intuition for those solutions). Loved: Course Philosophy: Active learning approach "Go out into the world and understand underlying mechanics (of machine learning by doing)." Counter-culture to the exclusivity of the machine learning field, focusing on inclusion. "Let's do shit that matters to people as quickly as possible."

Highly pragmatic approach with tools that are currently being used (Jupyter Notebooks, scikit-learn, Keras, AWS, etc.).

Show an end-to-end process that you get to complete and play with in a development environment.

Math is involved, but is not prohibitive. Excel files helped to consolidate information/interact with information in a different way, and Jeremy spends a lot of time recapping confusing concepts.

Amazing set of learning resources that allow for all different styles of learning, including: Video Lessons Notes Jupyter Notebooks Assignments Highly active forums Resources on Stackoverflow Readings/resources Jeremy often references popular academic texts Jeremy's TEDx talk in Brussels

Jeremy really pushes one to do extra and put in the effort by teaching interesting problems and engaging one in solving them.

It's a huge time commitment; however, it's worth it.

All of the course's profits are donated. Disliked: Overview covers their approach to learning (obviously I'm a fan!). If you're already drinking the Kool-aid, skip past.

I struggled through the AWS setup (13-minute video) for about five hours (however, it felt so good when it was up and running!).

Because of its practicality and concentration on solutions used today to solve popular problem types (image recognition, text generation, etc.), it lacks breadth of machine learning topics. Lecturers: Jeremy Howard: Distinguished Research Scientist at the University of San Francisco

Faculty member at Singularity University

Young Global Leader with the World Economic Forum

Founder of Enlitic (the first company to apply deep learning to medicine)

Former President and Chief Scientist of the data science platform Kaggle Rachel Thomas: PhD in Math from Duke

One of Forbes' "20 Incredible Women Advancing AI Research"

Researcher-in-residence at the University of San Francisco Data Institute

Teaches in the Masters in Data Science program Links: http://course.fast.ai/start.html

http://wiki.fast.ai/index.php/Main_Page

https://github.com/fastai/courses/tree/master/deeplearning1/nbs Tips on Doing: Set expectations with yourself that installation is going to probably take a few hours.

Prepare to spend about ~70 hours for this course (it's worth it).

Don't forget to shut off your AWS instance.

Balance out machine learning knowledge with a course with more breadth.

Consider giving part two of the Fast.ai program a shot!

Hands-On Machine Learning with Scikit-Learn and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems ↓

Need to Know: This book is an Amazon best seller for a reason. It covers a lot of ground quickly, empowers readers to walk through a machine learning problem by chapter two, and contains practical up-to-date machine learning skills. Loved: Book contains an amazing introduction to machine learning that briskly provides an overarching quick view of the machine learning ecosystem.

Chapter 2 immediately walks the reader through an end-to-end machine learning problem.

Immediately afterwards, Aurélien pushes a user to attempt to apply this solution to another problem, which was very empowering.

There are review questions at the end of each chapter to ensure on has grasped the content within the chapter and to push the reader to explore more.

Once installation was completed, it was easy to follow and all code is available on GitHub.

Chapters 11-14 were very tough reading; however, they were a great reference when working through Fast.ai.

Contains some powerful analogies.

Each chapter's introductions were very useful and put everything into context. This general-to-specifics learning was very useful. Disliked: Installation was a common source of issues during the beginning of my journey; the text glided over this. I felt the frustration that most people experience from installation should have been addressed with more resources. Writer: Aurélien Géron: Led the YouTube video classification team from 2013 to 2016

Currently a machine Learning consultant

Founder and CTO of Wifirst and Polyconseil

Published technical books (on C++, Wi-Fi, and Internet architectures) Links: https://www.amazon.com/_/dp/1491962291?tag=oreilly20-20

http://shop.oreilly.com/product/0636920052289.do

https://github.com/ageron/handson-ml Tips on Using: Get a friend with Python experience to help with installation.

Read the introductions to each chapter thoroughly, read the chapter (pay careful attention to code), review the questions at the end (highlight any in-text answer), make a copy of Aurélien's GitHub and make sure everything works on your setup, re-type the notebooks, go to Kaggle and try on other datasets.

Broadening your horizons

Udacity: Intro to Machine Learning (Kate/Sebastian) ↓

Need to Know: A course that covers a range of machine learning topics, supports building of intuition via visualization and simple examples, offers coding challenges, and a certificate (upon completion of a final project). The biggest challenge with this course is bridging the gap between the hand-holding lectures and the coding exercises. Loved: Focus on developing a visual intuition on what each model is trying to accomplish.

This visual learning mathematics approach is very useful.

Cover a vast variety and breadth of models and machine learning basics.

In terms of presenting the concept, there was a lot of hand-holding (which I completely appreciated!).

Many people have done this training, so their GitHub accounts can be used as reference for the mini-projects.

Katie actively notes documentation and suggests where viewers can learn more/reference material. Disliked: All of the conceptual hand-holding in the lessons is a stark contrast to the challenges of installation, coding exercises, and mini-projects. This is the first course started and the limited instructions on setting up the environment and many failed attempts caused me to break down crying at least a handful of times.

The mini-projects are intimidating.

There is extra code added to support the viewers; however, it's done so with little acknowledgement as to what it's actually doing. This made learning a bit harder. Lecturer: Caitlin (Katie) Malone: Director of Data Science Research and Development at Civis Analytics

Stanford PhD in Experimental Particle Physics

Intern at Udacity in summer 2014

Graduate Researcher at the SLAC National Accelerator Laboratory https://www6.slac.stanford.edu/

Podcaster with Ben Jaffe (currently Facebook UI Engineer and a music aficionado) on a machine learning podcast Linear Digressions (100+ episodes) Sebastian Thrun: CEO of the Kitty Hawk Corporation

Chairman and co-founder of Udacity One of my favorite Sebastian quotes: "It occurred to me, I could be at Google and build a self-driving car, or I can teach 10,000 students how to build self-driving cars."

Former Google VP Founded Google X Led development of the robotic vehicle Stanley

Professor of Computer Science at Stanford University

Formerly a professor at Carnegie Mellon University. Links: https://www.udacity.com/course/intro-to-machine-learning--ud120

Udacity also offers a next step, the Machine Learning Engineer Nanodegree, which will set one back about $1K. Tips on Watching: Get a friend to help you set up your environment.

Print mini-project instructions to check off each step.

Andrew Ng's Coursera Machine Learning Course ↓

Need to Know: The Andrew Ng Coursera course is the most referenced online machine learning course. It covers a broad set of fundamental, evergreen topics with a strong focus in building mathematical intuition behind machine learning models. Also, one can submit assignments and earn a grade for free. If you want to earn a certificate, one can subscribe or apply for financial aid. Loved: This course has a high level of credibility.

Introduces all necessary machine learning terminology and jargon.

Contains a very classic machine learning education approach with a high level of math focus.

Quizzes interspersed in courses and after each lesson support understanding and overall learning.

The sessions for the course are flexible, the option to switch into a different section is always available. Disliked: The mathematic notation was hard to process at times.

The content felt a bit dated and non-pragmatic. For example, the main concentration was MATLAB and Octave versus more modern languages and resources.

Video quality was less than average and could use a refresh. Lecturer: Andrew Ng: Adjunct Professor, Stanford University (focusing on AI, Machine Learning, and Deep Learning)

Co-founder of Coursera

Former head of Baidu AI Group

Founder and previous head of Google Brain (deep learning) project

Former Director of the Stanford AI Lab

Chairman of the board of Woebot (a machine learning bot that focuses on Cognitive Behavior Therapy) Links: https://www.coursera.org/learn/machine-learning/

Andrew Ng recently launched a new course (August 2017) called DeepLearning.ai, a ~15 week course containing five mini-courses ($49 USD per month to continue learning after trial period of 7 days ends). Course: https://www.coursera.org/specializations/deep-learning Course 1: Neural Networks and Deep Learning Course 2: Improving Deep Neural Networks: Hyperparameter tuning, Regularization and Optimization Course 3: Structuring Machine Learning Projects Course 4: Convolutional Neural Networks Course 5: Sequence Models

Tips on Watching: Be disciplined with setting aside timing (even if it's only 15 minutes a day) to help power through some of the more boring concepts.

Don't do this course first, because it's intimidating, requires a large time commitment, and isn't a very energizing experience.

Additional machine learning opportunities

iPullRank Machine Learning Guide ↓

Need to Know: A machine learning e-book targeted at marketers. Loved: Targeted at marketers and applied to organic search.

Covers a variety of machine learning topics.

Some good examples, including real-world blunders.

Gives some practical tools for non-data scientists (including: MonkeyLearn and Orange) I found Orange to be a lot of fun. It struggled with larger datasets; however, it has a very visual interface that was more user-friendly and offers potential to show some pretty compelling stories. Example: World Happiness Dataset by: X-axis: Happiness Score Y-axis: Economy Color: Health

Disliked: Potential to break up content more with relevant imagery -- the content was very dense. Writers: iPullRank Team (including Mike King): Mike King has a few slide decks on the basics of machine learnings and AI

iPullRank has a few data scientists on staff Links: http://ipullrank.com/machine-learning-guide/ Tips on Reading: Read chapters 1-6 and the rest depending upon personal interest.

Review Google PhD ↓

Need to Know: A two-hour presentation from Google's 2017 IO conference that walks through getting 99% accuracy on the MNIST dataset (a famous dataset containing a bunch of handwritten numbers, which the machine must learn to identify the numbers). Loved: This talk struck me as very modern, covering the cutting edge.

Found this to be very complementary to Fast.ai, as it covered similar topics (e.g. ReLu, CNNs, RNNs, etc.)

Amazing visuals that help to put everything into context. Disliked: The presentation is only a short conference solution and not a comprehensive view of machine learning.

Also, a passive form of learning. Presenter: Martin Görner: Developer Relations, Google (since 2011)

Started Mobipocket, a startup that later became the software part of the Amazon Kindle and its mobile variants Links: Part 1 - https://www.youtube.com/watch?v=u4alGiomYP4

Part 2 - https://www.youtube.com/watch?v=fTUwdXUFfI8 Tips on Watching: Google any concepts you're unfamiliar with.

Take your time with this one; 2 hours of screen time doesn't count all of the Googling and processing time for this one.

Caltech Machine Learning iTunes ↓

Need to Know: If math is your thing, this course does a stellar job of building the mathematic intuition behind many machine learning models. Dr. Abu-Mostafa is a raconteur, includes useful visualizations, relevant real-world examples, and compelling analogies. Loved: First and foremost, this is a real Caltech course, meaning it's not a watered-down version and contains fundamental concepts that are vital to understanding the mechanics of machine learning.

On iTunes, audio downloads are available, which can be useful for on-the-go learning.

Dr. Abu-Mostafa is a skilled speaker, making the 27 hours spent listening much easier!

Dr. Abu-Mostafa offers up some strong real-world examples and analogies which makes the content more relatable. As an example, he asks students: "Why do I give you practice exams and not just give you the final exam?" as an illustration of why a testing set is useful. If he were to just give students the final, they would just memorize the answers (i.e., they would overfit to the data) and not genuinely learn the material. The final is a test to show how much students learn.

The last 1/2 hour of the class is always a Q&A, where students can ask questions. Their questions were useful to understanding the topic more in-depth.

The video and audio quality was strong throughout. There were a few times when I couldn't understand a question in the Q&A, but overall very strong.

This course is designed to build mathematical intuition of what's going on under the hood of specific machine learning models. Caution: Dr. Abu-Mostafa uses mathematical notation, but it's different from Andrew Ng's (e.g., theta = w).

The final lecture was the most useful, as it pulled a lot of the conceptual puzzle pieces together. The course on neural networks was a close second! Disliked: Although it contains mostly evergreen content, being released in 2012, it could use a refresh.

Very passive form of learning, as it wasn't immediately actionable. Lecturer: Dr. Yaser S. Abu-Mostafa: Professor of Electrical Engineering and Computer Science at the California Institute of Technology

Chairman of Machine Learning Consultants LLC

Serves on a number of scientific advisory boards

Has served as a technical consultant on machine learning for several companies (including Citibank).

Multiple articles in Scientific American Links: https://work.caltech.edu/telecourse.html

https://itunes.apple.com/us/course/machine-learning/id515364596 Tips on Watching: Consider listening to the last lesson first, as it pulls together the course overall conceptually. The map of the course, below, was particularly useful to organizing the information taught in the courses.

"Pattern Recognition & Machine Learning" by Christopher Bishop ↓

Need to Know: This is a very popular college-level machine learning textbook. I've heard it likened to a bible for machine learning. However, after spending a month trying to tackle the first few chapters, I gave up. It was too much math and pre-requisites to tackle (even with a multitude of Google sessions). Loved: The text of choice for many major universities, so if you can make it through this text and understand all of the concepts, you're probably in a very good position.

I appreciated the history aside sections, where Bishop talked about influential people and their career accomplishments in statistics and machine learning.

Despite being a highly mathematically text, the textbook actually has some pretty visually intuitive imagery. Disliked: I couldn't make it through the text, which was a bit frustrating. The statistics and mathematical notation (which is probably very benign for a student in this topic) were too much for me.

The sunk cost was pretty high here (~$75). Writer: Christopher Bishop: Laboratory Director at Microsoft Research Cambridge

Professor of Computer Science at the University of Edinburgh

Fellow of Darwin College, Cambridge

PhD in Theoretical Physics from the University of Edinburgh Links: https://www.amazon.com/Pattern-Recognition-Learning-Information-Statistics/dp/0387310738/ref=sr_1_2?ie=UTF8&qid=1516839475&sr=8-2&keywords=Pattern+Recognition+%26+Machine+Learning Tips on Reading: Don't start your machine learning journey with this book.

Get a friend in statistics to walk you through anything complicated (my plan is to get a mentor in statistics).

Consider taking a (free) online statistics course (Khan Academy and Udacity both have some great content on statistics, calculus, math, and data analysis).

Machine Learning: Hands-on for Developers and Technical Professionals ↓

Need to Know: A fun, non-intimidating end-to-end launching pad/whistle stop for machine learning in action. Loved: Talks about practical issues that many other sources didn't really address (e.g. data-cleansing).

Covered the basics of machine learning in a non-intimidating way. Offers abridged, consolidated versions of the content. Added fun anecdotes that makes it easier to read. Overall the writer has a great sense of humor. Writer talks to the reader as if they're a real human being (i.e., doesn't expect you to go out and do proofs; acknowledges the challenge of certain concepts).

Covers a wide variety of topics.

Because it was well-written, I flew through the book (even though it's about ~300 pages). Disliked: N/A Writer: Jason Bell: Technical architect, lecturer, and startup consultant

Data Engineer at MastodonC

Former section editor for Java Developer's Journal

Former writer on IBM DeveloperWorks Links: https://www.amazon.com/Machine-Learning-Hands-Developers-Professionals/dp/1118889061

https://www.wiley.com/en-us/Machine+Learning%3A+Hands+On+for+Developers+and+Technical+Professionals-p-9781118889060

Jason's Blog: https://dataissexy.wordpress.com/ Tips on Reading: Download and explore Weka's interface beforehand.

Give some of the exercises a shot.

Introduction to Machine Learning with Python: A Guide for Data Scientists ↓

Need to Know: This was a was a well-written piece on machine learning, making it a quick read. Loved: Quick, smooth read.

Easy-to-follow code examples.

The first few chapters served as a stellar introduction to the basics of machine learning.

Contain subtle jokes that add a bit of fun.

Tip to use the Python package manager Anaconda with Jupyter Notebooks was helpful. Disliked: Once again, installation was a challenge.

The "mglearn" utility library threw me for a loop. I had to reread the first few chapters before I figured out it was support for the book.

Although I liked the book, I didn't love it. Overall it just missed the "empowering" mark. Writers: Andreas C. Müller: PhD in Computer Science

Lecturer at the Data Science Institute at Columbia University

Worked at the NYU Center for Data Science on open source and open science

Former Machine Learning Scientist at Amazon

Speaks often on Machine Learning and scikit-learn (a popular machine learning library)

And he makes some pretty incredibly useful graphics, such as this scikit-learn cheat sheet: Sarah Guido: Former senior data scientist at Mashable

Lead data scientist at Bitly

2018 SciPy Conference Data Science track co-chair Links: https://www.amazon.com/Introduction-Machine-Learning-Python-Scientists/dp/1449369413/ref=sr_1_7?s=books&ie=UTF8&qid=1516734322&sr=1-7&keywords=python+machine+learning

http://shop.oreilly.com/product/0636920030515.do Tips on Reading: Type out code examples.

Beware of the "mglearn" utility library.

Udacity: Machine Learning by Georgia Tech ↓

Need to Know: A mix between an online learning experience and a university machine learning teaching approach. The lecturers are fun, but the course still fell a bit short in terms of active learning. Loved: This class is offered as CS7641 at Georgia Tech, where it is a part of the Online Masters Degree. Although taking this course here will not earn credit towards the OMS degree, it's still a non-watered-down college teaching philosophy approach.

Covers a wide variety of topics, many of which reminded me of the Caltech course (including: VC Dimension versus Bayesian, Occam's razor, etc.)

Discusses Markov Decision Chains, which is something that didn't really come up in many other introductory machine learning course, but they are referenced within Google patents.

The lecturers have a great dynamic, are wicked smart, and displayed a great sense of (nerd) humor, which make the topics less intimidating.

The course has quizzes, which give the course a slight amount of interaction. Disliked: Some videos were very long, which made the content a bit harder to digest.

The course overall was very time consuming.

Despite the quizzes, the course was a very passive form of learning with no assignments and little coding.

Many videos started with a bunch of content already written out. Having the content written out was probably a big time-saver, but it was also a bit jarring for a viewer to see so much information all at once, while also trying to listen.

It's vital to pay very close attention to notation, which compounds in complexity quickly.

Tablet version didn't function flawlessly: some was missing content (which I had to mark down and review on a desktop), the app would crash randomly on the tablet, and sometimes the audio wouldn't start.

There were no subtitles available on tablet, which I found not only to be a major accessibility blunder, but also made it harder for me to process (since I'm not an audio learner). Lecturer: Michael Littman: Professor of Computer Science at Brown University.

Was granted a patent for one of the earliest systems for Cross-language information retrieval

Perhaps the most interesting man in the world: Been in two TEDx talks How I Learned to Stop Worrying and Be Realistic About AI A Cooperative Path to Artificial Intelligence During his time at Duke, he worked on an automated crossword solver (PROVERB) Has a Family Quartet He has appeared in a TurboTax commercial

Charles Isbell: Professor and Executive Associate Dean at School of Interactive Computing at Georgia Tech

Focus on statistical machine learning and "interactive" artificial intelligence. Links: https://www.udacity.com/course/machine-learning--ud262 Tips on Watching: Pick specific topics of interest and focusing on those lessons.

Andrew Ng's Stanford's Machine Learning iTunes ↓

Need to Know: A non-watered-down Stanford course. It's outdated (filmed in 2008), video/audio are a bit poor, and most links online now point towards the Coursera course. Although the idea of watching a Stanford course was energizing for the first few courses, it became dreadfully boring. I made it to course six before calling it. Loved: Designed for students, so you know you're not missing out on anything.

This course provides a deeper study into the mathematical and theoretical foundation behind machine learning to the point that the students could create their own machine learning algorithms. This isn't necessarily very practical for the everyday machine learning user.

Has some powerful real-world examples (although they're outdated).

There is something about the kinesthetic nature of watching someone write information out. The blackboard writing helped me to process certain ideas. Disliked: Video and audio quality were pain to watch. Many questions asked by students were hard to hear.

On-screen visuals range from hard to impossible to see.

Found myself counting minutes.

Dr. Ng mentions TA classes, supplementary learning, but these are not available online.

Sometimes the video showed students, which I felt was invasive. Lecturer: Andrew Ng (see above) Links: https://itunes.apple.com/us/course/machine-learning/id495053006

https://www.youtube.com/watch?v=UzxYlbK2c7E Tips on Watching: Only watch if you're looking to gain a deeper understanding of the math presented in the Coursera course.

Skip the first half of the first lecture, since it's mostly class logistics. Additional Resources Fast.ai (part 2) - free access to materials, cost for AWS EC2 instance

Deeplearning.ai - $50/month

Udacity Machine Learning Engineer Nanodegree - $1K

https://machinelearningmastery.com/

Motivations and inspiration

If you're wondering why I spent a year doing this, then I'm with you. I'm genuinely not sure why I set my sights on this project, much less why I followed through with it. I saw Mike King give a session on Machine Learning. I was caught off guard, since I knew nothing on the topic. It gave me a pesky, insatiable curiosity itch. It started with one course and then spiraled out of control. Eventually it transformed into an idea: a review guide on the most affordable and popular machine learning resources on the web (through the lens of a complete beginner). Hopefully you found it useful, or at least somewhat interesting. Be sure to share your thoughts or questions in the comments!