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:
*Free, but there is the cost of running an AWS EC2 instance (~$70 when I finished, but I did tinker a ton and made a Rick and Morty script generator, which I ran many epochs [rounds] of...)
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.
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).
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:
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:
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:
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
- 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:
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:
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:
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:
Links:
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:
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
- 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:
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:
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.
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:
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:
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:
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.
Image source: https://work.caltech.edu/slides/slides18.pdf
"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:
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:
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:
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:
Image source: https://peekaboo-vision.blogspot.com/2013/01/machin...
Sarah Guido:
- Former senior data scientist at Mashable
- Lead data scientist at Bitly
- 2018 SciPy Conference Data Science track co-chair
Links:
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
- 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:
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:
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
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!
What a good post! I have no idea of Machine Learning, but with this post I'm going to start. Thank you for structuring it in this way. It is easier to know the resources according to your level.
...and also according to your time :P
Thanks again
Of course! Time is our only currency! Thanks for reading! :-)
Brilliant post Alexis - been curious about ML for so long - finally I have a structured resource that I can start and see if I'm still curious after 'only' 60 hours :). A worthy addition to the Moz Blog.
Another thing I'm curious about - how long did it take you to create this post?
Thanks Barry! It means so much!
Ah! This post took about a year of research and corresponding note taking. To write, probably about a month long to compile and consolidate notes, organize information, and pull together. Then about two months of editing! It definitely feels good to have out of my hands. :)
Great post! Thank you so much for sharing these resources. I had no idea of Machine Learning and after reading your article it looks more accessible to me.
Thanks for sharing!!
Thanks so much Elena! Hopefully this helps (even a little bit)! :-)
Yes, it has been of great interest. Hopefully write another related to the subject. At the moment, I am starting to train in machine learning thanks to her :)
Nice! Keep up the effort!
Hey Alexis Sanders,
Thanks for such a good post! Honestly I keep hearing about Machine Learning but I have no idea what is this exactly, but after this post I can surely try someday. This post is actually one of the best as per structure and resources according to Avg. Human level.
One special thing: In Initial of post there is a Point "Preparing oneself for for what many industry" is this repetition of "For For" is a typo error or this has some inside to it?
Thanks for all your efforts.
Cheers
Thank you for reading Ankit!
And for the edit. What did I do that for for! We'll get that fixed up! :-)
Good morning Alexis,
First of all congratulate you for your post. It is of great help since many people limit themselves to speaking in a more or less mechanical way about machine learning but few people know in depth the subject.
More for those of us who are not engineers and who really do not know the ins and outs of technology, such as modes of operation and limitations.
Thank you very much! We hope to continue reading you here in other post!
Thanks so much! This means a lot! I definitely hope that it empowers people to dip their toes in! Definitely let me know your thoughts on any of these courses/materials!
You're right:
Thanks to machine learning, Google are advancing at very fast speed. These advances have allowed search engines to focus on providing the most relevant results.
Personally I do not know much about that, but I recognize that we have to learn.
Thank you, Alexis, for giving us these resources, they will surely be very useful!
Thanks for reading estentor! Your kind words mean so much!
This post inspired me to get started in Machine Learning to improve my personal skillset (I build things using PHP, jQuery, Bootstrap 4, and Service Workers). I'm actually a gamer so I have a powerful (GTX 1060) Nividia graphics card on my windows system, so I figured out how to install everything needed (easier than it sounds) to do the Fast.ai course and other work on my local machine, bringing the costs down to $0 for taking the course.
Anyway, all that to say it's setup and I'm jumping in. Thanks for the guidance; it makes getting started easier.
Wow! Thanks wayy cool! You should do a write-up on how you did it! That would be awesome!
Fast.ai is such a stellar resource, lmk how you feel about it along the way! I felt it was a really pragmatic, engaging introduction!
Thanks Mario!
I was waiting for an article like this one, a simple reference to know where to start, as I see machine learning is the future, it can like it or not but we can not deny the reality, it will be the future so it's better to be prepared.
Thanks Roman! I 100% agree! :-)
Thank you so much for sharing these resources! Now with this, as one of the regular Franks and Felicias, I'm gonna give it a try and see how far I go.
Lol! Thanks for reading! I hope it's useful in your journey! :-)
Hi, i just go through with Jason Maye`s ML 101 as far as think its good very useful but I would like to learn and use it in SEO or in our Digital Marketing Industry, I did not find a way to catch something useful.
Hi AaDi! Thanks for reading!
The application of machine learning for SEO is definitely a broad topic (ML itself offers a general set of tools for solving a variety of problems).
From one POV, it's what's likely going to drive innovation in Google's search program (some might have noticed that they renamed their research blog https://ai.googleblog.com). Understanding the mechanics of search (even at a high level) is useful to understanding what should be done and why certain elements are important for SEO. I've noticed that I (personally) find reading Google's research much less intimidating with a basic understanding of ML. It's way more accessible and interesting than it was previously.
From another POV, machines offer a potential source of competition in content/text generation, which will likely be a common them in the development of the Internet (think: chat bots, voice, paraphrasing content, more concise answers, more targeted answers, translation, machine written content). We're not there for all of these areas yet, but there's a ton of money, interest, and momentum headed in this direction.
Great job Alexis! With you every day we are more experts.
Thanks Carlos! Happy studying! :-)
This is too much for me, i going to dedicate to other bussisness, the SEO is incredibily complex, fascinating too, but complex for me :)
Thanks for reading. Definitely feel free to reach out with any questions! Complexity is often just simplicity disguised behind layers of unnecessary information. :-)
Agree, there are things that are too complex! I am trying to focus on what I can do and don't lose hope when there are things I don't have the time to do or understand. We don't need to do everything, if we do 20% of the job well done, we will be ahead of 80% of our competitors (specially small and medium companies), this is what keep me going!
I like this philosophy! Keep up the effort!
Definitely some food for thought, thanks Alexis. To be honest I don't really know a lot about the topic, however I may have to do some reading now ;)
Thanks for reading Casey! Let me know if you have any questions along the way! :-)
Alexis,
I follow you on Twitter, you dont stop sharing really good stuff!
Since you've published this im trying to free myself some hours so Im able to dig right into those courses.
Also i've shared this with my team and some of my coleagues that dont keep up in the latest and greatest like me.
THANKS, THANKS, THANKS!
Thanks for resources and for presenting optimal learning path.
I am particularly interested in learning more about vector space model, I hope that I will take the time to really do it.
Thanks for reading Stelian! You got this!
very interesting article.
Thanks for reading Carlos!!
Too much for me! But great content! Machine learning has come to stay, it's nice to know something more about that.
Thanks for reading Edson! I'm definitely a fan of starting off small. Jason Maye's deck is a great starting point --> https://docs.google.com/presentation/d/1kSuQyW5DTn...
Content writers like to use BUZZ keywords like Mobilegeddon, RankBrain, Machine Learning, Mobile First Index etc. So let me say that Machine Learning has nothing to do with Technical SEO, which this post is lablled under for some strange reason?! Machine Learning uses neural networks to process large amounts of data, therefore if you are doing Big data analytics then I suggest learning Machine Learning. If you are doing SEO then learning Machine Learning will not help you Rank better or Increase your Performance with Technical SEO. If you want to increase your conversion rates then learn Technical SEO. For more details on both on these subjects I suggest going to the developers dot google website. Maybe because I got two Bachelor of Computer Science degrees I feel I need to point this out, because I am tired of content writers using BUZZ keywords and looking kind of silly.
Machine Learning should be under a label of Analytics or Big Data! NOT Technical SEO.
If you'd like I can request we move to Analytics facet. Do you think that would add to the article's value?
Hi Harry!
Thanks for reading! There are elements that resonate in your comment, so I want to make sure I'm dissecting and responding to all thoughts.
I agree about placement, not a "Technical SEO" topic, more of a "Technical" topic for SEOs. Probably just the best place in the organizational architecture. :-)
The goal of this post was not to bridge the gap between where SEO is and folding in machine learning. It's about learning more about ML. To your point about disliking buzzwords, the best way to combat is understanding what they actually mean. Technical fluency is useful for improved communication.
I really genuinely suggest going over Fast.ai. It will likely really connect with your programming background, all Python/Jupyter Notebook on AWS config. If you want to learn a bit - it's truly a blast!
If it were to focus on bridging the gap, it would likely focus on how big data and analysis can support SEO and the potential impact ML can have on search (better personalization and targeting come to mind). This would require a huge article with a ton of liberties. It would have been a much different piece.
Please comment with the link for the Google documentation you like! It would definitely be useful to have exact link, so people can explore!
You're right that there's a lot being explored with neural networks (e.g., CNNs, RNNs, and GANs); one might say that there's so much more that goes into ML than just NNs, but they are certainly a vital/popular tool in the machine learner's toolbox!
Thanks!
Alexis
Thank you for all this detailed info about machine learning all in one post.
nice Blog
KGN Tour & Travel Somnath was incorporated with a vision to meet travelling needs of clients. Mr. Imtiyaz have actively engaged in various activities of the organization. We have created an amazing reputation in the area of travel and all the credit for this should be given to our capability to innovate new packages that will suit the requirements of our clients. We provide our clients with holiday moments which are exciting and unique in the way they are planned.
Kgn Taxi Service Somnath :-07778927793