Santiago Profile picture
11 Jun, 12 tweets, 3 min read
Software developers want to get into machine learning.

Many make the same mistakes. I've seen a few, and I have some ideas on how to avoid them.

This is what I've learned ↓
Lesson 1

Most people love the idea of starting something new. Only a few take the first step.

Preparing for something new is fun and exciting. It can also turn into glorified procrastination.

Stop collecting resources. Take what's right in front of you and run with it.
Lesson 2

Learning is a marathon, not a sprint. Strap yourself for a long, lifelong road.

If you are looking to make a quick buck, look elsewhere. If you are looking for shortcuts, this ain't it.

Make sure you come for the right reasons and are willing to go the distance.
Lesson 3

If you want to go quickly, go alone. If you want to go far, go together."

Those who pull ahead almost always do it as part of a group.

Find like-minded people that want to take this journey with you. Your odds will increase tenfold.
Lesson 4

If you finish a course, and the only thing you have to show for it is inside your head, you wasted your time.

Do stuff.

What you learn doesn't stick unless you practice it.

Solve problems, write a journal, share it with a friend. Teach, and you'll learn.
Lesson 5

People think about math every time machine learning comes up. They are missing the point.

Most people are scared about their math skills, but it's their lack of programming skills that really hold them back.

Much better investment: become a good developer.
Lesson 6

Coding is secondary. Your ability to analyze a problem is the most important skill you can build.

Writing code is easy; most of the work is understanding what problem to solve and how to do it elegantly.

Invest your time learning how and why things work.
Lesson 7

"You have to understand every detail of an algorithm if you want to use it" is bullshit advice.

Bad news: some algorithms are really complex. Good news: 99% of the time, you don't need to know how they work.

Focus on delivering value. Everything else is secondary.
This thread is a summary of an article I just published: "7 lessons I've learned about starting a career in machine learning."

More context, more details, better articulated.

svpino.com/7-lessons-ive-…
I post threads like this every week.

Stay tuned, as I help you get to the core of practical machine learning.

You can find the rest of my threads here: @svpino.
TL;DR.

• Take action.
• Be prepared for a lifelong journey.
• Find a supporting community.
• Producing > Consuming
• You don't need to be a math wizard to start.
• Forget coding. Focus on the analysis.
• You don't always need to know how it works.

• • •

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

10 Jun
Machine learning superpower: Be the one that makes better predictions.

I can teach you how to do this by putting 2+ models together.

Thread: beginner-friendly introduction to Ensembles.

• What are they?
• Why do they work?
• Real-life examples.
• Practical tips.

A group of models working together is called an "ensemble."

Instead of using a single model, you could build 2 different models and have them vote to select the best answer.

You could also build 3, 4, or however many models you want.

This is powerful.
Here is the surprising part:

Ensembles usually perform better than all of their individual models.

Let's look at one example.
Read 22 tweets
9 Jun
There are thousands of machine learning algorithms out there, but that's mostly noise.

You'll rarely need more than a handful.

A good start:

• Linear/Logistic Regression
• Decision Trees
• Neural Networks
• XGBoost
• Naive Bayes
• PCA
• KNN
• SVM
• t-SNE
Why these 9 instead of your favorite ones?

No specific reason. Your list will certainly include algorithms that I haven't even heard about.

But you must start somewhere, and these are certainly a good foundation.
In case you are curious, I also studied the following algorithms in the first couple of years of starting with machine learning:

• Random Forest
• AdaBoost
• K-Means
• Expectation Maximization
• Simulated Annealing
• Genetic Algorithms
Read 5 tweets
8 Jun
Last week, an Italian artist sold an invisible sculpture for $18,300.

That's a lot of money for a lot of nothing!

I have a better idea for your money:

I can help you start your machine learning career. Something that will pay *you* for the rest of your life.

For the next 24 hours, you can grab my course for a massive 60% discount!

$6 only. That's the price of a cup of coffee where I live!

gum.co/kBjbC/60off

(Almost 2,000 customers with 208 reviews.)

If you still can't afford this, let me know, and I'll send you a free copy.
14 more hours, and the price goes back to $15.
Read 6 tweets
8 Jun
The 4 stages of a machine learning project lifecycle:

1. Project scoping
2. Data definition and preparation
3. Model training and error analysis
4. Deployment, monitoring, and maintenance

Here are 29 questions that you can use at each step of the process.

Project scoping

• What problem are we trying to solve?
• Why do we need to solve this problem?
• What are the constraints?
• What are the risks?
• What's the best approach to solving it?
• How do we measure progress?
• What does success look like?
Data definition and preparation

• What data do we need?
• How are we going to get it?
• How frequently does it change?
• Do we trust the source?
• How is this data biased?
• Can we improve it somehow?
• How are we going to clean it?
• How are we going to augment it?
Read 10 tweets
7 Jun
Here is a photo from the newspaper of a communist island.

I'm the one standing. This was 20 years ago.

I've been developing software for 25+ years, and I've learned a few things.

I didn't have Internet back then, but now that I do, I can share 3 lessons with you:

Look at that photo again.

This was early 2000.

Those were the best computers Cuba had to offer to our Computer Science faculty. Outdated but good enough.

In a country where owning a personal computer was a crime, it was all we had.
One thing was missing: There was no Internet.

I know this might be hard to understand, so I'll rephrase:

We were going through our Computer Science bachelor's with no Internet access.

The entire wealth of information we had fit in a couple of books.
Read 14 tweets
6 Jun
Good systems produce outstanding results.

↓ Some of my recommendations:

• Improve as a developer
• Improve your communication
• Take a course. Take another. Repeat.
• Solve problems. Many of them.
• Teach others.
• Analysis first. Code is secondary.
• Stay curious.
“Tutorial hell” is only when you focus on consumption and neglect production.

Solve problems and put what you learn out there.
Curiosity pushes me to dig deeper. An infinite number of "but why?" questions.

There's something new and interesting on every layer you uncover.

And the more you dig, the better your understanding and the greater your capacity to create something new.

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

:(