Do you want to start working with Machine Learning?

Let me give you 3 tips that I used to start my journey and that helped me a lot!

[2 min]

1/7🧡
1 - Start by understanding the basic concepts

This Machine Learning Crash Course cover all the basics and terms you'll need to start

Separate a couple of hours and have fun!

developers.google.com/machine-learni…

2/7🧡
This course has been updated many times to keep it fresh and to add more than the basic with:
β€’ Problem Framing
β€’ Data Prep
β€’ Clustering
β€’ Recommendation
β€’ Test and Debug
β€’ GAN

3/7🧡
2 - Prepare an environment to learn and try ideas easily

This could be your own PC but that gives extra work:
β€’ installing and keeping libs up to date
β€’ updating drivers

There's also the cost of having a good HW (w/ GPU) and lot's of space (ML might need GBs of data)

4/7🧡
My suggestion here is to go simpler and use Google Colab: colab.sandbox.google.com

It's a Free web application with:
β€’ access to free VMs
β€’ Zero configuration needed
β€’ Easy sharing
β€’ Access to GPU/TPU

As of today this is my main dev env!

5/7🧡
3 - Create a project to apply what you are learning!

When I started I created an application to detect Android action figures

This led me to understand many things like:
β€’ Dataset and labeling
β€’ Object Detection concepts
β€’ Deploying on-device

to name a few

6/7🧡
In summary, I started my ML journey with:
1 - Machine learning Crash Course
2 - Colab
3- Create a project to apply what I learned

This week I'll keep sharing this content to help you enter the field, follow @gusthema so you don't miss it out

7/7🧡

β€’ β€’ β€’

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

Keep Current with Luiz GUStavo πŸ’‰πŸ’‰πŸŽ‰

Luiz GUStavo πŸ’‰πŸ’‰πŸŽ‰ 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 @gusthema

6 Oct
A common question I get from developers is:

Which programming language do I need to know to start with Machine Learning?
πŸ‘…πŸ€–πŸ§ 

[1 quick⚑️ min]

1/5🧡
The easy answer is: If you know how to code well, that's all you need to start learning ML!

TensorFlow for example enables you to use ML in many languages like C++, Java, Kotlin, Swift, Objective C, JavaScript, Go, Julia, Scala, Ruby, C# and many others

Butβ€¦πŸ‘€

2/5🧡
The more realistic answer: Python🐍

Most of the ML samples, tutorials and content in general you'll see is written in Python

Understanding the basics of the language will definitely make your life MUCH easier

Here is a good place to start: docs.python.org/3/tutorial/

3/5🧡
Read 5 tweets
20 Sep
If you use the internet, there's a big chance that you already experienced the results of a Machine Learning Recommendation System

They, given a list of possibilities and your past choices, suggest items of the list that might interest you

Lets understand more about them

1/6🧡
Recommender Systems have a huge Impact:

β€’ 40% of app install on Google Play πŸ€–β˜ŽοΈ
β€’ 60% of watch time on YouTube 🐢🐱
β€’ 35% on purchases on Amazon πŸ’Έ
β€’ 75% of movie watches on Netflix 🍿

2/6🧡
Recommender Systems are very hard to train/evaluate/deploy:

β€’ Lots of features! 😰😱
β€’ Optimize to multiple objectives ↔️
β€’ Metrics can be misleading πŸ€”
β€’ Require lots of resources to be served πŸ’°πŸ’Έ

3/6🧡
Read 6 tweets
24 Jun
One term that I learned when I started studying ML is Hyperparameter.

What is it?
When should I worry about it?

Let me try to clarify it...

[3 min]

1/9🧡
First, what are the parameters of a ML model?

Those are typically the weights that you end up with after training your model. Example:

If you are creating a model to solve
AX + B = Y

A and B are the parameters you'll find. They are also know as the weights of the model

2/9🧡
Hyperparameters are the values that control the learning process.
Let's suppose we have the code in the image.

Hyperparameters could be: unit (from the Dense layer), learning_rate from the optimizer or even the batch_size

3/9🧡
Read 9 tweets
18 Jun
This week I've been posting about the itertools Python🐍 module.

If you want to improve your coding skills, one way is adding new tools to your toolbox

Itertools enables you to solve problems that would otherwise be absurdly hard to solve.

[2min]

1/7🧡
After you've learned the basic of Python, I'd suggest you go deeper in the collections manipulation:

β€’ Slicing
β€’ Comprehension
β€’ Generators
β€’ Iterators
β€’ Itertools
β€’ map/filter/zip

I've posted about all this content in the past, I can revisit if you'd like

2/7🧡
This week I've explained all functions on the itertools module

Starting by the basic ones:

3/7🧡
Read 7 tweets
17 Jun
Generating combinations and permutations is usually a tricky task in programming.

In Python 🐍, using the itertools library this becomes much easier, less memory intensive and faster!

Let me tell you what I learned with them

[4.45 min]

1/13🧡
Let's suppose you want to create all possible cards of a regular deck. What you have to do is to join:

β€’ All cards ranks: A, 2 to 10, J, Q and K
β€’ The 4 suits: β™₯️♣️♦️♠️

How to generate all cards?

2/13🧡
The operation that can solve this is a cartesian product:

ranks = ['A'] + list(range(2, 11)) + ['J', 'Q', 'K']
suits = ['β™₯️', '♣️', '♦️', '♠️']

all_cards = it.product(suits, ranks)
>>> ('A', 'β™₯️'),('A', '♣️'),('A', '♦️'),('A', '♠️'),...
len(all_cards)
>>> 52

3/13🧡
Read 13 tweets
15 Jun
Following up from my previous thread, let's continue taking a look at some additional itertools methods

Some of them, as you will see, have very similar built-in versions but the key here is: itertools works on iterables and generators that are lazy evaluated collections

1/14🧡
One example is the method islice. It does slicing but for iterables (potentially endless collections). The main difference is that it doesn't accept negative indexes like regular slicing.

numbers = range(10)
items = it.islice(numbers, 2, 4)
>>> [2, 3]

2/14🧡
zip_longest vs zip
both do the same thing: aggregates elements from multiple iterators.

The difference is that zip_longest aggregates until the longest iterator ends while zip stops on the shortest one.

It will fill the missing values with any value you want

3/14🧡
Read 14 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!

:(