A Machine Learning Guide for Average Humans

Posted by alexis-sanders

(function($) {
// code using $ as alias to jQuery
$(function() {
// Hide the hypotext content.
$(‘.hypotext-content’).hide();
// When a hypotext link is clicked.
$(‘a.hypotext.closed’).click(function (e) {
// custom handling here
e.preventDefault();
// Create the class reference from the rel value.
var id = ‘.’ + $(this).attr(‘rel’);
// If the content is hidden, show it now.
if ( $(id).css(‘display’) == ‘none’ ) {
$(id).show(‘slow’);
if (jQuery.ui) {
// UI loaded
$(id).effect(“highlight”, {}, 1000);
}
}
// If the content is shown, hide it now.
else {
$(id).hide(‘slow’);
}
});
// If we have a hash value in the url.
if (window.location.hash) {
// If the anchor is within a hypotext block, expand it, by clicking the
// relevant link.
console.log(window.location.hash);
var anchor = $(window.location.hash);
var hypotextLink = $(‘#’ + anchor.parents(‘.hypotext-content’).attr(‘rel’));
console.log(hypotextLink);
hypotextLink.click();
// Wait until the content has expanded before jumping to anchor.
//$.delay(1000);
setTimeout(function(){
scrollToAnchor(window.location.hash);
}, 1000);
}
});
function scrollToAnchor(id) {
var anchor = $(id);
$(‘html,body’).animate({scrollTop: anchor.offset().top},’slow’);
}
})(jQuery);

.hypotext-content {
position: relative;
padding: 10px;
margin: 10px 0;
border-right: 5px solid;
}
a.hypotext {
border-bottom: 1px solid;
}
.hypotext-content .close:before {
content: “close”;
font-size: 0.7em;
margin-right: 5px;
border-bottom: 1px solid;
}
a.hypotext.close {
display: block;
position: absolute;
right: 0;
top: 0;
line-height: 1em;
border: none;
}

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 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)

Credibility level 3

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: 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: 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 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: 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: 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:

http://1.bp.blogspot.com/-ME24ePzpzIM/UQLWTwurfXI/AAAAAAAAANw/W3EETIroA80/s1600/drop_shadows_background.png

Image source: http://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:

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 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!

Sign up for The Moz Top 10, a semimonthly mailer updating you on the top ten hottest pieces of SEO news, tips, and rad links uncovered by the Moz team. Think of it as your exclusive digest of stuff you don’t have time to hunt down but want to read!

Read more about this at tracking.feedpress.it.