Santiago Profile picture
12 Mar, 8 tweets, 2 min read
Do you like Star Wars?

Let's talk about John, a machine learning engineer.

He is building a model to predict whether people will like a future Star Wars episode.

This is the story of how John screwed things up.

☕️🧵👇
They are screening the new Star War episode, and the theater seems like a good place to collect some information to create the model.

John goes right in and gives an optional survey to the people sitting in the middle of the theater right before the movie starts.
John does the same for a couple of weeks, then goes back to his computer and puts together a model.

It turns out that the model sucks.

The new episode doesn't do well despite the model predicting the opposite.

What happened?
John only sampled from people who decided to see the movie in the first place.

These results may not properly represent the views of the people who weren't interested in the movie and didn't go to the theater.

This is called "Coverage Bias."
John gave the survey to the people sitting in the middle of the theater.

These are usually the most sought-after tickets. These people are probably the biggest Star Wars fans!

This is called "Sampling Bias."
John used an optional survey to get the results, but only people with strong opinions are likely to participate.

Those who don't care enough will not offer their opinion, so the results may not properly represent everyone's point of view.

This is called "Participation Bias."
These 3 are a form of Selection Bias, and it's essential we keep them in mind when working with data.

From politics to now-infamous public programs, we've all heard about the failures when the parties involved fail to take this seriously.
This is how John butchered an excellent initiative.

You don't want to be John, and you don't have to, because I'm here to help!

Follow me, and let's do this thing together: my specialty is to make machine learning suck a little bit less and share the journey with you.

🦕

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Santiago

Santiago Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @svpino

14 Mar
A good way to understand how shit works is by breaking it down as much as you can.

Here is some code showing Dropout working on an array. And this is a thread explaining how it works.

☕️🧵👇 Image
First, the code.

I want you to notice that Dropout does a couple of things:

▫️ It zeroes-out a percentage of the units.
▫️ It scales the remaining units to account for the missing values.

The second one wasn't obvious to me.
Remember those kids from school that sat together and copied from each other during exams?

They aced every test but were hardly brilliant, remember?

Eventually, the teacher had to set them apart. That was the only way to force them to learn.
Read 6 tweets
12 Mar
“Autoencoders and rotten bananas” is the first story trying to teach you something new about machine learning.

A lot of work to get this out, and I hope you enjoy it as much as I did writing it.

digest.underfitted.io/archive/364757
This is such a great question!

Why in the world do we need autoencoders when we have pretty good compression algorithms?

Autoencoders will never do better than our existing techniques (like for example, JPEG encoding).

JPEG works for any image. Autoencoders only work for the type of images that it was trained on.

That's a big disadvantage.

But only if you are trying to use them to compress images.

Here is a killer application of autoencoders: anomaly detection.
Read 5 tweets
11 Mar
Before you start building a machine learning model, you need a baseline.

I find it helpful to think about 3 different levels and tackle them in order.

Here is how I do this: ☕️🧵👇
▫️ Level 1: The human baseline

Before anything else happens, I find it useful to understand how humans do when solving the problem.

This gives me the ceiling that I should aspire to (or maybe even beat it, if I'm lucky!)
Sometimes, the human baseline will hint at whether a model is a feasible solution for the problem.

For example, if the data doesn't contain information that we can use to make predictions, humans will do very poorly. This will save us a lot of work!
Read 10 tweets
11 Mar
"Do I need a Ph.D. or a Master's degree to work as a machine learning engineer?"

No.

A lot of companies ask for degrees to weed out people that apply to jobs prematurely.

If you have the required skills and show your experience, the degree will not matter.
Both are valid paths and it will come down to your personal preference or what you need to accomplish

If you aren’t sure, online courses give you less risk upfront.
There are specific positions that do require (and will continue to do so) a degree in a related field.

But the industry has changed in the last few years. Fewer places require degrees anymore, and the tendency will continue in that direction.

Read 5 tweets
10 Mar
Let's talk a little bit about machine learning in the real world.

A seemingly simple classification problem that turns ugly quickly.

Hopefully, this gives you an idea of what it takes to put some of the pieces together.

Grab your ☕️, and let's do this thing!

🧵👇
Let's imagine a system where you could sell your stuff.

You submit a bunch of pictures of an object, and the system recommends a price range in which the object could be sold.

Let's focus on classifying the object from the pictures.
An image classification problem sounds simple enough. There are 1,000 examples out there!

Unfortunately, getting value from these systems requires a lot of considerations.

Let me throw a lot of ideas to you. This 🧵 is messy, just like a potential solution to the problem.
Read 19 tweets
9 Mar
Here is an underrated machine learning technique that will give you important information about your data and model.

Let's talk about learning curves.

Grab your ☕️ and let's do this thing!

🧵👇
Start by creating a model. Something simple. You are still exploring what works and what doesn't, so don't get fancy yet.
We are now going to plot the loss (model error) vs. the training dataset size. This will help us answer the following questions:

▫️ Do we need more data?
▫️ Do we have a bias problem?
▫️ Do we have a variance problem?
▫️ What's the ideal picture?
Read 16 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!