Santiago Profile picture
6 Jan, 6 tweets, 1 min read
An interesting machine learning problem that's quite common πŸ‘‡:

Let's say you need to identify the model of a phone based on a set of pictures of the device. That is, for every request, you'll get one or more images of a device, and you need to answer with each model.

🧡
[2] A plausible solution is to implement a deep learning model that, given an image, determines the correct model of the device (a regular classification model.)

You can run each image through that deep learning model, and this will give you a set of possible answers.

πŸ‘‡
[3] Now, looking at the set of possible answers, you need to determine how to select the correct answer.

Imagine you get the following 5 possible answers:

- Nokia 95
- iPhone 12
- iPhone X
- iPhone 12
- Samsung Galaxy 5

Which one is correct?

πŸ‘‡
[4] There are multiple ways to approach this problem.

Common sense indicates that the score returned by the softmax layer of the model will play a big role in selecting the correct answer.

Simple heuristic: return the answer with the highest score.

πŸ‘‡
[5] Another possible solution is to take into account whether there are multiple matching answers.

For example: "iPhone 12" appears twice.

Combining this with the scores in some creative way gives a better path to successfully select the correct answer.

πŸ‘‡
[6] Problems with different characteristics will offer different options to come up with an answer.

Have you worked on a similar problem? How have you approached it?

β€’ β€’ β€’

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

7 Jan
Telling people "you can write code on your phone" is disingenuous.

I get that you are trying to motivate others, but this is not practical, neither helps anyone.
We tell people that starting with Python is better than starting with C++ because it is much easier to start and we don’t want them to lose their motivation.

Most people who have to type a program in their phones will be demotivated in a week.
Of course, if you don’t have any other way to access a computer, do what you have to do to learn.

But if there’s a chance to use a computer, spend the energy there and you’ll be better off for it.
Read 4 tweets
3 Jan
A machine learning workflow:

1. Define the problem
2. Assemble a dataset
3. Determine success metrics
4. Decide on evaluation method
5. Prepare the data
6. Establish a baseline
7. Develop a model that beats the baseline
8. Overfit model
9. Regularize model
10. Tune model
Where's model validation in this workflow?

Notice that steps 8, 9, and 10 presume the existence of a mechanism to evaluate the model. This means that model validation is implicitly part of this workflow.
"Assembling a dataset" focuses on determining what will be the sources of data that we will need to solve the problem.

Before understanding metrics of success, we need to have access to the data that we will be using.

Later, "Preparing the data" focuses on that data.
Read 4 tweets
2 Jan
5 differences between a machine learning system and the software you are building today:

πŸ§΅πŸ‘‡
1. The Team

Usually, a machine learning system needs the involvement of many different disciplines:

- Data Scientists
- Data Engineers
- Machine Learning Engineers

Plus, the same roles that are needed by a conventional software system.

πŸ‘‡
2. The Development Process

Machine learning is a very experimental process. Creating a model requires a lot of exploration, usually not needed in software development.

πŸ‘‡
Read 6 tweets
31 Dec 20
For a long time, I didn't understand how to use Virtual Environments in Python 🐍.

If this is just, let's end it here and now: πŸ§΅πŸ‘‡
[2] Virtual Environments let you deal with the dependencies that your code has with external Python libraries.

It avoids having conflicts when your projects depend on different versions of the same library.

πŸ‘‡
[3] Let's imagine that you are building your first Python project and you install the "requests" library:

pip install requests

You get version 2.24.0 installed in your system.

πŸ‘‡
Read 9 tweets
28 Dec 20
I told everyone that I didn't care.

"Screw math! I've never been great with it, so I'm not starting with machine learning to fail at the end."

That was many years ago.

Math is still hard, but I don't think you should be scared at all. Here is why: πŸ§΅πŸ‘‡
[1] One thing changed my mind: school pushed me to the deep end of the pool, and I was forced to swim.

I had to face my fears, and I started machine learning and realized that the math involved is not as scary (or as much) as some people believe.

πŸ‘‡
[2] Probably one of the most frequent questions I get is around the math needed for machine learning.

Answer:

▫️ Probabilities and Statistics
▫️ Linear Algebra
▫️ Calculus

But it turns out that this is not helpful.

πŸ‘‡
Read 18 tweets
27 Dec 20
I've worked with Dell, HP, IBM, Cisco, HSBC, Disney, G4S, among other large companies.

Don't think for a minute that they have things figured out.

They have amazing development teams. They also have mediocre and straight-horrible teams.

πŸ§΅πŸ‘‡
[2] In my experience, smaller companies tend to be more selective when hiring: they can't afford to make a mistake.

I've found out that these smaller companies build consistently decent teams. (Although they have a harder time hiring talent.)

πŸ‘‡
[3] Larger companies, on the other hand, build teams across many different departments. Maintaining consistency is hard, if not impossible.

I met excellent teams: sharp, organized, building excellent products using state-of-the-art technology.

πŸ‘‡
Read 6 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!